From 55b3e8c615c596ef58b7ab0fbbf84454cf390c15 Mon Sep 17 00:00:00 2001 From: Douglas Eichelberger Date: Tue, 29 Sep 2026 13:21:17 -0700 Subject: [PATCH] Add zizmor and fix its findings Adds a zizmor workflow that calls rubyatscale/shared-config's reusable zizmor.yml, and fixes what zizmor 1.30.1 reports here so it starts clean. Actions are pinned to commit SHAs with the exact version in a trailing comment: checkout at v7.0.1, as shared-config pins it, and the rest at the release their floating tag runs today. Checkouts set persist-credentials: false. The @main calls into shared-config get the same documented zizmor ignores the other rubyatscale repos use. There was no Dependabot config, so this adds one for github-actions only. --- .github/dependabot.yml | 12 ++++++++++++ .github/workflows/ci.yml | 12 ++++++++---- .github/workflows/stale.yml | 2 +- .github/workflows/triage.yml | 2 +- .github/workflows/zizmor.yml | 16 ++++++++++++++++ 5 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/zizmor.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..274c097 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" + groups: + github-actions: + patterns: + - "*" + cooldown: + default-days: 7 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dcfc3f4..88a844c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,8 +12,10 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: node-version: '22' cache: 'yarn' @@ -25,8 +27,10 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: node-version: '22' cache: 'yarn' diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 2696450..4d49144 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -8,4 +8,4 @@ jobs: permissions: issues: write pull-requests: write - uses: rubyatscale/shared-config/.github/workflows/stale.yml@main + uses: rubyatscale/shared-config/.github/workflows/stale.yml@main # zizmor: ignore[unpinned-uses] internal reusable workflow tracked at @main by convention so shared-config updates propagate automatically diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 7c492ee..7613548 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -8,4 +8,4 @@ jobs: call-workflow-from-shared-config: permissions: issues: write - uses: rubyatscale/shared-config/.github/workflows/triage.yml@main + uses: rubyatscale/shared-config/.github/workflows/triage.yml@main # zizmor: ignore[unpinned-uses] internal reusable workflow tracked at @main by convention so shared-config updates propagate automatically diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml new file mode 100644 index 0000000..e5a0721 --- /dev/null +++ b/.github/workflows/zizmor.yml @@ -0,0 +1,16 @@ +name: GitHub Actions Security Analysis + +on: + push: + branches: [main] + pull_request: + branches: ["**"] + +permissions: {} + +jobs: + zizmor: + permissions: + contents: read + security-events: write + uses: rubyatscale/shared-config/.github/workflows/zizmor.yml@main # zizmor: ignore[unpinned-uses] internal reusable workflow tracked at @main by convention so shared-config updates propagate automatically