Skip to content

Commit bbcd8a1

Browse files
committed
ci(workflows): whole-tree sub-repo timeout-minutes + fix malformed boj-build.yml
Builds on #360 (which added timeouts to the top-level workflows) by extending coverage to the embedded sub-project workflows and fixing one malformed file #360 left untouched: - Add timeout-minutes to every runs-on job across all 355 embedded sub-repo workflows (660 jobs / 312 files). Reusable-workflow-call jobs excluded (invalid there). - boj-build.yml: two steps (K9-SVC Validation, Contractile Check) were outdented to sequence items under jobs:, making it invalid YAML. Removed them (redundant with governance/hypatia; referenced a non-canonical 'lust' contractile) and added timeout-minutes to trigger-boj. Verified: all 383 workflow files parse; 0 runs-on jobs without a timeout. changelog-reusable.yml left as-is (already fixed by #360). https://claude.ai/code/session_01AmPXB2dA2wCcabo8BXwS28
1 parent 6cd3772 commit bbcd8a1

313 files changed

Lines changed: 661 additions & 29 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/boj-build.yml

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ permissions:
1818
jobs:
1919
trigger-boj:
2020
runs-on: ubuntu-latest
21+
timeout-minutes: 10
2122
if: ${{ vars.BOJ_SERVER_URL != '' || secrets.BOJ_SERVER_URL != '' }}
2223
steps:
2324
- name: Checkout
@@ -46,32 +47,3 @@ jobs:
4647
-H "Content-Type: application/json" \
4748
--data "$payload" \
4849
|| echo "BoJ server unreachable - skipping (non-fatal)"
49-
50-
- name: K9-SVC Validation
51-
run: |
52-
echo "Running K9-SVC contractile validation..."
53-
if [ -f .machine_readable/contractiles/must/Mustfile.a2ml ]; then
54-
echo "✅ Mustfile found - running validation"
55-
# Placeholder for actual K9 validation
56-
echo "K9 validation would run here"
57-
else
58-
echo "❌ Mustfile not found"
59-
exit 1
60-
fi
61-
62-
- name: Contractile Check
63-
run: |
64-
echo "Checking contractile completeness..."
65-
contractiles=("must" "trust" "dust" "lust" "adjust" "intend")
66-
missing=0
67-
for c in "${contractiles[@]}"; do
68-
if [ ! -f ".machine_readable/contractiles/$c/${c^}file.a2ml" ]; then
69-
echo "❌ Missing: $c"
70-
missing=$((missing + 1))
71-
fi
72-
done
73-
if [ $missing -gt 0 ]; then
74-
echo "❌ $missing contractiles missing"
75-
exit 1
76-
fi
77-
echo "✅ All contractiles present"

0-ai-gatekeeper-protocol/.github/workflows/codeql.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ permissions: read-all
1515
jobs:
1616
analyze:
1717
runs-on: ubuntu-latest
18+
timeout-minutes: 30
1819
permissions:
1920
contents: read
2021
security-events: write

0-ai-gatekeeper-protocol/.github/workflows/hypatia-scan.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ jobs:
1717
scan:
1818
name: Hypatia Neurosymbolic Analysis
1919
runs-on: ubuntu-latest
20+
timeout-minutes: 20
2021

2122
steps:
2223
- name: Checkout repository

0-ai-gatekeeper-protocol/.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: 20
1718
steps:
1819
- name: Trigger Propagation
1920
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v3

0-ai-gatekeeper-protocol/.github/workflows/jekyll-gh-pages.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ jobs:
2626
# Build job
2727
build:
2828
runs-on: ubuntu-latest
29+
timeout-minutes: 30
2930
steps:
3031
- name: Checkout
3132
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
@@ -45,6 +46,7 @@ jobs:
4546
name: github-pages
4647
url: ${{ steps.deployment.outputs.page_url }}
4748
runs-on: ubuntu-latest
49+
timeout-minutes: 30
4850
needs: build
4951
steps:
5052
- name: Deploy to GitHub Pages

0-ai-gatekeeper-protocol/.github/workflows/jekyll.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ jobs:
3131
# Build job
3232
build:
3333
runs-on: ubuntu-latest
34+
timeout-minutes: 30
3435
steps:
3536
- name: Checkout
3637
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
@@ -59,6 +60,7 @@ jobs:
5960
name: github-pages
6061
url: ${{ steps.deployment.outputs.page_url }}
6162
runs-on: ubuntu-latest
63+
timeout-minutes: 30
6264
needs: build
6365
steps:
6466
- name: Deploy to GitHub Pages

0-ai-gatekeeper-protocol/.github/workflows/mirror.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ permissions: read-all
1212
jobs:
1313
mirror-gitlab:
1414
runs-on: ubuntu-latest
15+
timeout-minutes: 20
1516
if: vars.GITLAB_MIRROR_ENABLED == 'true'
1617
steps:
1718
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
@@ -30,6 +31,7 @@ jobs:
3031
3132
mirror-bitbucket:
3233
runs-on: ubuntu-latest
34+
timeout-minutes: 20
3335
if: vars.BITBUCKET_MIRROR_ENABLED == 'true'
3436
steps:
3537
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
@@ -48,6 +50,7 @@ jobs:
4850
4951
mirror-codeberg:
5052
runs-on: ubuntu-latest
53+
timeout-minutes: 20
5154
if: vars.CODEBERG_MIRROR_ENABLED == 'true'
5255
steps:
5356
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
@@ -66,6 +69,7 @@ jobs:
6669
6770
mirror-sourcehut:
6871
runs-on: ubuntu-latest
72+
timeout-minutes: 20
6973
if: vars.SOURCEHUT_MIRROR_ENABLED == 'true'
7074
steps:
7175
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
@@ -84,6 +88,7 @@ jobs:
8488
8589
mirror-disroot:
8690
runs-on: ubuntu-latest
91+
timeout-minutes: 20
8792
if: vars.DISROOT_MIRROR_ENABLED == 'true'
8893
steps:
8994
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
@@ -102,6 +107,7 @@ jobs:
102107
103108
mirror-gitea:
104109
runs-on: ubuntu-latest
110+
timeout-minutes: 20
105111
if: vars.GITEA_MIRROR_ENABLED == 'true'
106112
steps:
107113
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
@@ -120,6 +126,7 @@ jobs:
120126
121127
mirror-radicle:
122128
runs-on: ubuntu-latest
129+
timeout-minutes: 20
123130
if: vars.RADICLE_MIRROR_ENABLED == 'true'
124131
steps:
125132
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4

0-ai-gatekeeper-protocol/.github/workflows/scorecard-enforcer.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ permissions: read-all
1414
jobs:
1515
scorecard:
1616
runs-on: ubuntu-latest
17+
timeout-minutes: 20
1718
permissions:
1819
security-events: write
1920
id-token: write # For OIDC
@@ -52,6 +53,7 @@ jobs:
5253
# Check specific high-priority items
5354
check-critical:
5455
runs-on: ubuntu-latest
56+
timeout-minutes: 20
5557
steps:
5658
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
5759

0-ai-gatekeeper-protocol/.github/workflows/scorecard.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ permissions: read-all
1212
jobs:
1313
analysis:
1414
runs-on: ubuntu-latest
15+
timeout-minutes: 20
1516
permissions:
1617
security-events: write
1718
id-token: write

0-ai-gatekeeper-protocol/.github/workflows/secret-scanner.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ permissions: read-all
1212
jobs:
1313
trufflehog:
1414
runs-on: ubuntu-latest
15+
timeout-minutes: 20
1516
steps:
1617
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
1718
with:
@@ -24,6 +25,7 @@ jobs:
2425

2526
gitleaks:
2627
runs-on: ubuntu-latest
28+
timeout-minutes: 20
2729
steps:
2830
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
2931
with:
@@ -37,6 +39,7 @@ jobs:
3739
# Rust-specific: Check for hardcoded crypto values
3840
rust-secrets:
3941
runs-on: ubuntu-latest
42+
timeout-minutes: 20
4043
if: hashFiles('**/Cargo.toml') != ''
4144
steps:
4245
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4

0 commit comments

Comments
 (0)