Skip to content

Commit 552f759

Browse files
committed
security: standardize secret scanning on TruffleHog
1 parent d3248bd commit 552f759

17 files changed

Lines changed: 37 additions & 291 deletions

.github/workflows/casket-pages.yml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,33 @@
11
# SPDX-License-Identifier: MPL-2.0
22
name: GitHub Pages
3-
43
on:
54
push:
65
branches: [main, master]
76
workflow_dispatch:
8-
97
permissions:
108
contents: read
119
pages: write
1210
id-token: write
13-
1411
concurrency:
1512
group: "pages"
1613
cancel-in-progress: false
17-
1814
jobs:
1915
build:
2016
runs-on: ubuntu-latest
2117
timeout-minutes: 15
2218
steps:
2319
- name: Checkout
2420
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
25-
2621
- name: Checkout casket-ssg
2722
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
2823
with:
2924
repository: hyperpolymath/casket-ssg
3025
path: .casket-ssg
31-
3226
- name: Setup GHCup
3327
uses: haskell-actions/setup@ec49483bfc012387b227434aba94f59a6ecd0900 # v2
3428
with:
3529
ghc-version: '9.8.2'
3630
cabal-version: '3.10'
37-
3831
- name: Cache Cabal
3932
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
4033
with:
@@ -43,11 +36,9 @@ jobs:
4336
~/.cabal/store
4437
.casket-ssg/dist-newstyle
4538
key: ${{ runner.os }}-casket-${{ hashFiles('.casket-ssg/casket-ssg.cabal') }}
46-
4739
- name: Build casket-ssg
4840
working-directory: .casket-ssg
4941
run: cabal build
50-
5142
- name: Prepare site source
5243
shell: bash
5344
run: |
@@ -90,21 +81,17 @@ jobs:
9081
echo "Project-specific site content can be added later under site/."
9182
} > .site-src/index.md
9283
fi
93-
9484
- name: Build site
9585
run: |
9686
mkdir -p _site
9787
cd .casket-ssg && cabal run casket-ssg -- build ../.site-src ../_site
9888
touch ../_site/.nojekyll
99-
10089
- name: Setup Pages
10190
uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5
102-
10391
- name: Upload artifact
10492
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
10593
with:
10694
path: '_site'
107-
10895
deploy:
10996
environment:
11097
name: github-pages

.github/workflows/codeql.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,21 @@
11
# SPDX-License-Identifier: MPL-2.0
22
name: CodeQL Security Analysis
3-
43
on:
54
push:
65
branches: [main, master]
76
pull_request:
87
branches: [main, master]
98
schedule:
109
- cron: '0 6 * * 1'
11-
1210
# Estate guardrail: cancel superseded runs so re-pushes / rebased PR
1311
# updates do not pile up queued runs against the shared account-wide
1412
# Actions concurrency pool. Applied only to read-only check workflows
1513
# (no publish/mutation), so cancelling a superseded run is always safe.
1614
concurrency:
1715
group: ${{ github.workflow }}-${{ github.ref }}
1816
cancel-in-progress: true
19-
2017
permissions:
2118
contents: read
22-
2319
jobs:
2420
analyze:
2521
runs-on: ubuntu-latest
@@ -33,17 +29,14 @@ jobs:
3329
include:
3430
- language: javascript-typescript
3531
build-mode: none
36-
3732
steps:
3833
- name: Checkout
3934
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
40-
4135
- name: Initialize CodeQL
4236
uses: github/codeql-action/init@c6f931105cb2c34c8f901cc885ba1e2e259cf745 # v3
4337
with:
4438
languages: ${{ matrix.language }}
4539
build-mode: ${{ matrix.build-mode }}
46-
4740
- name: Perform CodeQL Analysis
4841
uses: github/codeql-action/analyze@c6f931105cb2c34c8f901cc885ba1e2e259cf745 # v3
4942
with:

.github/workflows/dependabot-automerge.yml

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,30 +35,25 @@
3535
# bumps for dependabot/fetch-metadata flow through the same path.
3636

3737
name: Dependabot Auto-Merge
38-
3938
on:
4039
pull_request:
4140
types: [opened, reopened, synchronize]
42-
4341
permissions:
44-
contents: write # needed to enable auto-merge
45-
pull-requests: write # needed to approve
42+
contents: write # needed to enable auto-merge
43+
pull-requests: write # needed to approve
4644
# NB: keep narrow — do NOT add secrets: read or id-token: write here.
47-
4845
jobs:
4946
automerge:
5047
# Only run for PRs actually authored by Dependabot.
5148
if: github.actor == 'dependabot[bot]' && github.event.pull_request.user.login == 'dependabot[bot]'
5249
runs-on: ubuntu-latest
5350
timeout-minutes: 15
54-
5551
steps:
5652
- name: Fetch Dependabot metadata
5753
id: meta
5854
uses: dependabot/fetch-metadata@dbb049abf0d677abbd7f7eee0375145b417fdd34 # v2.2.0
5955
with:
6056
github-token: ${{ secrets.GITHUB_TOKEN }}
61-
6257
# --- Policy gate -------------------------------------------------------
6358
# Outputs from fetch-metadata we care about:
6459
# update-type → version-update:semver-{patch,minor,major}
@@ -107,7 +102,6 @@ jobs:
107102
echo "security=$is_security" >> "$GITHUB_OUTPUT"
108103
echo "update_type=$UPDATE_TYPE" >> "$GITHUB_OUTPUT"
109104
echo "ghsa=$GHSA_ID" >> "$GITHUB_OUTPUT"
110-
111105
- name: Approve PR (if policy allows)
112106
if: steps.policy.outputs.action == 'automerge'
113107
env:
@@ -116,15 +110,13 @@ jobs:
116110
run: |
117111
gh pr review --approve "$PR_URL" \
118112
--body "Auto-approving Dependabot security update (${{ steps.policy.outputs.ghsa }}, ${{ steps.policy.outputs.update_type }}). Policy: low/moderate security patches/minors only."
119-
120113
- name: Enable auto-merge (if policy allows)
121114
if: steps.policy.outputs.action == 'automerge'
122115
env:
123116
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
124117
PR_URL: ${{ github.event.pull_request.html_url }}
125118
run: |
126119
gh pr merge --auto --squash "$PR_URL"
127-
128120
- name: Write decision to step summary
129121
env:
130122
ACTION: ${{ steps.policy.outputs.action }}

.github/workflows/e2e.yml

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
# VCL bridge, and safety aspects.
88

99
name: E2E + Aspect + Bench
10-
1110
on:
1211
push:
1312
branches: [main, master, develop]
@@ -20,50 +19,37 @@ on:
2019
pull_request:
2120
branches: [main, master]
2221
workflow_dispatch:
23-
2422
permissions: read-all
25-
2623
concurrency:
2724
group: e2e-${{ github.ref }}
2825
cancel-in-progress: true
29-
3026
jobs:
3127
e2e:
3228
name: E2E — Full Pipeline + Integration
3329
runs-on: ubuntu-latest
3430
timeout-minutes: 20
35-
3631
steps:
3732
- name: Checkout
38-
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
39-
33+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
4034
- name: Install Rust toolchain
41-
uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
42-
35+
uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
4336
- name: Rust cache
44-
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
45-
37+
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
4638
- name: Build workspace
4739
run: cargo build --workspace
48-
4940
- name: Run all tests (unit + integration)
5041
run: cargo test --workspace
51-
5242
- name: Run integration tests specifically
5343
run: cargo test --test integration_test -- --nocapture
54-
5544
- name: Run VCL bridge tests
5645
run: cargo test -p typell-vcl --test vcl_bridge_tests -- --nocapture 2>/dev/null || echo "VCL bridge tests skipped"
57-
5846
aspect-safety:
5947
name: Aspect — Safety Invariants
6048
runs-on: ubuntu-latest
6149
timeout-minutes: 10
62-
6350
steps:
6451
- name: Checkout
65-
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
66-
52+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
6753
- name: No dangerous patterns
6854
run: |
6955
DANGEROUS=$(grep -rn 'believe_me\|assert_total\|sorry\|Admitted\|unsafeCoerce' crates/ src/ 2>/dev/null | grep -v test || true)
@@ -73,7 +59,6 @@ jobs:
7359
exit 1
7460
fi
7561
echo "PASS: No dangerous patterns"
76-
7762
- name: SPDX headers
7863
run: |
7964
MISSING=0
@@ -86,28 +71,22 @@ jobs:
8671
echo "WARN: $MISSING of 30 sampled files missing SPDX"
8772
fi
8873
echo "SPDX check: $MISSING missing (of 30 sampled)"
89-
9074
benchmarks:
9175
name: Bench — Type System Performance
9276
runs-on: ubuntu-latest
9377
timeout-minutes: 15
94-
9578
steps:
9679
- name: Checkout
97-
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
98-
80+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
9981
- name: Install Rust toolchain
100-
uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
101-
82+
uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
10283
- name: Rust cache
103-
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
104-
84+
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
10585
- name: Run benchmarks
10686
run: cargo bench --workspace 2>&1 | tee /tmp/bench-results.txt || echo "No benchmarks configured"
107-
10887
- name: Upload benchmark results
10988
if: always()
110-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
89+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
11190
with:
11291
name: benchmark-results
11392
path: /tmp/bench-results.txt

.github/workflows/governance.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,20 @@
1111
# (rust-ci, codeql, dependabot, release, scan/mirror/pages plumbing).
1212

1313
name: Governance
14-
1514
on:
1615
push:
1716
branches: [main, master]
1817
pull_request:
1918
workflow_dispatch:
20-
2119
# Estate guardrail: cancel superseded runs so re-pushes / rebased PR
2220
# updates do not pile up queued runs against the shared account-wide
2321
# Actions concurrency pool. Applied only to read-only check workflows
2422
# (no publish/mutation), so cancelling a superseded run is always safe.
2523
concurrency:
2624
group: ${{ github.workflow }}-${{ github.ref }}
2725
cancel-in-progress: true
28-
2926
permissions:
3027
contents: read
31-
3228
jobs:
3329
governance:
3430
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613

0 commit comments

Comments
 (0)