Compare commits

...
Author SHA1 Message Date
Chris NormanandGitHub 39e18d26cf release: SHA-pin actions/checkout in the deploy-key jobs
The checkout steps now hold the ruleset-bypass deploy key, so resolve actions/checkout by full SHA (v6.0.2, same pin as sync-base-action.yml) rather than the mutable v6 tag.
2026-08-17 15:45:35 +02:00
Chris NormanandGitHub 7a31e70af3 release: push tags with the release deploy key
So the tag ruleset (terraform-config#81310) can be enforced: GITHUB_TOKEN can never bypass a ruleset, a deploy key can. No change to how releases are cut.
2026-08-14 12:56:26 +02:00
+16 -2
View File
@@ -32,9 +32,16 @@ jobs:
next_version: ${{ steps.next_version.outputs.next_version }}
steps:
- name: Checkout code
uses: actions/checkout@v6
# SHA-pinned (same pin as sync-base-action.yml): this step is handed
# the ruleset-bypass deploy key, so it must not resolve a mutable tag.
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
# Tag pushes below authenticate as the release deploy key (a
# bypass actor on the "Protect release tags" ruleset) instead of
# GITHUB_TOKEN, which can never bypass a ruleset. The key lives
# only in the main-restricted `production` environment.
ssh-key: ${{ secrets.RELEASE_TAG_DEPLOY_KEY }}
- name: Get latest tag
id: get_latest_tag
@@ -105,9 +112,16 @@ jobs:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v6
# SHA-pinned (same pin as sync-base-action.yml): this step is handed
# the ruleset-bypass deploy key, so it must not resolve a mutable tag.
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
# Tag pushes below authenticate as the release deploy key (a
# bypass actor on the "Protect release tags" ruleset) instead of
# GITHUB_TOKEN, which can never bypass a ruleset. The key lives
# only in the main-restricted `production` environment.
ssh-key: ${{ secrets.RELEASE_TAG_DEPLOY_KEY }}
- name: Update major version tag
run: |