You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
rule: require CARGO_BUILD_JOBS / SOLDR_JOBS to be unset in workflows #30
In zackees/zccache the Integration prebuild (cargo test --no-run, compile only) was pinned to 1 job. That made the slowest PR job's biggest step (median 7.3 min) run on one core of a multi-core runner. Pinning a number ("4") is also wrong: it goes stale when runner sizes change. Left unset, cargo and soldr already default to every available core. Fixed in zackees/zccache#1800.
Proposal
Add a rule that flags CARGO_BUILD_JOBS and SOLDR_JOBS (and -j/--jobs on cargo/soldr command lines) set anywhere in a workflow or composite action: workflow-, job- or step-level env, or exported in run:.
They should be unset by default.
Allow an explicit, justified exception, e.g. a trailing # ci-lint: allow <RULE> <reason> comment. A step that runs timing-sensitive tests might legitimately serialize.
The rule must match setting lines only, not comments that mention the variable names.
Implemented as ci_lint rule GEN-012 in #57 (squash-merged). Static text-scan rule flags CARGO_BUILD_JOBS/SOLDR_JOBS in env: (workflow/job/step) or run: exports, and -j/--jobs on cargo/soldr command lines, with a same-line # ci-lint: allow GEN-012 <reason> escape hatch. RED/GREEN fixtures in ci_lint/tests/fixtures/GEN-012; documented in docs/policy-general.md and AGENTS.md's rule registry. Verified zackees/template-python-rust-cmd (pulled fresh) has zero GEN-012 findings -- no template PR needed.
Activity
zackees commentedon Sep 29, 2026
Implemented as ci_lint rule GEN-012 in #57 (squash-merged). Static text-scan rule flags CARGO_BUILD_JOBS/SOLDR_JOBS in env: (workflow/job/step) or run: exports, and -j/--jobs on cargo/soldr command lines, with a same-line
# ci-lint: allow GEN-012 <reason>escape hatch. RED/GREEN fixtures in ci_lint/tests/fixtures/GEN-012; documented in docs/policy-general.md and AGENTS.md's rule registry. Verified zackees/template-python-rust-cmd (pulled fresh) has zero GEN-012 findings -- no template PR needed.