ci: bound the apt steps so a slow mirror cannot hang a run - #1407
Merged
Conversation
`Install sqlite3` held the scripts-smoke job open for over an hour on two consecutive main runs while every other job had already gone green, so neither run ever reported and main went without a signal. The step had no timeout, so a stalled apt-get would have burned the six-hour job default before failing. Both apt steps now carry a five-minute timeout and skip the install when the runner image already ships the tool, which is the common case. The shellcheck step runs its own apt-get update rather than inheriting one from the step above, which no longer always runs. A failing install still fails the step: the short-circuit only covers the tool already being present. release.yml carries the same job and had the same two unbounded steps, so it is fixed alongside; a release cut could have stalled the same way.
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.
Install sqlite3in the scripts-smoke job held two consecutive main runs open for over an hour each while every other job had already gone green, so neither run ever reported andmainwent without a signal. The step had no timeout, so a stalledapt-getwould have burned the six-hour job default before failing.What changed
ci.ymlandrelease.ymlcarrytimeout-minutes: 5and skip the install when the runner image already ships the tool, which is the common case.apt-get updaterather than inheriting one from the step above, which no longer always runs.release.ymlcarries the same job and had the same two unbounded steps, so a release cut could have stalled the same way.Impact
CI only. A failing install still fails the step: the short-circuit covers the tool already being present, nothing else.
Verification
actionlintat the pinned version CI uses, both workflow files parse, job counts unchanged (9 and 14), and thedocs/09§9.6 job-table gate passes.