Commit 6a654fb
fix: mark parent job failed when build times out or is manually cleared (#98)
When cleanUpBuildsThatDidntReportBack marks a build as failed after the
6-hour GitHub Actions timeout, or manualCleanUp marks a build as failed,
the parent job was left in its current state (typically inProgress).
The Ingeminator only processes jobs in "failed" status, so these builds
were never retried. Worse, with maxConcurrentJobs=9 the ghost-inProgress
jobs consumed all queue capacity, blocking all 53 created jobs from
being scheduled.
Three-part fix:
- cleanUpBuildsThatDidntReportBack: call markFailureForJob after marking
build as failed so the Ingeminator picks it up next cycle
- manualCleanUp: same fix for the manual path
- transitionStaleInProgressJobsToFailed: new cleaner step that detects
active jobs where all builds have settled (none are started) and
transitions them to failed, recovering capacity for builds already stuck
Adds CiBuilds.hasAnyStartedBuildsForJob to support the new step.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 9bb8b01 commit 6a654fb
2 files changed
Lines changed: 48 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
63 | 98 | | |
64 | 99 | | |
65 | 100 | | |
| |||
161 | 196 | | |
162 | 197 | | |
163 | 198 | | |
| 199 | + | |
164 | 200 | | |
165 | 201 | | |
166 | 202 | | |
| |||
315 | 351 | | |
316 | 352 | | |
317 | 353 | | |
| 354 | + | |
318 | 355 | | |
319 | 356 | | |
320 | 357 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
129 | 140 | | |
130 | 141 | | |
131 | 142 | | |
| |||
0 commit comments