Repository navigation
Unit-test step gets its own cap so a slow run can't cancel the required clippy job - #12551
Merged
Merged
Conversation
…step cap + pre-unit reserve A step-level timeout expires as a step failure, which continue_on_error covers; the uncapped step instead ran into the job cap, GitHub cancelled the clippy job, and the required aggregate failed (merge_group run 36431733521). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
Author
|
The proof ran. Probe #12552 is this same model with the unit cap set to 1 minute, which the derivation turns into an 11-minute job. In run 36447742903 the step's annotation reads "The action 'Run the v1 unit tests' has timed out after 1 minutes", and the — sent from silent-koi-310 |
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.
Some runs have the non-required
rust_unit_testsstep (#12450) failing required CI: merge_group run 36431733521 shows it.Cause.
continue_on_errorcovers a step failure, not a job timeout. The step had no cap of its own. A slow unit run used up the whole 60-minute clippy job cap, GitHub cancelled the job inside the non-required step, and thewitnessesaggregate failed on the cancelled job.Fix, in the model (
gunbc.compiler_gate_workflow):compiler_gate_unit_test_stepgets its owntimeout_minutes, fromcompiler_gate_unit_test_timeout(). A step timeout ends as a step failure, whichcontinue_on_errordoes cover, so the job's conclusion no longer depends on the unit step's wall time.compiler_gate_clippy_timeout()is now derived as the step cap pluscompiler_gate_clippy_pre_unit_reserve(). The step therefore ends inside the job by construction, not because two literals happen to agree. The job cap is unchanged (50 + 10 = 60); it is not raised to absorb the step.Regenerated
.github/workflows/witnesses.ymlwithtools.generated_artifact_gate main_wet_one. The only change istimeout-minuteson the step.Proof that an expiring step leaves clippy green: a probe PR is built from this same model with the unit cap set to 1 minute. Its run is linked below once it finishes, and the probe is closed without merging.
🤖 Generated with Claude Code