ci: add timeout-minutes to all jobs and concurrency to gitignore-in.yml#890
Merged
Merged
Conversation
- Add timeout-minutes: 30 to test and octocov jobs (Cypress E2E workflows) - Add timeout-minutes: 20 to publish job - Add timeout-minutes: 15 to update-gitignore job - Add timeout-minutes: 10 to happy and spellcheck jobs - Add concurrency group to gitignore-in.yml (schedule workflow with write permissions was the only workflow missing concurrency control) Prevents runners from being occupied for up to 6 hours on hung jobs, and prevents duplicate PR creation if the daily gitignore update cron overlaps with a previous run.
db97479 to
72b9c85
Compare
Code Metrics Report
Details | | main (b325cd6) | #890 (c835506) | +/- |
|---------------------|----------------|----------------|------|
| Coverage | 97.5% | 97.5% | 0.0% |
| Files | 2 | 2 | 0 |
| Lines | 82 | 82 | 0 |
| Covered | 80 | 80 | 0 |
| Code to Test Ratio | 1:1.1 | 1:1.1 | 0.0 |
| Code | 257 | 257 | 0 |
| Test | 288 | 288 | 0 |
+ | Test Execution Time | 20s | 16s | -4s |Reported by octocov |
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.
Summary
All six GitHub Actions jobs were missing
timeout-minutes, leaving GitHub's default 6-hour limit in place. In addition,gitignore-in.yml— the only scheduled workflow with write permissions (contents: write,pull-requests: write) — had noconcurrencyguard, allowing duplicate runs to create conflicting PRs.Changes
test.yml,octocov.yml:timeout-minutes: 30(Cypress E2E jobs)publish.yml:timeout-minutes: 20(build + gh-pages deploy)gitignore-in.yml:timeout-minutes: 15+concurrencygroup (schedule workflow)happy.yml,spellcheck.yml:timeout-minutes: 10(lightweight check jobs)Concurrency for
gitignore-in.ymlusescancel-in-progress: falseso an already-running update is allowed to finish; a queued duplicate run is cancelled instead.Verification
actionlintreports no issues across all six workflow files.bun run lintpasses (only a pre-existing biome deprecation warning unrelated to this change).Trade-offs
Timeouts are conservative estimates; the actual wall-clock for Cypress E2E on the current hardware is well under 10 minutes. If a slower runner tier is introduced later, timeouts may need upward adjustment.