Repository navigation
Conversation
…un watched Six path-filtered workflows ran on push to every branch as well as on pull_request, so each commit to a PR branch that touched their paths started them twice. #867 does the same fix for the nine unfiltered document gates; these are the rest: conformance-frame-alignment, gates-can-fail, reachability-ratchet, rtl-check, tri-build and trinet-portability now push on main only. That alone would have opened a hole. Five of the six listed their own workflow file under push paths and not under pull_request paths, and trinet-portability also left out conformance/portability_check.py. So far the push run on the PR branch was the only run that tested an edit to those files; with push on main only, such a PR would reach main untested. Their pull_request paths now hold every push path. Three workflows already had that hole on main, with push on main only: conformance-selftest and gf-adder-ref-tb left out their workflow file, and fpga-regression left out its workflow file and src/tri/tri_sacred_fpga.zig. Fixed the same way. Measured with `speed doubles` (a pure-text classifier in the build-speed loop's tooling; 16 fixtures), on .github/workflows: main 57de4a1 DOUBLE_ON_PR 15, PR_BLIND 3, OK 99/122 this branch DOUBLE_ON_PR 9, PR_BLIND 0, OK 108/122 plus #867 DOUBLE_ON_PR 0, PR_BLIND 0 (the nine left are #867's) Not changed here: four workflows push on globbed branches (brain-ci v*/feat/*/fix/*/refactor/*, codegen ralph/dev-*, fpga-formal and fpga-formal-comb fix/**/feat/**) and also run on PRs, so a PR from a matching branch still runs them twice. Whether those branch pushes are wanted without a PR is the owner's call. research/audit_workflow_paths.py --verbose on this branch: 122 workflows, 0 dead paths entries. Refs #851 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ℹ️ No FPGA-VERIFY-SUMMARY line — no metric, no percentage (#648) |
ℹ️ No FPGA-VERIFY-SUMMARY line — no metric, no percentage (#648) |
X Brain Health CheckScore: 100.0/100 X Brain is above merge threshold |
ℹ️ No FPGA-VERIFY-SUMMARY line — no metric, no percentage (#648) |
ℹ️ No FPGA-VERIFY-SUMMARY line — no metric, no percentage (#648) |
🧪 Brain Stress Test ResultsScore: not measured (no stress test prints a Score: line) X Stress test passed |
9477f0f to
6545316
Compare
Summary by t27-beesWorth a look
Read: 9 files, +27 -2, the whole diff. Head |
Closes #875. Part of #851.
What changes
Nine workflows,
on:blocks only. No job changes.pushpull_requestpaths addedmainmainmainmainmainmainconformance/portability_check.pymain,develop)src/tri/tri_sacred_fpga.zigmain)main)Each added path list carries the comment
# every push path, so a PR that touches only one of them still runs this.Why both halves
The first six ran on push to every branch and on
pull_request, so a commit to a PR branch started them twice. Narrowingpushto main fixes that, but on its own it opens a hole. Five of the six listed their workflow file underpushpaths only, so the push run on the PR branch was the only one that tested an edit to the workflow itself. The last three already had that hole on main.Measured
speed doubles(a text classifier overon:blocks, 16 fixtures, in the build-speed loop's tooling) on.github/workflows:The nine left on this branch are exactly the nine document gates that #867 changes.
Other checks on this branch:
YAML.load_fileparses all nine files.research/audit_workflow_paths.py --verbosereports 122 workflow files and 0 dead paths entries.git merge-treeis clean against main,ci/gates-push-main(ci: run the nine document gates on push to main only #867) andci/concurrency-groups(ci: give the 102 push workflows a dispatch-safe concurrency group #870).Not measured
DOUBLE_ON_PRworkflows, but that count includes ci: run the nine document gates on push to main only #867's nine, and minutes per run differ.Left alone
Four workflows push on globbed branches and also run on PRs, so a PR from a matching branch still runs them twice: brain-ci, codegen, fpga-formal and fpga-formal-comb. Whether those branch pushes are wanted without a PR is the owner's call. A repo-level gate for these classes waits for #870 (see #875).
🤖 Generated with Claude Code