diff --git a/.github/workflows/bump-pins.yml b/.github/workflows/bump-pins.yml index 073bc6c..3207cbf 100644 --- a/.github/workflows/bump-pins.yml +++ b/.github/workflows/bump-pins.yml @@ -41,7 +41,7 @@ jobs: contents: write # push the bump branch pull-requests: write # open the PR steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 # No third-party action is used to open the PR. `gh` ships on the runner, # so this adds zero new supply-chain trust to a repo whose whole purpose is diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ac0b46b..2eeb163 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,7 +59,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 - name: bash -n (parse check) run: | set -euo pipefail @@ -88,7 +88,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 - name: audit.sh run: ./audit.sh @@ -103,7 +103,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 with: fetch-depth: 0 - uses: gitleaks/gitleaks-action@e0c47f4f8be36e29cdc102c57e68cb5cbf0e8d1e # v3.0.0 @@ -118,7 +118,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 - name: sync.sh --check (self-only) # EGRESS_SELF_ONLY restricts the target list to THIS repo's sandbox/.devcontainer # (the sibling fleet repos aren't checked out here). Unlike the old hand-rolled @@ -142,7 +142,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 - name: hadolint uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0 with: @@ -160,7 +160,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 - name: squid -k parse # squid.conf isn't shell, so the shell job ignores it; validate its directive # syntax here so a semantically-broken proxy config fails CI instead of only @@ -188,9 +188,9 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 - name: set up buildx - uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0 + uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0 - name: build image (GHA layer cache) # The Dockerfile is BUILT here (hadolint/Trivy only lint/scan it), catching a # build that lints clean but breaks. Layers are cached in the GHA cache @@ -198,7 +198,7 @@ jobs: # touch only the final cheap COPY layers, and without a persisted cache CI # re-paid the full apt + Node/Python download + npm install build (~4-8 min, # the long pole of the pipeline) on every run. Cache-hit builds take seconds. - uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2 + uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0 with: context: sandbox/.devcontainer tags: dev-sandbox:ci @@ -232,7 +232,7 @@ jobs: contents: read security-events: write # required to upload SARIF to GitHub Security steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 - name: Run Trivy scan (SARIF — fail on HIGH/CRITICAL) # ONE scan does both duties: Trivy writes the SARIF report BEFORE applying @@ -251,7 +251,7 @@ jobs: - name: Upload Trivy SARIF to GitHub Security if: always() - uses: github/codeql-action/upload-sarif@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4 + uses: github/codeql-action/upload-sarif@7188fc363630916deb702c7fdcf4e481b751f97a # v4 with: sarif_file: trivy-results.sarif category: trivy diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index e93b4cd..3c30f04 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -50,10 +50,10 @@ jobs: matrix: language: [actions] steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 - name: Initialize CodeQL - uses: github/codeql-action/init@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4 + uses: github/codeql-action/init@7188fc363630916deb702c7fdcf4e481b751f97a # v4 with: languages: ${{ matrix.language }} # Actions workflows are declarative YAML — nothing to build. @@ -61,4 +61,4 @@ jobs: config-file: ./.github/codeql/codeql-config.yml - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4 + uses: github/codeql-action/analyze@7188fc363630916deb702c7fdcf4e481b751f97a # v4