Skip to content

Commit 2caf332

Browse files
committed
ci(workflows): add job-level timeout-minutes (Hypatia workflow_audit)
Clears the Hypatia `missing_timeout_minutes` (workflow_audit, medium) findings by giving every normal job a job-level timeout-minutes — 23 jobs across 11 workflows. Generous upper bounds that cap runaway jobs without affecting normal runs: boj-build 10, instant-sync 10, dogfood-gate 15, rhodibot 15, scorecard-enforcer 15, codeql 30, casket-pages 30, hypatia-scan 30, release 30, static-analysis-gate 30, cross-platform 30 Reusable-workflow caller jobs (governance, mirror, scorecard, secret-scanner) are intentionally untouched: GitHub rejects timeout-minutes on a job that calls a reusable workflow via `uses:` — that timeout belongs in the called workflow (hyperpolymath/standards), which is out of scope for this repo. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvsZgNxFbeqfRmrVFNhJ8G
1 parent 89b7f40 commit 2caf332

11 files changed

Lines changed: 23 additions & 0 deletions

.github/workflows/boj-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ on:
1414
jobs:
1515
trigger-boj:
1616
runs-on: ubuntu-latest
17+
timeout-minutes: 10
1718
if: ${{ vars.BOJ_SERVER_URL != '' || secrets.BOJ_SERVER_URL != '' }}
1819
steps:
1920
- name: Checkout

.github/workflows/casket-pages.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ concurrency:
1818
jobs:
1919
build:
2020
runs-on: ubuntu-latest
21+
timeout-minutes: 30
2122
steps:
2223
- name: Checkout
2324
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
@@ -109,6 +110,7 @@ jobs:
109110
name: github-pages
110111
url: ${{ steps.deployment.outputs.page_url }}
111112
runs-on: ubuntu-latest
113+
timeout-minutes: 30
112114
needs: build
113115
steps:
114116
- name: Deploy to GitHub Pages

.github/workflows/codeql.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ permissions:
2323
jobs:
2424
analyze:
2525
runs-on: ubuntu-latest
26+
timeout-minutes: 30
2627
permissions:
2728
contents: read
2829
security-events: write

.github/workflows/cross-platform.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ jobs:
3131

3232
name: ${{ matrix.name }}
3333
runs-on: ${{ matrix.os }}
34+
timeout-minutes: 30
3435

3536
steps:
3637
- name: Checkout

.github/workflows/dogfood-gate.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
a2ml-validate:
2323
name: Validate A2ML manifests
2424
runs-on: ubuntu-latest
25+
timeout-minutes: 15
2526

2627
steps:
2728
- name: Checkout repository
@@ -66,6 +67,7 @@ jobs:
6667
k9-validate:
6768
name: Validate K9 contracts
6869
runs-on: ubuntu-latest
70+
timeout-minutes: 15
6971

7072
steps:
7173
- name: Checkout repository
@@ -115,6 +117,7 @@ jobs:
115117
empty-lint:
116118
name: Empty-linter (invisible characters)
117119
runs-on: ubuntu-latest
120+
timeout-minutes: 15
118121

119122
steps:
120123
- name: Checkout repository
@@ -179,6 +182,7 @@ jobs:
179182
groove-check:
180183
name: Groove manifest check
181184
runs-on: ubuntu-latest
185+
timeout-minutes: 15
182186

183187
steps:
184188
- name: Checkout repository
@@ -237,6 +241,7 @@ jobs:
237241
eclexiaiser-validate:
238242
name: Validate eclexiaiser manifest
239243
runs-on: ubuntu-latest
244+
timeout-minutes: 15
240245

241246
steps:
242247
- name: Checkout repository
@@ -300,6 +305,7 @@ print(f'Valid: {project[\"name\"]} ({len(functions)} function(s))')
300305
dogfood-summary:
301306
name: Dogfooding compliance summary
302307
runs-on: ubuntu-latest
308+
timeout-minutes: 15
303309
needs: [a2ml-validate, k9-validate, empty-lint, groove-check, eclexiaiser-validate]
304310
if: always()
305311

.github/workflows/hypatia-scan.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ jobs:
4343
scan:
4444
name: Hypatia Neurosymbolic Analysis
4545
runs-on: ubuntu-latest
46+
timeout-minutes: 30
4647

4748
steps:
4849
- name: Checkout repository

.github/workflows/instant-sync.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ permissions:
1414
jobs:
1515
dispatch:
1616
runs-on: ubuntu-latest
17+
timeout-minutes: 10
1718
steps:
1819
- name: Trigger Propagation
1920
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v3

.github/workflows/release.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
build:
1919
name: Build Artifacts
2020
runs-on: ubuntu-latest
21+
timeout-minutes: 30
2122
permissions:
2223
contents: read
2324
steps:
@@ -44,6 +45,7 @@ jobs:
4445
changelog:
4546
name: Generate Changelog
4647
runs-on: ubuntu-latest
48+
timeout-minutes: 30
4749
permissions:
4850
contents: read
4951
outputs:
@@ -90,6 +92,7 @@ jobs:
9092
name: Create GitHub Release
9193
needs: [build, changelog]
9294
runs-on: ubuntu-latest
95+
timeout-minutes: 30
9396
permissions:
9497
contents: write
9598
steps:

.github/workflows/rhodibot.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ permissions:
2727
jobs:
2828
rhodibot:
2929
runs-on: ubuntu-latest
30+
timeout-minutes: 15
3031
steps:
3132
- name: Checkout
3233
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

.github/workflows/scorecard-enforcer.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ permissions:
2323
jobs:
2424
scorecard:
2525
runs-on: ubuntu-latest
26+
timeout-minutes: 15
2627
permissions:
2728
security-events: write
2829
id-token: write # For OIDC
@@ -61,6 +62,7 @@ jobs:
6162
# Check specific high-priority items
6263
check-critical:
6364
runs-on: ubuntu-latest
65+
timeout-minutes: 15
6466
steps:
6567
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6668

0 commit comments

Comments
 (0)