From 92737b9923fc4aec8d928ccc0d3d3d8cdef02fef Mon Sep 17 00:00:00 2001 From: Conduction Release Bot Date: Mon, 3 Aug 2026 15:24:22 +0200 Subject: [PATCH] ci: bound every job with timeout-minutes on main The main branch carries the same 7 workflow files as development and they were all still unbounded, so a hang in a release run there could burn a runner for GitHub's 6-hour default. main is not a dead branch: release-workflow.yaml and build-exapp.yaml have run from it as recently as 2026-08-03. Each job now carries a timeout-minutes sibling of runs-on, sized from observed fleet-wide durations (successful + failed executions, skipped excluded): - lint-check (15): n=176, median 0.6 min, max 1.4 min - check-branch (10): n=123, max 0.1 min - create-pr (20): n=152, max 5.6 min - release-management (45): n=26, max 0.7 min - bounded loosely because a spurious release failure is expensive - build (30): no observed runs; docker build Bounds are deliberately loose: a timeout that fires under normal runner contention turns a slow run into a phantom defect. --- .github/workflows/beta-release.yaml | 2 ++ .github/workflows/build-exapp.yaml | 2 ++ .github/workflows/pull-request-from-branch-check.yaml | 2 ++ .github/workflows/pull-request-lint-check.yaml | 2 ++ .github/workflows/push-development-to-beta.yaml | 2 ++ .github/workflows/release-workflow.yaml | 2 ++ .github/workflows/unstable-release.yaml | 2 ++ 7 files changed, 14 insertions(+) diff --git a/.github/workflows/beta-release.yaml b/.github/workflows/beta-release.yaml index e412b50..054b272 100644 --- a/.github/workflows/beta-release.yaml +++ b/.github/workflows/beta-release.yaml @@ -8,6 +8,8 @@ on: jobs: release-management: runs-on: ubuntu-latest + # Observed fleet-wide: n=26 runs, max 0.7 min; bounded loosely at 45 min because a spurious release failure is expensive + timeout-minutes: 45 steps: - name: Checkout Code diff --git a/.github/workflows/build-exapp.yaml b/.github/workflows/build-exapp.yaml index cf8593b..00cfcd0 100644 --- a/.github/workflows/build-exapp.yaml +++ b/.github/workflows/build-exapp.yaml @@ -18,6 +18,8 @@ env: jobs: build: runs-on: ubuntu-latest + # No successful runs observed yet (multi-arch docker build); bounded loosely at 30 min + timeout-minutes: 30 permissions: contents: read packages: write diff --git a/.github/workflows/pull-request-from-branch-check.yaml b/.github/workflows/pull-request-from-branch-check.yaml index 1c264ed..6fdef61 100644 --- a/.github/workflows/pull-request-from-branch-check.yaml +++ b/.github/workflows/pull-request-from-branch-check.yaml @@ -9,6 +9,8 @@ on: jobs: check-branch: runs-on: ubuntu-latest + # Observed fleet-wide: n=123 runs, max 0.1 min + timeout-minutes: 10 steps: - name: Check branch run: | diff --git a/.github/workflows/pull-request-lint-check.yaml b/.github/workflows/pull-request-lint-check.yaml index 4a8c874..000e22f 100644 --- a/.github/workflows/pull-request-lint-check.yaml +++ b/.github/workflows/pull-request-lint-check.yaml @@ -9,6 +9,8 @@ on: jobs: lint-check: runs-on: ubuntu-latest + # Observed fleet-wide: n=176 runs, median 0.6 min, max 1.4 min + timeout-minutes: 15 steps: - name: Checkout repository diff --git a/.github/workflows/push-development-to-beta.yaml b/.github/workflows/push-development-to-beta.yaml index a23f924..ed2628b 100644 --- a/.github/workflows/push-development-to-beta.yaml +++ b/.github/workflows/push-development-to-beta.yaml @@ -12,6 +12,8 @@ on: jobs: create-pr: runs-on: ubuntu-latest + # Observed fleet-wide: n=152 runs, max 5.6 min + timeout-minutes: 20 steps: - name: Checkout Code uses: actions/checkout@v3 diff --git a/.github/workflows/release-workflow.yaml b/.github/workflows/release-workflow.yaml index 2cdb0fa..ac46d78 100644 --- a/.github/workflows/release-workflow.yaml +++ b/.github/workflows/release-workflow.yaml @@ -15,6 +15,8 @@ on: jobs: release-management: runs-on: ubuntu-latest + # Observed fleet-wide: n=26 runs, max 0.7 min; bounded loosely at 45 min because a spurious release failure is expensive + timeout-minutes: 45 steps: - name: Checkout Code diff --git a/.github/workflows/unstable-release.yaml b/.github/workflows/unstable-release.yaml index 9c0d185..59b7a75 100644 --- a/.github/workflows/unstable-release.yaml +++ b/.github/workflows/unstable-release.yaml @@ -8,6 +8,8 @@ on: jobs: release-management: runs-on: ubuntu-latest + # Observed fleet-wide: n=26 runs, max 0.7 min; bounded loosely at 45 min because a spurious release failure is expensive + timeout-minutes: 45 steps: - name: Checkout Code