ci: bound job runtime so a hung e2e cannot stall a release

The e2e suite talks to a real soulfind server over the network. On 298ec5a
it stopped responding and sat in_progress for over half an hour with every
other job green. No job declared timeout-minutes, so GitHub's six hour
default applied: six hours of runner time, and six hours during which the
new release gate correctly refuses to publish.

Limits are sized well above observed runtimes (lint ~1m, fmt ~15s, test
~2m, e2e ~1m) so they only fire on a genuine hang. A hang now surfaces as a
bounded red run that can be re-run, rather than an unbounded one.

This does not address why e2e hangs; it stops that from being unbounded.
This commit is contained in:
Michel de Graaf
2026-07-24 14:02:12 +02:00
parent 37d146b907
commit 2c29e1a39b
+4
View File
@@ -19,6 +19,7 @@ env:
jobs: jobs:
lint: lint:
name: Lint name: Lint
timeout-minutes: 10
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@@ -35,6 +36,7 @@ jobs:
format: format:
name: Format Check name: Format Check
timeout-minutes: 5
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@@ -49,6 +51,7 @@ jobs:
test: test:
name: Test name: Test
timeout-minutes: 20
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
@@ -69,6 +72,7 @@ jobs:
e2e: e2e:
name: End-to-end (soulfind) name: End-to-end (soulfind)
timeout-minutes: 15
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4