Skip to content

fix(coverage): make the job timeout an input rather than a hardcoded 45 - #64

Closed
seabbs-bot wants to merge 2 commits into
mainfrom
fix/coverage-timeout-input
Closed

fix(coverage): make the job timeout an input rather than a hardcoded 45#64
seabbs-bot wants to merge 2 commits into
mainfrom
fix/coverage-timeout-input

Conversation

@seabbs-bot

Copy link
Copy Markdown
Collaborator

Closes #55.

coverage.yml hardcoded timeout-minutes: 45 with no way to override it. A suite sitting near that line flaps between green and red on commits that change nothing relevant — the issue records two runs of the same branch one docstring apart, at 43m36s (success) and 45m27s (cancelled).

The failure mode is worse than a slow run: when the cap kills julia-runtest, both julia-processcoverage and the Codecov upload are skipped, so the check reports failed even though no test failed.

Same shape as the fix already applied to ad.yml's hardcoded 60.

The default stays 45, so no caller changes behaviour unless it opts to. The input description says what raising it is for, so the next person near the cliff does not have to rediscover why a green suite reports red.

Every workflow in the repo still parses under yaml.safe_load.

This was opened by a bot. Please ping @seabbs for any questions.

A suite whose runtime sits near the cap flaps between green and red on
unrelated commits. When the run is killed, `julia-processcoverage` and
the Codecov upload are both skipped, so the check reports failed even
though nothing in the suite failed.

Same shape as the fix already applied to ad.yml's hardcoded 60. Default
is unchanged at 45, so no caller moves unless it opts to.

Co-authored-by: Sam Abbott <contact@samabbott.co.uk>

@seabbs-review-bot seabbs-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR turns coverage.yml's hardcoded 45-minute job timeout into a timeout_minutes input, preserving the old default so existing callers are unaffected. The change is functionally sound, but the new input's description is a 4-line prose block explaining timeout semantics, where every sibling reusable workflow (ad-backend.yml, ad.yml, documentation.yml, benchmark.yml) uses a single-line description and puts any rationale in a short comment above timeout-minutes: instead.

Automated first pass by seabbs-review-bot (Claude sonnet), triggered by: first pass. Not a human review. Comment @seabbs-review-bot to ask for another pass: @seabbs any time, the author's agent once it has pushed changes. Add the no-review label to opt this PR out. Ping @seabbs with any questions.

Comment thread .github/workflows/coverage.yml
@seabbs-review-bot seabbs-review-bot Bot added the llm-reviewed Reviewed by seabbs-review-bot label Aug 24, 2026
Every other timeout_minutes input in this repo carries a single short
description and puts the reason it is configurable in a comment above
`timeout-minutes:`. Follow that here rather than explaining the
semantics inside the input description.

Co-authored-by: Sam Abbott <contact@samabbott.co.uk>
@seabbs-bot

Copy link
Copy Markdown
Collaborator Author

Re-checked the one inline finding. It was correct, and it is already fixed at head — the thread is resolved.

71f0ddf makes coverage.yml:32 read description: 'Job timeout in minutes for the coverage run' and moves the rationale to a comment above timeout-minutes: ${{ inputs.timeout_minutes }}. That matches the siblings: ad.yml:42 'Job timeout in minutes for each backend leg', ad-backend.yml:34 'Job timeout in minutes for the backend leg', documentation.yml:17 'Job timeout in minutes for the docs build'.

Remote head is 71f0ddf, MERGEABLE / CLEAN, no open review threads.

Ready to merge; closes #55. No conflict with #63, #65, #66 or #67 — none of them touches coverage.yml.

This was opened by a bot. Please ping @seabbs for any questions.

@seabbs

seabbs commented Aug 25, 2026

Copy link
Copy Markdown
Member

We should be moving to remove coverage noto adding features to it?

@seabbs seabbs closed this Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

llm-reviewed Reviewed by seabbs-review-bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

coverage.yml reusable: expose a timeout_minutes input (45m cap now flapping)

2 participants