From 2c29e1a39bae4c6cb67d42d06257e243c75399f3 Mon Sep 17 00:00:00 2001 From: Michel de Graaf Date: Fri, 24 Jul 2026 14:00:08 +0200 Subject: [PATCH] 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. --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c64662..17d4369 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,6 +19,7 @@ env: jobs: lint: name: Lint + timeout-minutes: 10 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -35,6 +36,7 @@ jobs: format: name: Format Check + timeout-minutes: 5 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -49,6 +51,7 @@ jobs: test: name: Test + timeout-minutes: 20 runs-on: ${{ matrix.os }} strategy: matrix: @@ -69,6 +72,7 @@ jobs: e2e: name: End-to-end (soulfind) + timeout-minutes: 15 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4