Skip to content

ci: add per-job timeout backstops - #34

Merged
winlp4ever merged 1 commit into
mainfrom
ci/job-timeouts
Aug 3, 2026
Merged

ci: add per-job timeout backstops#34
winlp4ever merged 1 commit into
mainfrom
ci/job-timeouts

Conversation

@winlp4ever

Copy link
Copy Markdown
Owner

Context

The repo already runs tests on every push/PR to main (ci.yml: lint-typecheck, unit, browser, build) and already gates the manual release.yml on the full suite + browser tests. So no new workflow is needed.

The one gap vs. our other repos (vcmf/dim0's tests.yml) was no job timeouts — a wedged step (most likely a hung Playwright/chromium page) could hold a runner until GitHub's ~6h default.

Change

Adds timeout-minutes backstops only:

  • ci.yml: lint-typecheck / test-unit / build = 10min, test-browser = 15min
  • release.yml: release job = 25min (full suite + browser + rebuild + npm publish)

Generous vs. actual run times; purely a safety net. No behavioral change to what runs.

Deliberately not adopted

  • smterm's explicit format:check step — pnpm lint (biome check .) already asserts formatting.
  • smterm's cross-OS build matrix — that's for Electron native modules; this is a pure tsup TS library.

Cap every CI job (10min, 15 for the Playwright browser job) and the
release job (25min) so a wedged step can't pin a runner until GitHub's
~6h default. Mirrors the timeout-minutes backstop used in the dim0
Tests workflow.
@winlp4ever
winlp4ever merged commit 465309f into main Aug 3, 2026
4 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