diff --git a/.github/workflows/reusable-ci-container.yml b/.github/workflows/reusable-ci-container.yml index ca42856..36ade97 100644 --- a/.github/workflows/reusable-ci-container.yml +++ b/.github/workflows/reusable-ci-container.yml @@ -103,7 +103,7 @@ jobs: digest: ${{ steps.push.outputs.digest }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Set up QEMU uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0 diff --git a/.github/workflows/reusable-ci-docs-mdx.yml b/.github/workflows/reusable-ci-docs-mdx.yml index b42eaf6..d61298f 100644 --- a/.github/workflows/reusable-ci-docs-mdx.yml +++ b/.github/workflows/reusable-ci-docs-mdx.yml @@ -36,7 +36,7 @@ jobs: name: Spellcheck (cspell) runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: fetch-depth: 0 - uses: streetsidesoftware/cspell-action@de2a73e963e7443969755b648a1008f77033c5b2 # v8 @@ -48,7 +48,7 @@ jobs: name: Link check (lychee) runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 with: path: .lycheecache @@ -70,8 +70,8 @@ jobs: name: Build site runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 - - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: pnpm/action-setup@71c92474e7e4f5bca283fb17ef80fba9cdb2b4b1 # v6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version-file: ${{ inputs.node-version-file }} diff --git a/.github/workflows/reusable-ci-nextjs-monorepo.yml b/.github/workflows/reusable-ci-nextjs-monorepo.yml index 8324a29..af64d05 100644 --- a/.github/workflows/reusable-ci-nextjs-monorepo.yml +++ b/.github/workflows/reusable-ci-nextjs-monorepo.yml @@ -42,8 +42,8 @@ jobs: name: pnpm audit runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 - - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: pnpm/action-setup@71c92474e7e4f5bca283fb17ef80fba9cdb2b4b1 # v6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version-file: ${{ inputs.node-version-file }} @@ -92,10 +92,10 @@ jobs: && format('...[{0}]', github.event.pull_request.base.sha) || '...[HEAD^1]' }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: fetch-depth: 0 - - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6 + - uses: pnpm/action-setup@71c92474e7e4f5bca283fb17ef80fba9cdb2b4b1 # v6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version-file: ${{ inputs.node-version-file }} diff --git a/.github/workflows/reusable-ci-opentofu.yml b/.github/workflows/reusable-ci-opentofu.yml index ffacb10..8827cc9 100644 --- a/.github/workflows/reusable-ci-opentofu.yml +++ b/.github/workflows/reusable-ci-opentofu.yml @@ -55,8 +55,9 @@ on: default: "." tofu-version: description: | - OpenTofu version to install (e.g. "1.9", "latest"). - Pin to a specific version for reproducible CI. + OpenTofu version to install. Pin to a specific version for + reproducible CI (e.g. "1.9"). Defaults to "latest" to + track the latest stable release per NA-03 §6.1. type: string default: "latest" scan: @@ -85,7 +86,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Setup OpenTofu uses: opentofu/setup-opentofu@847eaa4afeb791b06daa46e8eafa8b1b68d7cfb4 # v2.0.1 @@ -118,7 +119,7 @@ jobs: contents: read security-events: write steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Trivy IaC + secret scan uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # 0.36.0 @@ -149,7 +150,7 @@ jobs: contents: read pull-requests: write steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Setup OpenTofu uses: opentofu/setup-opentofu@847eaa4afeb791b06daa46e8eafa8b1b68d7cfb4 # v2.0.1 diff --git a/.github/workflows/reusable-ci-python-monorepo.yml b/.github/workflows/reusable-ci-python-monorepo.yml index 74758c1..c4301b1 100644 --- a/.github/workflows/reusable-ci-python-monorepo.yml +++ b/.github/workflows/reusable-ci-python-monorepo.yml @@ -32,7 +32,7 @@ jobs: root_changed: ${{ steps.filter.outputs.root_changed }} packages: ${{ steps.packages.outputs.packages }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: fetch-depth: 0 @@ -89,7 +89,7 @@ jobs: if: needs.changes.outputs.any_python == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 with: enable-cache: true @@ -102,7 +102,7 @@ jobs: if: needs.changes.outputs.any_python == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 with: enable-cache: true @@ -115,7 +115,7 @@ jobs: if: needs.changes.outputs.any_python == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 with: enable-cache: true @@ -128,7 +128,7 @@ jobs: if: needs.changes.outputs.any_python == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 with: enable-cache: true @@ -150,7 +150,7 @@ jobs: matrix: package: ${{ fromJSON(needs.changes.outputs.packages) }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 with: enable-cache: true diff --git a/.github/workflows/reusable-ci-rust-monorepo.yml b/.github/workflows/reusable-ci-rust-monorepo.yml index 19688d3..d7a450d 100644 --- a/.github/workflows/reusable-ci-rust-monorepo.yml +++ b/.github/workflows/reusable-ci-rust-monorepo.yml @@ -39,7 +39,7 @@ jobs: outputs: rust: ${{ steps.filter.outputs.rust }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - id: filter uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4 with: @@ -58,7 +58,7 @@ jobs: if: needs.changes.outputs.rust == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 # dtolnay/rust-toolchain publishes no semver tags; # master is a moving branch ref. - uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # master with: @@ -72,7 +72,7 @@ jobs: if: needs.changes.outputs.rust == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 # dtolnay/rust-toolchain publishes no semver tags; # master is a moving branch ref. - uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # master with: @@ -87,7 +87,7 @@ jobs: if: needs.changes.outputs.rust == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 # dtolnay/rust-toolchain publishes no semver tags; # master is a moving branch ref. - uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # master with: @@ -105,7 +105,7 @@ jobs: if: needs.changes.outputs.rust == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 # dtolnay/rust-toolchain publishes no semver tags; # master is a moving branch ref. - uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # master with: @@ -121,7 +121,7 @@ jobs: env: RUSTDOCFLAGS: "-D warnings" steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 # dtolnay/rust-toolchain publishes no semver tags; # master is a moving branch ref. - uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # master with: @@ -135,7 +135,7 @@ jobs: if: needs.changes.outputs.rust == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Check for deny.toml id: check-deny shell: bash diff --git a/.github/workflows/reusable-ci-solidity.yml b/.github/workflows/reusable-ci-solidity.yml index 89fe889..4728d38 100644 --- a/.github/workflows/reusable-ci-solidity.yml +++ b/.github/workflows/reusable-ci-solidity.yml @@ -43,7 +43,7 @@ jobs: outputs: solidity: ${{ steps.filter.outputs.solidity }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - id: filter uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4 with: @@ -61,7 +61,7 @@ jobs: if: needs.changes.outputs.solidity == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: recursive - uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 @@ -75,7 +75,7 @@ jobs: if: needs.changes.outputs.solidity == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: recursive - uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 @@ -90,7 +90,7 @@ jobs: if: needs.changes.outputs.solidity == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: recursive - uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 @@ -105,7 +105,7 @@ jobs: if: needs.changes.outputs.solidity == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: recursive - uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 diff --git a/.github/workflows/reusable-ci-typescript.yml b/.github/workflows/reusable-ci-typescript.yml index 7a503dd..4e479e1 100644 --- a/.github/workflows/reusable-ci-typescript.yml +++ b/.github/workflows/reusable-ci-typescript.yml @@ -66,8 +66,8 @@ jobs: name: tsc runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 - - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: pnpm/action-setup@71c92474e7e4f5bca283fb17ef80fba9cdb2b4b1 # v6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version-file: ${{ inputs.node-version-file }} @@ -89,8 +89,8 @@ jobs: name: lint runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 - - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: pnpm/action-setup@71c92474e7e4f5bca283fb17ef80fba9cdb2b4b1 # v6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version-file: ${{ inputs.node-version-file }} @@ -112,8 +112,8 @@ jobs: name: test runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 - - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: pnpm/action-setup@71c92474e7e4f5bca283fb17ef80fba9cdb2b4b1 # v6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version-file: ${{ inputs.node-version-file }} @@ -136,8 +136,8 @@ jobs: if: ${{ !inputs.skip-build }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 - - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: pnpm/action-setup@71c92474e7e4f5bca283fb17ef80fba9cdb2b4b1 # v6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version-file: ${{ inputs.node-version-file }} diff --git a/.github/workflows/reusable-codeql.yml b/.github/workflows/reusable-codeql.yml index 0acb74d..76a12b7 100644 --- a/.github/workflows/reusable-codeql.yml +++ b/.github/workflows/reusable-codeql.yml @@ -48,7 +48,7 @@ jobs: matrix: include: ${{ fromJSON(inputs.languages) }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4 with: languages: ${{ matrix.language }} diff --git a/.github/workflows/reusable-dependency-review.yml b/.github/workflows/reusable-dependency-review.yml index 19afd88..f47eabb 100644 --- a/.github/workflows/reusable-dependency-review.yml +++ b/.github/workflows/reusable-dependency-review.yml @@ -35,7 +35,7 @@ jobs: name: Review dependencies runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 # actions/dependency-review-action ships semver tags only (no rolling @v4). - uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0 with: diff --git a/.github/workflows/reusable-lint.yml b/.github/workflows/reusable-lint.yml index 3989e6c..e9b3496 100644 --- a/.github/workflows/reusable-lint.yml +++ b/.github/workflows/reusable-lint.yml @@ -65,7 +65,7 @@ jobs: name: actionlint runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Download actionlint id: get_actionlint shell: bash @@ -96,7 +96,7 @@ jobs: name: JSON validity runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Validate every *.json file run: | set -euo pipefail @@ -113,7 +113,7 @@ jobs: name: prettier runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version: '24' @@ -141,7 +141,7 @@ jobs: name: markdownlint runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: DavidAnson/markdownlint-cli2-action@ded1f9488f68a970bc66ea5619e13e9b52e601cd # v23.2.0 with: globs: ${{ inputs.markdownlint-globs }} @@ -150,7 +150,7 @@ jobs: name: yamllint runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Install yamllint env: YAMLLINT_VERSION: ${{ inputs.yamllint-version }} diff --git a/.github/workflows/reusable-openssf-scorecard.yml b/.github/workflows/reusable-openssf-scorecard.yml index 5f438df..18bf8c8 100644 --- a/.github/workflows/reusable-openssf-scorecard.yml +++ b/.github/workflows/reusable-openssf-scorecard.yml @@ -63,7 +63,7 @@ jobs: contents: read actions: read steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: persist-credentials: false diff --git a/.github/workflows/reusable-release.yml b/.github/workflows/reusable-release.yml index 2903462..6b948ad 100644 --- a/.github/workflows/reusable-release.yml +++ b/.github/workflows/reusable-release.yml @@ -109,7 +109,7 @@ jobs: outputs: hashes: ${{ steps.checksums.outputs.hashes }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: fetch-depth: 0 diff --git a/.github/workflows/reusable-sbom.yml b/.github/workflows/reusable-sbom.yml index b6e44f4..26f4994 100644 --- a/.github/workflows/reusable-sbom.yml +++ b/.github/workflows/reusable-sbom.yml @@ -56,7 +56,7 @@ jobs: name: Generate SBOM runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Generate SBOM (anchore/sbom-action) uses: anchore/sbom-action@e22c389904149dbc22b58101806040fa8d37a610 # v0 diff --git a/.github/workflows/scheduled-settings-audit.yml b/.github/workflows/scheduled-settings-audit.yml index 8abfc7d..2ee89c8 100644 --- a/.github/workflows/scheduled-settings-audit.yml +++ b/.github/workflows/scheduled-settings-audit.yml @@ -29,7 +29,7 @@ jobs: name: Open quarterly audit issue runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Compute quarter identifier id: q diff --git a/README.md b/README.md index 4e5ae47..ba2f8d5 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,10 @@ reusable by commit SHA rather than `@main`. | `.github/workflows/reusable-ci-solidity.yml` | Foundry CI for smart contracts. Jobs: `forge fmt`, `forge build`, `forge test`, `forge coverage` (≥60% line coverage). NA-03 §6.1, §10.4. | ✅ | | `.github/workflows/reusable-openssf-scorecard.yml` | OpenSSF Scorecard analysis. Runs supply-chain security checks and uploads SARIF results to the GitHub Security tab. Inputs: `publish-results`. | ✅ | | `.github/workflows/reusable-ci-container.yml` | Docker / OCI CI. Jobs: Trivy vulnerability scan, multi-platform build + push (linux/amd64 + arm64), cosign keyless signing. Inputs: `image-name`, `push`, `sign`. | ✅ | +| `.github/workflows/reusable-ci-docker.yml` | Docker CI gate (PR/push only — no registry push). Jobs: hadolint lint, `docker build`, Trivy image scan + SARIF upload. Inputs: `dockerfile`, `context`, `image-name`, `trivy-severity`. | ✅ | | `.github/workflows/reusable-ci-opentofu.yml` | OpenTofu / Terraform IaC CI. Jobs: `tofu fmt --check`, `tofu validate`, Trivy IaC scan, `tofu plan` (PR comment). Inputs: `working-directory`, `tofu-version`. | ✅ | +| `.github/workflows/reusable-ci-terraform.yml` | Terraform CI (fmt, init, validate, tflint). No plan or apply. Per NA-03 §6.1 (Cloudflare / Fly.io IaC). Inputs: `working-directory`, `terraform-version`, `tflint-version`. | ✅ | +| `.github/workflows/reusable-ci-typescript-lib.yml` | TypeScript library / package CI (pnpm, tsc --noEmit, lint, test, build). For standalone packages and pnpm workspaces that are not Next.js apps. Inputs: `node-version-file`, `skip-build`. | ✅ | Legend: ✅ shipped · ⏳ planned