Skip to content
Merged
6 changes: 3 additions & 3 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@ updates:
patterns:
- "*"
cooldown:
default-days: 2
semver-major-days: 7
semver-minor-days: 3
semver-patch-days: 2
default-days: 7
commit-message:
prefix: "deps"

# GitHub Actions
- package-ecosystem: github-actions
directory: /
directory: "/"
schedule:
interval: weekly
day: monday
Expand All @@ -39,6 +39,6 @@ updates:
patterns:
- "*"
cooldown:
default-days: 2
default-days: 7
commit-message:
prefix: "ci"
8 changes: 2 additions & 6 deletions .github/workflows/ai-labeler.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
name: Classify PR

on:
pull_request_target:
pull_request_target: # zizmor: ignore[dangerous-triggers] -- required for write access to PRs from forks; workflow only calls reusable workflows, no PR code is checked out or executed
types: [opened, synchronize, reopened]

concurrency:
group: classify-pr-${{ github.event.pull_request.number }}
cancel-in-progress: true

permissions:
contents: read
issues: write
models: read
pull-requests: write
permissions: {}

jobs:
classify:
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/dependabot-auto-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,18 @@ name: Dependabot auto-merge

on: pull_request

permissions:
contents: write
pull-requests: write
permissions: {}

jobs:
auto-merge:
name: Auto-merge
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]'
permissions:
contents: write
pull-requests: write
if: github.actor == 'dependabot[bot]' && github.event.pull_request.user.login == 'dependabot[bot]' # zizmor: ignore[bot-conditions] -- dual check: actor validates current trigger, user.login validates PR origin
steps:
- uses: dependabot/fetch-metadata@21025c705c08248db411dc16f3619e6b5f9ea21a # v2
- uses: dependabot/fetch-metadata@21025c705c08248db411dc16f3619e6b5f9ea21a # v2.5.0
id: metadata
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/direct-push-alert.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@ on:
push:
branches: [main]

permissions:
contents: read
issues: write
permissions: {}

jobs:
alert:
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
name: Label PRs

on:
pull_request_target:
pull_request_target: # zizmor: ignore[dangerous-triggers] -- required for write access to PRs from forks; workflow only runs actions/labeler, no PR code is checked out or executed
types: [opened, synchronize, reopened]

permissions:
contents: read
pull-requests: write
permissions: {}

jobs:
label:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1
with:
Expand Down
26 changes: 15 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,33 +9,34 @@ concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false

permissions:
contents: write
security-events: write
pull-requests: read
models: read
permissions: {}

jobs:
security:
name: Security
uses: ./.github/workflows/security.yml
permissions:
contents: read
security-events: write
pull-requests: read

test:
name: Test gate
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: false
Comment thread
flavorjones marked this conversation as resolved.

- uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6
- uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0 # zizmor: ignore[cache-poisoning] -- cache is branch-isolated; fork PRs cannot write to this cache
with:
go-version-file: go.mod

- name: Install golangci-lint
uses: golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20 # v9
uses: golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20 # v9.2.0
with:
version: v2.9.0
install-only: true
Expand Down Expand Up @@ -84,9 +85,10 @@ jobs:
contents: write
models: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: false

Comment thread
flavorjones marked this conversation as resolved.
- name: Verify tag is on main
env:
Expand Down Expand Up @@ -202,7 +204,9 @@ jobs:
env:
HAS_SKILLS_KEY: ${{ secrets.SKILLS_APP_PRIVATE_KEY && 'true' || '' }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- name: Check prerequisites
id: check
Expand All @@ -220,7 +224,7 @@ jobs:
- name: Generate token
if: steps.check.outputs.ready == 'true'
id: skills-token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
with:
app-id: ${{ vars.SKILLS_APP_ID }}
private-key: ${{ secrets.SKILLS_APP_PRIVATE_KEY }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
- cron: '30 1 * * 6'
workflow_dispatch:

permissions: read-all
permissions: {}

jobs:
analysis:
Expand All @@ -17,7 +17,7 @@ jobs:
id-token: write
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

Expand All @@ -33,7 +33,7 @@ jobs:
path: results.sarif
retention-days: 5

- uses: github/codeql-action/upload-sarif@0d579ffd059c29b07949a3cce3983f0780820c98 # v4
- uses: github/codeql-action/upload-sarif@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
continue-on-error: true
with:
sarif_file: results.sarif
40 changes: 23 additions & 17 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@ on:
workflow_call:
workflow_dispatch:

permissions:
contents: read
security-events: write
pull-requests: read
permissions: {}

jobs:
secrets:
Expand All @@ -22,9 +19,10 @@ jobs:
permissions:
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: false

- name: Install gitleaks
run: |
Expand All @@ -41,7 +39,9 @@ jobs:
contents: read
security-events: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- name: Run Trivy vulnerability scanner (filesystem)
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # 0.35.0
Expand All @@ -56,7 +56,7 @@ jobs:
version: 'v0.69.3'

- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@0d579ffd059c29b07949a3cce3983f0780820c98 # v4
uses: github/codeql-action/upload-sarif@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
if: always()
continue-on-error: true # Requires GitHub Advanced Security
with:
Expand All @@ -69,9 +69,11 @@ jobs:
contents: read
security-events: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6
- uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
go-version-file: go.mod

Expand All @@ -82,7 +84,7 @@ jobs:
run: gosec -no-fail -fmt sarif -out gosec-results.sarif ./...

- name: Upload gosec scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@0d579ffd059c29b07949a3cce3983f0780820c98 # v4
uses: github/codeql-action/upload-sarif@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
if: always()
continue-on-error: true # Requires GitHub Advanced Security
with:
Expand All @@ -96,9 +98,11 @@ jobs:
contents: read
pull-requests: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 # v4
- uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 # v4.9.0
continue-on-error: true # Requires GitHub Advanced Security

codeql:
Expand All @@ -108,14 +112,16 @@ jobs:
contents: read
security-events: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6
- uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
go-version-file: go.mod

- name: Initialize CodeQL
uses: github/codeql-action/init@0d579ffd059c29b07949a3cce3983f0780820c98 # v4
uses: github/codeql-action/init@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
with:
languages: go
build-mode: manual
Expand All @@ -127,14 +133,14 @@ jobs:
run: go build ./...

- name: Perform CodeQL analysis
uses: github/codeql-action/analyze@0d579ffd059c29b07949a3cce3983f0780820c98 # v4
uses: github/codeql-action/analyze@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
with:
category: codeql-go
upload: never
output: sarif-results

- name: Upload SARIF to GitHub Security tab
uses: github/codeql-action/upload-sarif@0d579ffd059c29b07949a3cce3983f0780820c98 # v4
uses: github/codeql-action/upload-sarif@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
continue-on-error: true # Requires GitHub Advanced Security
with:
sarif_file: sarif-results
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/sensitive-change-gate.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
name: Sensitive Change Gate

on:
pull_request_target:
pull_request_target: # zizmor: ignore[dangerous-triggers] -- required for write access to PRs from forks; workflow only calls reusable workflow, no PR code is checked out or executed
types: [opened, synchronize, reopened]

permissions:
contents: read
pull-requests: write
permissions: {}

jobs:
gate:
Expand Down
Loading
Loading