Push tag over ssh via deploy key, not the Releases API - #134
Merged
Merged
Conversation
swethasukumarr
requested review from
brendanobra
and
a lite review from Copilot
September 1, 2026 11:58
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the manual release workflow to create and push the release tag via an SSH deploy key (instead of relying on the GitHub Releases API to create the tag), then creates/updates the GitHub Release object against the already-pushed tag.
Changes:
- Switch
actions/checkoutto use an SSH deploy key so subsequentgit pushuses SSH auth. - Add an explicit “Create tag” step that creates an annotated tag and pushes it to
origin. - Update the release creation step to omit
--target, since the tag is now created ahead of time.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
Suppressed comments (1)
.github/workflows/release.yml:148
- The promotion path (RC -> stable) assumes the workflow is running on the same commit as the RC tag, but this step tags the current checkout HEAD. If the workflow is dispatched from main (or any ref other than the RC tag), the stable tag can be created on the wrong commit. Also, if the target tag already exists on origin, skipping creation without verifying it points to HEAD can result in uploading artifacts for one commit under a release/tag pointing to another commit.
if git ls-remote --exit-code --tags origin "refs/tags/${TAG}" >/dev/null 2>&1; then
echo "Tag ${TAG} already exists on origin; skipping tag creation."
exit 0
fi
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
Suppressed comments (1)
.github/workflows/release.yml:156
- If the tag already exists on origin, the workflow currently skips tag creation unconditionally. That can lead to publishing a release/asset built from the current HEAD against an existing tag that points to a different commit (e.g., rerunning from a newer HEAD while reusing the same version tag). Consider verifying that the existing remote tag resolves to the current HEAD, and fail if it doesn't, to avoid mismatched artifacts.
if git ls-remote --exit-code --tags origin "refs/tags/${TAG}" >/dev/null 2>&1; then
echo "Tag ${TAG} already exists on origin; skipping tag creation."
exit 0
fi
dhillomk
approved these changes
Sep 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.