ci: bound the validate job so a stalled step fails fast - #106
Merged
Conversation
PR #104's first run was killed at 6h0m14s, GitHub's default job limit. It had hung in `apt-get update`: all four azure.archive.ubuntu.com entries were `Ign`'d, the fallback to archive.ubuntu.com stalled mid-fetch, and the job sat there for six hours before reporting anything. A green run takes ~10 minutes. Adds a 45m job timeout (generous headroom over a cold-cache run) and a 10m timeout on the apt step itself, which is the step actually observed to hang. A stall now surfaces in minutes instead of occupying a runner for six hours.
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.
#104's first run was killed at 6h0m14s — GitHub's default job limit — without ever reaching compile or test. It had hung in
apt-get update: all fourazure.archive.ubuntu.comentries wereIgn'd, the fallback toarchive.ubuntu.comstalled mid-fetch at 21:14:26, and the job sat there in silence until cancellation at 03:11:58.A green
validaterun takes ~10 minutes. The job had notimeout-minutes, so it inherited the 6h default.Changes
Notes
This makes stalls visible fast; it does not make them stop happening. A flaky mirror will still fail the run — it will just do so in 10 minutes instead of occupying a runner for six hours. If these become frequent, the next step would be retry logic or dropping the apt dependency, but that's more invasive than warranted for something seen once.
Verified the workflow still parses and both timeouts land where intended (
yaml.safe_load→ jobtimeout-minutes: 45, apt steptimeout-minutes: 10, all 15 steps intact). The 6h-hang path itself can't be reproduced on demand — it depends on Ubuntu mirror health.Out of scope, worth a look separately: the
buildjob inrelease-please.ymlhas step-level timeouts (25m, 60m — the SwiftPM backstops) but likewise no job-leveltimeout-minutes. I left it alone because that job legitimately runs long across the platform matrix and I'd be guessing at a safe ceiling.