diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1b67e2a..33ced89 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,8 +21,8 @@ jobs: name: fmt + vet + test + build runs-on: ubuntu-latest steps: - - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 - - uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: go-version-file: go.mod cache: true @@ -42,8 +42,8 @@ jobs: name: chart lint + secret isolation runs-on: ubuntu-latest steps: - - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 - - uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5.0.1 - name: Install kubeconform run: | set -euo pipefail diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 937793b..dfcd8fd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,7 +36,7 @@ jobs: packages: write # ghcr push id-token: write # cosign keyless (Fulcio OIDC) steps: - - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Read versions from Chart.yaml (SSOT) id: ver @@ -48,7 +48,7 @@ jobs: echo "app=$APP chart=$CHART" - name: Log in to ghcr - uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3 + uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0 with: registry: ghcr.io username: ${{ github.actor }} @@ -63,13 +63,13 @@ jobs: echo "exists=false" >> "$GITHUB_OUTPUT" fi - - uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 + - uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1 if: steps.img.outputs.exists == 'false' # Fail-closed: 취약점 스캔은 push 전에 로컬 이미지로 (ADR-0002). - name: Build (local, for scan) if: steps.img.outputs.exists == 'false' - uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 + uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7.4.0 with: context: . platforms: linux/amd64 @@ -91,7 +91,7 @@ jobs: - name: Push image (provenance + sbom) if: steps.img.outputs.exists == 'false' - uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 + uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7.4.0 with: context: . platforms: linux/amd64 @@ -102,7 +102,7 @@ jobs: build-args: | VERSION=${{ steps.ver.outputs.app }} - - uses: sigstore/cosign-installer@398d4b0eeef1380460a10c8013a76f728fb906ac # v3 + - uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2 if: steps.img.outputs.exists == 'false' - name: Cosign sign (keyless, by digest) @@ -115,7 +115,7 @@ jobs: --certificate-oidc-issuer=https://token.actions.githubusercontent.com >/dev/null echo "signed $IMG@$DIG" - - uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4 + - uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5.0.1 - name: Push chart (skip if published) run: |