Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ jobs:
ref: ${{ github.event.pull_request.merge_commit_sha }}
fetch-depth: 0
- uses: ./
id: release
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
draft-release: false
- name: Update floating major tag
if: steps.release.outputs.tag
run: |
major=$(echo "${{ steps.release.outputs.tag }}" | grep -oE '^v[0-9]+')
git tag -f "$major" "${{ steps.release.outputs.tag }}"
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

steps.release.outputs.tag is created as an annotated tag (see scripts/finalize-release.sh), so git tag -f "$major" "${{ steps.release.outputs.tag }}" will make the floating major tag point to the tag object rather than the underlying commit (a tag-of-a-tag). This can confuse tooling that expects the ref to resolve directly to a commit; peel the tag to its commit (e.g., dereference to the tagged commit) before retagging.

Suggested change
git tag -f "$major" "${{ steps.release.outputs.tag }}"
git tag -f "$major" "${{ steps.release.outputs.tag }}^{commit}"

Copilot uses AI. Check for mistakes.
git push origin "$major" --force
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

git push origin "$major" --force can race if two release workflows run close together (e.g., multiple PRs merged in quick succession for the same major), potentially moving the floating major tag backwards. Consider adding a concurrency group for this workflow/job (or otherwise ensuring only one run can update the major tag at a time) to avoid non-deterministic tag state.

Copilot uses AI. Check for mistakes.
Loading