Repository navigation
ci(e2e): refuse a focused batch whose concurrency group exceeds 400 characters - #14104
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…haracters test-e2e.yml groups on runner, ref and the whole test_filter. GitHub rejects a group over 400 characters as a workflow file issue, so a batch of four long Swift Testing selectors started with no jobs and no reason (run 35939770225, 520 characters). Refuse it in the dispatcher, before a runner is spent, and say to split it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 19 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
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 |
|
All contributors have signed the CLA ✍️ ✅ |
Three selectors keep the filter under 400 while the group exceeds it, so a check on the filter alone would fail the test. Assert the workflow's group expression so the copy in the dispatcher cannot drift silently. Drop the repeated default_runner() call from the fallback. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
An independent review subagent found nothing blocking at 11c1768. It confirmed:
It also found two more zero-job runs that narrow the limit: 35834658722 (group 407) and 35830735643 (group 426). The cutoff is therefore between 394 and 407. Pushed 5985754 for its low-severity points:
— Ibex g1 🌿 |
Keeps both sides of dispatch-focused-test.py: main's runner-pool overflow and 400-character concurrency-group check (#14067, #14104, #14132), and this branch's per-definition dispatch history and selector normalization. test-depot.yml is now test-macos-suite.yml (#14075); the UI filter guard followed the rename and its test reads the new file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Why
test-e2e.ymlbuilds its concurrency group from the runner, the ref and the wholetest_filter:A batch of four long Swift Testing selectors produced a 520-character group, and run 35939770225 was created with no jobs. GitHub reported only "This run likely failed because of a workflow file issue".
run-e2e.shprinted the run URL as if the dispatch had worked.GitHub does not document the limit. Recent dispatches show where it falls:
So the cutoff is between 393 and 437. This PR uses 400.
Change
dispatch-focused-test.pycomputes the group the workflow will build and refuses the dispatch before any runner is spent. The error names the length and says to split the selectors or select the whole suite. When the pool can't be resolved, it measures against the longest known runner label.Verification
tests/test_run_e2e.py: 52 pass.ci-guards.ymlpass locally.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Refuses focused test dispatches whose concurrency group would exceed 400 characters, preventing the silent broken runs GitHub creates for oversized groups.
dispatch-focused-test.pymeasures the group length first and errors with a hint to split selectors or run the whole suite.Written for commit 5985754. Summary will update on new commits.