Skip to content

chore(ci): cap every job with timeout-minutes; cancel superseded PR runs - #15

Merged
chrispezza merged 1 commit into
mainfrom
chore/ci-timeouts
Aug 19, 2026
Merged

chrispezza merged 1 commit into
mainfrom
chore/ci-timeouts

Conversation

@chrispezza

Copy link
Copy Markdown
Contributor

What

  • validate.yml: timeout-minutes: 15 on both validate and validate-plugins (each runs in well under a minute), with a comment on the first noting the 360-minute default risk.
  • validate.yml: workflow-level concurrency (validate-${{ github.ref }}), cancel-in-progress only for pull_request events — pushes to main are never cancelled.

Why

The clownware org Actions pool is being exhausted. Without a cap a hung step runs to GitHub's 360-minute default; superseded PR pushes currently run to completion.

Testing

  • Workflow + dependabot.yml parse-validated with PyYAML; a script asserts every job has timeout-minutes.
  • Declarative config only. Org checks are refused by the billing lock, so this merges on parse validation.

🤖 Generated with Claude Code

validate.yml: timeout-minutes 15 on validate and validate-plugins (both run
in well under a minute); without a cap a hung step runs to GitHub's
360-minute default and burns the org's minutes pool. Workflow-level
concurrency keyed on ref cancels only superseded pull_request runs — main
pushes are never cancelled.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@chrispezza
chrispezza merged commit cd7a37f into main Aug 19, 2026
2 checks passed
@chrispezza
chrispezza deleted the chore/ci-timeouts branch August 19, 2026 07:14
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.

1 participant