Skip to content

ci: add timeout-minutes to all jobs and concurrency to gitignore-in.yml#890

Merged
kitsuyui merged 1 commit into
mainfrom
fix/ci-workflow-missing-timeout-minutes-001
Jul 11, 2026
Merged

ci: add timeout-minutes to all jobs and concurrency to gitignore-in.yml#890
kitsuyui merged 1 commit into
mainfrom
fix/ci-workflow-missing-timeout-minutes-001

Conversation

@kitsuyui

Copy link
Copy Markdown
Member

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 no concurrency guard, 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 + concurrency group (schedule workflow)
  • happy.yml, spellcheck.yml: timeout-minutes: 10 (lightweight check jobs)

Concurrency for gitignore-in.yml uses cancel-in-progress: false so an already-running update is allowed to finish; a queued duplicate run is cancelled instead.

Verification

  • actionlint reports no issues across all six workflow files.
  • bun run lint passes (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.

- 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.
@kitsuyui kitsuyui force-pushed the fix/ci-workflow-missing-timeout-minutes-001 branch from db97479 to 72b9c85 Compare July 11, 2026 05:29
@github-actions

Copy link
Copy Markdown

Code Metrics Report

main (b325cd6) #890 (c835506) +/-
Coverage 97.5% 97.5% 0.0%
Code to Test Ratio 1:1.1 1:1.1 0.0
Test Execution Time 20s 16s -4s
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

@kitsuyui kitsuyui merged commit 9f073c2 into main Jul 11, 2026
5 checks passed
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