Skip to content

Commit ef1e235

Browse files
committed
ci: add timeout-minutes to all runs-on jobs (Hypatia hardening)
Adds timeout-minutes to every runs-on job across the workflow suite that lacked one (27 jobs, 12 files); reusable-workflow-call jobs are exempt (GitHub rejects job-level timeout-minutes there). Clears the bulk of the Hypatia missing_timeout_minutes findings. Lint/policy jobs 10m, build/ test/scan 20m, heavy chapel/e2e/release jobs 45m. https://claude.ai/code/session_01K2TJLeQSyz4tpydZ18aRcb
1 parent 4dc4aca commit ef1e235

12 files changed

Lines changed: 27 additions & 0 deletions

.github/workflows/boj-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ permissions:
99
jobs:
1010
trigger-boj:
1111
runs-on: ubuntu-latest
12+
timeout-minutes: 10
1213
steps:
1314
- name: Checkout
1415
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

.github/workflows/cargo-audit.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616
audit:
1717
name: Cargo Audit
1818
runs-on: ubuntu-latest
19+
timeout-minutes: 20
1920
steps:
2021
- name: Checkout code
2122
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5

.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: 20
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: 10
112114
needs: build
113115
steps:
114116
- name: Deploy to GitHub Pages

.github/workflows/chapel-ci.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ jobs:
6565
detect-relevant-changes:
6666
name: detect-relevant-changes
6767
runs-on: ubuntu-22.04
68+
timeout-minutes: 10
6869
outputs:
6970
relevant: ${{ steps.f.outputs.relevant }}
7071
steps:
@@ -99,6 +100,7 @@ jobs:
99100
needs: detect-relevant-changes
100101
if: needs.detect-relevant-changes.outputs.relevant == 'true'
101102
runs-on: ubuntu-22.04
103+
timeout-minutes: 45
102104
steps:
103105
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
104106
- name: Install Chapel ${{ env.CHAPEL_VERSION }}
@@ -121,6 +123,7 @@ jobs:
121123
needs: [detect-relevant-changes, chapel-parse-check]
122124
if: needs.detect-relevant-changes.outputs.relevant == 'true'
123125
runs-on: ubuntu-22.04
126+
timeout-minutes: 45
124127
steps:
125128
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
126129
- name: Install Chapel ${{ env.CHAPEL_VERSION }}
@@ -151,6 +154,7 @@ jobs:
151154
needs: [detect-relevant-changes, chapel-build]
152155
if: needs.detect-relevant-changes.outputs.relevant == 'true'
153156
runs-on: ubuntu-22.04
157+
timeout-minutes: 45
154158
steps:
155159
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
156160
- name: Install Chapel ${{ env.CHAPEL_VERSION }}
@@ -175,6 +179,7 @@ jobs:
175179
needs: [detect-relevant-changes, chapel-build]
176180
if: needs.detect-relevant-changes.outputs.relevant == 'true'
177181
runs-on: ubuntu-22.04
182+
timeout-minutes: 45
178183
steps:
179184
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
180185
- name: Install Chapel ${{ env.CHAPEL_VERSION }}
@@ -211,6 +216,7 @@ jobs:
211216
needs: detect-relevant-changes
212217
if: needs.detect-relevant-changes.outputs.relevant == 'true'
213218
runs-on: ubuntu-22.04
219+
timeout-minutes: 45
214220
steps:
215221
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
216222
- uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
@@ -231,6 +237,7 @@ jobs:
231237
needs: [detect-relevant-changes, chapel-build]
232238
if: needs.detect-relevant-changes.outputs.relevant == 'true'
233239
runs-on: ubuntu-22.04
240+
timeout-minutes: 45
234241
steps:
235242
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
236243
- uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
@@ -417,6 +424,7 @@ jobs:
417424
- chapel-multilocale
418425
if: always()
419426
runs-on: ubuntu-22.04
427+
timeout-minutes: 45
420428
steps:
421429
- name: Aggregate chapel-ci results
422430
env:

.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: 20
2627
permissions:
2728
contents: read
2829
security-events: write

.github/workflows/coverage.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
coverage:
1515
name: Generate Coverage Report
1616
runs-on: ubuntu-latest
17+
timeout-minutes: 20
1718
steps:
1819
- name: Checkout code
1920
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5

.github/workflows/dependency-review.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
review:
1414
name: Review Dependencies
1515
runs-on: ubuntu-latest
16+
timeout-minutes: 10
1617
steps:
1718
- name: Checkout code
1819
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5

.github/workflows/dogfood-gate.yml

Lines changed: 5 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: 10
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: 10
6971

7072
steps:
7173
- name: Checkout repository
@@ -128,6 +130,7 @@ jobs:
128130
empty-lint:
129131
name: Empty-linter (invisible characters)
130132
runs-on: ubuntu-latest
133+
timeout-minutes: 10
131134

132135
steps:
133136
- name: Checkout repository
@@ -192,6 +195,7 @@ jobs:
192195
groove-check:
193196
name: Groove manifest check
194197
runs-on: ubuntu-latest
198+
timeout-minutes: 10
195199

196200
steps:
197201
- name: Checkout repository
@@ -250,6 +254,7 @@ jobs:
250254
dogfood-summary:
251255
name: Dogfooding compliance summary
252256
runs-on: ubuntu-latest
257+
timeout-minutes: 10
253258
needs: [a2ml-validate, k9-validate, empty-lint, groove-check]
254259
if: always()
255260

.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 Release Binary
2020
runs-on: ubuntu-latest
21+
timeout-minutes: 45
2122
permissions:
2223
contents: read
2324
outputs:
@@ -70,6 +71,7 @@ jobs:
7071
changelog:
7172
name: Generate Changelog
7273
runs-on: ubuntu-latest
74+
timeout-minutes: 10
7375
permissions:
7476
contents: read
7577
outputs:
@@ -114,6 +116,7 @@ jobs:
114116
name: Create GitHub Release
115117
needs: [build, changelog]
116118
runs-on: ubuntu-latest
119+
timeout-minutes: 45
117120
permissions:
118121
contents: write
119122
steps:

0 commit comments

Comments
 (0)