← ClaudeAtlas

qol-arch-cicdlisted

Use when authoring or modifying CI / release workflows (`.github/workflows/*.yml`), `Cargo.toml`, or `Cargo.lock` in the qol-monorepo. Encodes the cross-platform infrastructure contract that prevents CI/release parity failures: platform matrices derived from `plugin.toml` `platforms`, strictness parity between CI and release builds (both `-D warnings` and `--locked`), conditional dependencies expressed as `[target.'cfg(target_os = ...)'.dependencies]` rather than as cfg gates in source. Triggers on edits to workflow YAML, on changes to `Cargo.toml` `[dependencies]` / `[target...]` sections, on a stale or regenerated `Cargo.lock`, and on the words "release pipeline", "plugin CI", "matrix build", "RUSTFLAGS", "lockfile", "--locked". For the code patterns the matrix exists to catch, see `qol-arch-code` and `qol-arch-cross-platform`.
qol-tools/qol-skills · ★ 0 · DevOps & Infrastructure · score 62
Install: claude install-skill qol-tools/qol-skills
# qol-arch-cicd: Cross-Platform CI/CD Infrastructure Contract ## Why this skill exists The two sibling skills (`qol-arch-code`, `qol-arch-cross-platform`) try to prevent cross-platform breakage at edit time. Static analysis can only see so much. The **deterministic, can't-be-bypassed** catch is **building on every supported OS in CI, with warnings denied**. The pre-monorepo history shows the cost when this slips: a qol-tray release once failed on its tag with green CI behind it because the release workflow had drifted from `ci.yml`, and sixteen `dead_code` errors reached `main` (`d797294`) because plugins declaring `platforms = ["linux", "macos"]` were only ever built on Linux. The monorepo removed the multi-workflow drift class (one checkout, workspace deps), but platform coverage and warning parity still have to be enforced deliberately. ## Hard rules ### 1. Platform coverage derives from `plugin.toml` `platforms` Release builds resolve their matrix from the plugin's declared `platforms` (`.github/scripts/plugin_matrix.py`), and CI's affected-crate planning reads the same field. | Plugin platform | Runner | |---|---| | `linux` | `ubuntu-latest` | | `macos` | `macos-latest` | | `windows` | `windows-latest` | No matrix-padding for OSes the plugin doesn't claim - macOS runners cost ~10x Linux, and red builds on platforms a plugin never meant to support train the reader to ignore red. Never hardcode a runner list for plugin builds; if a plugin's platform set changes, `p