CI: the code-coverage job's timeout-minutes is 30, tighter than the pl - #289
Merged
1-Bart-1 merged 1 commit intoSep 11, 2026
Merged
Conversation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P5dYbSWfoT161rTHnoc2RB
1-Bort-1
commented
Sep 9, 2026
1-Bort-1
left a comment
Contributor
Author
There was a problem hiding this comment.
Independent review (advisory)
Verdict: APPROVE WITH COMMENTS · 0 inline, 0 off the diff
Good
- Raises only the coverage job timeout to 50, keeping the plain
testjob unchanged, matching the PR card's one-idea scope. - The number is backed by data: cold coverage runs land at 26–28 minutes against a 30-minute cap, so 50 restores a safety margin comparable to the plain job's 40-minute cap.
- No Julia code, docs, or dependencies are touched; only
.github/workflows/CI.ymlline 76 changes.
Not good
- The coverage job still runs on draft PRs while the plain
testjob skips them; the PR card notes this but leaves the inconsistency in place. - 50 minutes is generous enough that a genuinely hung suite now wastes more runner time before the runner kills it.
opencode, rubric CLEAN_CODE.md. A different lab from the implementer
on purpose: a reviewer sharing its blind spots would not flag its mistakes.
Contributor
Author
|
Local full suite: PASS (9 min, Julia 1.12.7, one cell of the matrix) |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
1-Bart-1
approved these changes
Sep 11, 2026
1-Bart-1
deleted the
agent/288-ci-the-code-coverage-job-s-timeout-minut
branch
September 11, 2026 20:40
6 tasks
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.
TL;DR
test-with-code-coveragehadtimeout-minutes: 30while the plaintestjob, which does strictly less work, had 40 — so the slower job was the one that got killed. Raised the coverage job to 50.What the cap was actually cutting off
The job that was cancelled on #285 had finished. Attempt 2 of run 34401975496,
Julia 1.12 - ubuntu-latest - x64 - with code coverage: every step reportssuccess,Complete jobincluded, and the job iscancelledat 30m01s withThe job has exceeded the maximum execution time of 30m0s.The steps of that attempt: setup, cache and buildpkg 1m02s ·
julia-runtest28m15s ·julia-processcoverage0m24s ·codecov0m02s · post-steps 0m15s. That is ≈29m58s of work against a 30m00s cap. Inside the 28m15s ofjulia-runtest, the suite itself was 10m06s (6304 passed, 1 broken, 0 failed); the other ~18 minutes were the cold precompile of the test environment after ajulia-actions/cache@v2miss.So this is not one unlucky run. Over the last 11 CI runs the coverage jobs land at 9, 10, 10, 10, 10, 12, 14, 14, 14, 16, 16, 17, 20, 20, 21, 26, 27, 28, 28 and 28 minutes — warm around 10–16, cold around 26–28. Three green runs came within two minutes of the cap. The plain
testubuntu jobs over the same runs take 21–29 minutes under their 40-minute cap, so the job doing less work had the more generous margin.I went with 50 rather than 40 because 40 would only restore parity with the plain job, and the coverage job adds instrumentation,
julia-processcoverageand the Codecov upload on top of the same suite. 50 against a 28-minute cold run is roughly the margintestalready has at 40 against 29.The failure mode this removes is worth naming: the check goes red with the suite entirely green, which reads at a glance exactly like a real test failure — the same PR had a genuine one (#287) two attempts earlier.
Found while reading the file
test-with-code-coveragehas noif: github.event_name != 'pull_request' || github.event.pull_request.draft == falseguard, so it runs on draft PRs whiletestskips them. That is a behaviour change, not a timeout fix, so it is not in this diff.fail-fast: falseon both jobs is #279 and untouched here.Verification
cancelledat 30m01s with all stepssuccess; attempt 1failureat 16m05s, attempt 3successat 10m17sagent ci-local): PASS in 9mJulia 1.12coverage job took 28m18s — green, and 1m42s inside the cap it used to run under. The1.11coverage job took 21m54s; the plaintestubuntu jobs 27m11s and 25m43s.mainat 3f75701, no conflictScope
+1 / -1 in
.github/workflows/CI.yml, one integer. No stack.Closes #288 · task
VortexStepMethod.jl-288