Repository navigation
ci(test-lanes): run lane-transcripts on any workflow change - #13658
Conversation
scripts/lane-transcripts/pull.test.mjs reads every workflow's upload-lane-transcript calls, but the planner selected the package only for files under its own directory. #13632's merge group changed only .github/workflows/ and skipped the suite, and main went red. The package now declares .github/workflows/ as a trigger in OUTSIDE_TRIGGERS, the same map pr-verify and lane-run-report use. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
claude-security-review reviewed Security review: PR #13658 found no security issuesI read every hunk of both changed files: What the change does: it adds one entry to the test planner's Security assessment:
Spend: pull requests and merge-group runs that change critical-findings: 0 |
|
claude-review reviewed Code review: no findingsI read every hunk of both changed files: What changed. Correctness. I checked the change against the code it feeds:
Closing issue. None. The PR says it is a follow-up to #13642 and states no acceptance criteria, so there is nothing to check against an issue. Verification. I had no shell, so I did not run anything. The author reports Spend. Every PR that touches |
… a workflow change (#13925) No related issue: ledger L377 (test selection misses suites that read every workflow), left from #13642, #13645 and #11154 ## Summary `scripts/plan-test-lanes.sh` selected a test package on a workflow change only when one of its suites named that workflow file. Six packages have suites that list `.github/workflows/` and check every workflow, so a change to a workflow no suite names skipped them. For example, `-- .github/workflows/maintenance-delete-stale-branches.yml` selected only branch-cleanup and lane-transcripts on main. ## Fix - `.github/workflows/` is added to resolve-config's SUBPROJECTS line, and OUTSIDE_TRIGGERS rows are added for check-signed-commits, check-wip-cap, log-api-budget, `.github/scripts/lib` and pr-merge. This is the selector's existing mechanism for the same gap (#13658). - A generic scan was not used: a suite that lists the directory names no workflow, and the listing calls vary (a `readdirSync` grep missed `pull.test.mjs`). ## Verification - `scripts/plan-test-lanes.test.sh`: 60 of 60 pass. Against the old planner the extended suite gives 58 pass and 2 fail: "a workflow no suite names runs every package whose suites read every workflow", and the pr-verify.yml case. - Probe after the fix: `-- .github/workflows/maintenance-delete-stale-branches.yml` selects all eight packages. - `selection-audit.test.sh` 20 of 20; the three Node suites that mention the planner 256 of 256; shellcheck clean. ## Related - #13658 added the trigger table rows for the lane-transcripts case of this gap. ## Follow-ups - Pre-existing (advisory): the fix is per package, so a new suite that lists the workflows directory will be missed again, the second time after #13658. A `// test-scope:` declaration for Node suites (affected-tests.sh R8 accepts only `#` comments today) would close it for good. - Pre-existing (advisory): every workflow change now also runs these six packages, including resolve-config's large callers.test.mjs; the added wall time is not measured. session: automation-lanes 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: melodic-automation-lanes[bot] <337595936+melodic-automation-lanes[bot]@users.noreply.github.com>
No related issue: hub follow-up L377 from #13642's Follow-ups (the select-tests gap behind the 2026-11-06 red main).
Summary
scripts/lane-transcripts/pull.test.mjsreads every workflow'supload-lane-transcriptcalls (pull.test.mjs:189-214), butplan-test-lanes.shselected the package only for files underscripts/lane-transcripts/. #13632's merge-group run 42147317467 changed only.github/workflows/, skipped the suite, and main went red (fixed by #13642).Fix
scripts/plan-test-lanes.sh:scripts/lane-transcriptsdeclares.github/workflows/as a trigger inOUTSIDE_TRIGGERS, the existing mappr-verifyandlane-run-reportuse to name the workflows their tests read.scripts/plan-test-lanes.test.sh: the fixture lists the package; new cases assert any workflow change selects it and a change outside.github/workflows/does not; two package counts move from 7 to 8.Verification
bash scripts/plan-test-lanes.test.sh: PASS=60 FAIL=0.bash scripts/plan-test-lanes.sh -- .github/workflows/post-merge-test-mutation.yml:node_packagesnow ends withscripts/lane-transcripts,unmapped=0.Related
🤖 Generated with Claude Code