Skip to content

ci: add job timeouts - #4

Merged
jab3z merged 1 commit into
mainfrom
ci/job-timeouts
Oct 20, 2026
Merged

jab3z merged 1 commit into
mainfrom
ci/job-timeouts

Conversation

@jab3z

@jab3z jab3z commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Requested by dacian · project thread

Before: these jobs had no timeout-minutes, so a hung step kept running (and billing) for up to GitHub's 360-minute default. One hung run in the org billed 562 minutes.

After: each job stops after a timeout sized to how long it actually takes.

How: each value is 3× the longest of the job's last 15 runs, rounded up to 5 minutes, with a 10-minute floor. Claude agent jobs get at least 30 minutes. Jobs with no recent runs get 15 minutes for lint/check-style jobs and 30 for the rest. Only timeout-minutes lines are added; nothing else changes.

File Job Timeout Basis
code-quality.yml linting 15 min no recent runs
code-quality.yml test 30 min no recent runs
python-publish.yml deploy 30 min no recent runs

🤖 Generated with Claude Code

https://claude.ai/code/session_0199yrnCdqP6gnaFj5SS5Jkw


Generated by Claude Code

Jobs without timeout-minutes inherit GitHub's 360-minute default, so a
hung step can bill for hours. Each timeout is about 3x the longest
recent run, with a 10-minute floor.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0199yrnCdqP6gnaFj5SS5Jkw
@jab3z jab3z self-assigned this Oct 15, 2026
@jab3z
jab3z marked this pull request as ready for review October 16, 2026 16:56
@jab3z
jab3z merged commit f87fa86 into main Oct 20, 2026
3 checks passed
@jab3z
jab3z deleted the ci/job-timeouts branch October 20, 2026 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants