ci: Verify commits and releases created with Zed Zippy (#54264)

This changes our approach for creating Zed version bumps with the Zed
Zippy identity:

With these changes, the Zippy version bumps as well as the tag creations
will be verified as per
https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification#signature-verification-for-bots.
This adds an extra layer of security for version bumps and release
triggers done by the Zippy identity.

Eventually, we can move code more around for this so it happens in the
bot itself, but for now, I think its a good and solid interim solution
to have this here.

Release Notes:

- N/A
This commit is contained in:
Finn Evers authored and GitHub committed 2026-04-20 18:54:12 +02:00
1 parent 0a344d0191
commit f9593f71aa
2 files changed
+83 -27

No files matched your search

+23 -11
View File
@@ -25,7 +25,8 @@ jobs:
clean: false
ref: ${{ inputs.branch }}
token: ${{ steps.generate-token.outputs.token }}
- name: bump_patch_version::run_bump_patch_version::bump_patch_version
- id: bump-version
name: bump_patch_version::run_bump_patch_version::bump_version
run: |
channel="$(cat crates/zed/RELEASE_CHANNEL)"
@@ -42,16 +43,27 @@ jobs:
;;
esac
which cargo-set-version > /dev/null || cargo install cargo-edit -f --no-default-features --features "set-version"
output="$(cargo set-version -p zed --bump patch 2>&1 | sed 's/.* //')"
git commit -am "Bump to $output for @$GITHUB_ACTOR"
git tag "v${output}${tag_suffix}"
git push origin HEAD "v${output}${tag_suffix}"
env:
GIT_COMMITTER_NAME: Zed Zippy
GIT_COMMITTER_EMAIL: 234243425+zed-zippy[bot]@users.noreply.github.com
GIT_AUTHOR_NAME: Zed Zippy
GIT_AUTHOR_EMAIL: 234243425+zed-zippy[bot]@users.noreply.github.com
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
version="$(cargo set-version -p zed --bump patch 2>&1 | sed 's/.* //')"
echo "version=$version" >> "$GITHUB_OUTPUT"
echo "tag_suffix=$tag_suffix" >> "$GITHUB_OUTPUT"
- id: commit
name: bump_patch_version::run_bump_patch_version::commit_changes
uses: IAreKyleW00t/verified-bot-commit@126a6a11889ab05bcff72ec2403c326cd249b84c
with:
message: Bump to ${{ steps.bump-version.outputs.version }} for @${{ github.actor }}
files: '**'
token: ${{ steps.generate-token.outputs.token }}
- name: bump_patch_version::run_bump_patch_version::create_version_tag
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b
with:
script: |
github.rest.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: 'refs/tags/v${{ steps.bump-version.outputs.version }}${{ steps.bump-version.outputs.tag_suffix }}',
sha: '${{ steps.commit.outputs.commit }}'
})
github-token: ${{ steps.generate-token.outputs.token }}
concurrency:
group: ${{ github.workflow }}-${{ inputs.branch }}
cancel-in-progress: true