ci: fractional board validation with exact-SHA full gate - #1457
Conversation
|
Important Review skippedToo many files! This PR contains 106 files, which is 6 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configurationConfiguration used: Repository: FastLED/fbuild/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (106)
You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Full CI proof: hosted Apple Silicon and Intel macOS jobs are running in https://github.com/FastLED/fbuild/actions/runs/35914930520. The CH32V203 and ATtiny85 board cells are red because setup-soldr post-job yank-audit timed out after their build steps succeeded; tracked as zackees/setup-soldr#517. Full coverage remains red until that blocker is corrected. |
|
The current exact-SHA |
|
Same-head-SHA routine-cost proof for cff5358: unlabeled run https://github.com/FastLED/fbuild/actions/runs/35920280818 passed with two executed jobs (Linux Check and CI selected coverage), totaling 22.93 runner-minutes. The ci-full run https://github.com/FastLED/fbuild/actions/runs/35914930520 executed 102 jobs totaling 598.82 runner-minutes, so routine use was 3.83% of that full run, comfortably below the 12.5% target. This is raw elapsed runner time, not a billing claim. Full correctness remains RED: CH32V203 and ATtiny85 board jobs failed in the old setup-soldr post-job yank audit, propagating to the full sentinel. setup-soldr #518 is now merged to main but its v0 tag remains unchanged; do not merge/release this PR based on the cost result alone. |
|
Downstream canary at eae134a: the shared full-board template alone now pins merged setup-soldr worker-lifecycle fix f63d8987580fd50667d95b19130e82d9691ddd75 (setup-soldr#517). The ordinary PR/main tier selection is unchanged. Local render-and-diff and all 11 fractional workflow tests pass. I applied ci-full and am checking the full matrix, especially CH32V203 and ATtiny85, before treating this as proven. |
|
Evidence for PR head
Raw runner usage from GitHub job start/end timestamps, summing non-skipped jobs: selected workflow ordinary 21.567 minutes versus full 736.433 minutes. The ten independent PR workflows triggered by the same head update added 16.483 minutes to either tier. Thus the all-workflow comparison is 38.050 / 752.917 = 5.05%, below the 12.5% goal. The superseded canceled selected run 35925053966 is excluded from both sides. These are raw runner minutes, without billing multipliers, and describe PR events at this SHA; main-push cost remains a separate acceptance check. Main branch protection now requires both existing This PR remains draft and unmerged. Current |
|
Integration correction: I restored main branch protection to its original Dylint-only required context (strict=true, GitHub Actions app 15368). Requiring |
|
Final same-SHA label-removal proof: unlabeled run 35930729472 completed SUCCESS at |
|
setup-soldr floating-tag promotion completed safely:
Only the floating |
|
Merged-main measurement for
The ordinary |
Scope
Migrates generated board CI to an ordinary
ci-minimalLinux gate, literalci-test(Linux plus Uno), and opt-inci-fullwith 76 distinct board executions representing all 80 aliases plus Linux/Windows, Dylint, QEMU, acceptance, benchmark, and fmt/docs/MSRV/board/crate policy checks. The generator remains the source of truth, and full/release paths verify the requested exact SHA. Unlabeled board workflows are manual/reusable only, avoiding the previous per-board PR/main fan-out.This is a draft under zackees/soldr#3345. Publication intentionally fails closed until a trusted physical-board runtime result exists; no tag or release should be created from this PR. Live
ci-test/ci-fullruns and matched PR/main runner-minute measurements are still required before merge. Independent policy checks remain separately required in branch protection alongsideCI selected coverage.Local evidence: 19 focused tests and 95 subtests passed; generated workflow drift check and whitespace check passed. Independent pre-push review found no high-severity correctness issue. The local
.venvhas an unrelated setuptools warning, so tests were run viauv run --no-project --with pytest --with pyyaml.