Repository navigation
ci: rebalance portable serial tests across seven shards - #253
Merged
Merged
Conversation
Refresh all serial shard weights from green-run timing artifacts, diagnose the 20-minute cancellations as aggregate runtime, and document the balanced membership.
…ebalance rationale
…selecting each acknowledgement by correlation token. The original failing case and later cleanup cases now pass. Partition guard, focused ShellCheck, and whitespace checks pass. Full lifecycle verification stopped later because existing /tmp/fm-fallback-omp permissions are unsafe; that directory was left untouched
Use the measured 91-minute serial suite from PR run 38774522507 to distribute work across seven CI runners. Refresh the duration hints and membership snapshot while keeping each shard serial and the 20-minute timeout unchanged.
Keep this PR limited to the portable serial shard rebalance. The correlation-ID behavior change is a separate fix and can be reviewed on its own.
This reverts commit 3ae8c75.
…ance requirements
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intent
Fix Firstmate CI where portable serial shard 3 grew toward its 20-minute timeout. Diagnose per-script timing across cancelled PR attempts, passing main attempts, and green artifacts; do not rebalance to hide a hang. Keep the 20-minute cap and serial-lane partition, preserve assertions, and root-cause a slow or hanging test if evidence shows one. If aggregate growth is the cause, rebalance measured work toward the documented ~14-minute per-shard budget; if both causes exist, address both. Include cancelled and passing shard-3 timing evidence, run the partition guard, and document membership. Firstmate directed the initial six-shard rebalance and then the seventh shard because 166 scripts measured 91m01.112s total and 15m10.185s average across six. Firstmate, not the captain, approved an inconclusive local Test step for the prior run only. For this PR, all seven actual serial job wall times must be at most 15 minutes with no cancellations; otherwise do not approve CI. Firstmate later authorized keeping the correlation-ID test fix: run 38770719267 failed the merged-PR reply assertion without it, while run 38785253557 passed with it. The test previously selected by result-file sequence, which did not reliably identify the reply for that request. Do not rewrite history or drop commits; add a follow-up that reverses restoration commit 3ae8c75, add a Required test fix section explaining the sequence selection and CI evidence, then revalidate. Keep scope limited to these approved changes.
What Changed
Risk Assessment
✅ Low: The bounded changes preserve serial execution, coverage, assertions, and the timeout while implementing the authorized rebalance and correlation-based reply selection.
Testing
Focused runner tests, live membership checks, the partition guard, and adversarial lane requests passed; a CLI transcript was captured. No full suite, lint, or CI was run. Actual CI durations and the lifecycle test remain unverified.
Evidence: Live runner partition and refusal transcript
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
TMPDIR="$PWD/.test-phase-tmp" bash tests/fm-test-run.test.shbin/fm-test-run.sh --check-coverageExecuted all seven--list --lane portable-serial-Nof7selections and compared their combined membership againstportable-serial.Executed invalid lane requests:portable-serial-1of6,portable-serial-0of7, andportable-serial-8of7.Removed disposable test files and confirmed a clean working tree.✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.