From 3bc13831cda9ccfd8853848f703435a4b6a6f244 Mon Sep 17 00:00:00 2001 From: Imani Manyara Date: Mon, 21 Sep 2026 10:21:14 -0400 Subject: [PATCH] Float first-party actions on majors, pin third-party by release SHA Aligns this package's GitHub Actions references with the org convention: float first-party actions on their major tag, pin third-party actions to a commit SHA, and keep both on the latest release. - First-party actions (`actions/*`, `github/*`) move off commit SHAs onto their current major tag. Every SHA replaced resolves to the tip of the major it now floats on, so the resolved commit is unchanged today and security patches arrive on their own from here. Pinning GitHub's own actions inside GitHub's own runner buys nothing and holds back patches. - Third-party actions stay pinned to a commit SHA, because a git tag is mutable and the action's owner can rewrite it. Each pin's comment now names the immutable release (`# 2.37.2`) rather than a mutable major tag (`# v2`) -- a comment naming a moving tag cannot tell you whether the pin is stale. 6 workflow file(s), 23 reference(s). Distinct transitions: - `actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9` -> `actions/cache@v6` - `actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1` -> `actions/checkout@v7` - `actions/setup-node@820762786026740c76f36085b0efc47a31fe5020` -> `actions/setup-node@v7` - `actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a` -> `actions/upload-artifact@v7` --- .github/workflows/browser.yml | 8 ++++---- .github/workflows/install.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/security.yml | 4 ++-- .github/workflows/static-analysis.yml | 18 +++++++++--------- .github/workflows/tests.yml | 12 ++++++------ 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.github/workflows/browser.yml b/.github/workflows/browser.yml index 01270bd..2c0f932 100644 --- a/.github/workflows/browser.yml +++ b/.github/workflows/browser.yml @@ -30,7 +30,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@v7 with: persist-credentials: false @@ -47,7 +47,7 @@ jobs: run: echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" - name: Restore composer cache - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + uses: actions/cache@v6 with: path: ${{ steps.composer-cache.outputs.dir }} key: composer-${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('**/composer.json') }} @@ -67,7 +67,7 @@ jobs: - name: Install PHP dependencies run: composer update --prefer-dist --no-interaction --no-progress - - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + - uses: actions/setup-node@v7 with: node-version: '22' @@ -94,7 +94,7 @@ jobs: exit 1 fi - - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + - uses: actions/upload-artifact@v7 if: failure() with: name: playwright-report diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 1671c09..3b4ddb3 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -24,7 +24,7 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@v7 with: persist-credentials: false diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 090f180..cefaef4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@v7 with: persist-credentials: false diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml index 413d8a3..c69fa8a 100644 --- a/.github/workflows/security.yml +++ b/.github/workflows/security.yml @@ -21,7 +21,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@v7 with: persist-credentials: false @@ -37,7 +37,7 @@ jobs: run: echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" - name: Restore composer cache - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + uses: actions/cache@v6 with: path: ${{ steps.composer-cache.outputs.dir }} key: composer-${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('**/composer.json') }} diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml index 9c35dc5..afe96ab 100644 --- a/.github/workflows/static-analysis.yml +++ b/.github/workflows/static-analysis.yml @@ -18,7 +18,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@v7 with: persist-credentials: false @@ -35,7 +35,7 @@ jobs: run: echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" - name: Restore composer cache - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + uses: actions/cache@v6 with: path: ${{ steps.composer-cache.outputs.dir }} key: composer-${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('**/composer.json') }} @@ -64,7 +64,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@v7 with: persist-credentials: false @@ -80,7 +80,7 @@ jobs: run: echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" - name: Restore composer cache - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + uses: actions/cache@v6 with: path: ${{ steps.composer-cache.outputs.dir }} key: composer-${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('**/composer.json') }} @@ -109,7 +109,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@v7 with: persist-credentials: false @@ -126,7 +126,7 @@ jobs: run: echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" - name: Restore composer cache - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + uses: actions/cache@v6 with: path: ${{ steps.composer-cache.outputs.dir }} key: composer-${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('**/composer.json') }} @@ -160,7 +160,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@v7 with: persist-credentials: false @@ -177,7 +177,7 @@ jobs: run: echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" - name: Restore composer cache - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + uses: actions/cache@v6 with: path: ${{ steps.composer-cache.outputs.dir }} key: composer-${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('**/composer.json') }} @@ -206,7 +206,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@v7 with: persist-credentials: false diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2970e8e..5fae0ae 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -36,7 +36,7 @@ jobs: stability: prefer-lowest steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@v7 with: persist-credentials: false @@ -53,7 +53,7 @@ jobs: run: echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" - name: Restore composer cache - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + uses: actions/cache@v6 with: path: ${{ steps.composer-cache.outputs.dir }} key: composer-${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('**/composer.json') }} @@ -94,7 +94,7 @@ jobs: php: ['8.4', '8.5'] steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@v7 with: persist-credentials: false @@ -114,7 +114,7 @@ jobs: run: echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" - name: Restore composer cache - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + uses: actions/cache@v6 with: path: ${{ steps.composer-cache.outputs.dir }} key: composer-${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('**/composer.json') }} @@ -157,7 +157,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@v7 with: persist-credentials: false @@ -174,7 +174,7 @@ jobs: run: echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" - name: Restore composer cache - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + uses: actions/cache@v6 with: path: ${{ steps.composer-cache.outputs.dir }} key: composer-${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('**/composer.json') }}