fix(ci): create GitHub release on the source tag, not main HEAD#13569
fix(ci): create GitHub release on the source tag, not main HEAD#13569ogabrielluiz wants to merge 1 commit into
Conversation
The create_release job tagged the release with determine-main-version's output, which strips the v prefix, and passed no commit. ncipollo then created a bare vless tag (e.g. 1.10.0) at the default branch HEAD instead of the validated source tag (v1.10.0). GitHub generateReleaseNotes compared that bare tag against the previous bare tag, so the changelog only captured PRs merged directly to main and missed everything that shipped through the release branch. Tag the release on inputs.release_tag and pin the commit to it. This is the same vless-duplicate-tag failure the validate-tag-format job already warns about.
WalkthroughThe release workflow configuration is updated to use the manually provided ChangesRelease tag configuration
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Suggested labels
🚥 Pre-merge checks | ✅ 9✅ Passed checks (9 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✅ Test Coverage AdvisorNo source changes detected without accompanying tests. Thanks for keeping coverage up! 🎉
|
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project check has failed because the head coverage (50.14%) is below the target coverage (60.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #13569 +/- ##
==========================================
- Coverage 53.34% 53.33% -0.01%
==========================================
Files 2046 2046
Lines 184949 184949
Branches 27495 27495
==========================================
- Hits 98652 98651 -1
Misses 85188 85188
- Partials 1109 1110 +1
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
d2e00df to
79c3cb3
Compare
There was a problem hiding this comment.
Pull request overview
This PR fixes the release workflow so GitHub release notes are generated against a deterministic, correct base tag and the release is created for the intended vX.Y.Z tag rather than an accidental “v-less” tag on main.
Changes:
- Check out the repo at
inputs.release_tagwith full history so tags can be inspected reliably. - Determine the previous stable
vX.Y.Ztag (excluding pre-releases) and use it asprevious_tag_namewhen generating release notes via the GitHubgenerate-notesAPI. - Create/update the GitHub Release using the generated notes file and the explicit
inputs.release_tag.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The release notes for 1.10.0 only listed 2 PRs because the release got tagged on the wrong commit.
The
create_releasejob tagged the release withdetermine-main-version.outputs.version, which strips thevprefix (line 260,sed 's/^v//'), and passed nocommit. So ncipollo created a brand new bare tag1.10.0at the default branch (main) HEAD instead of using the validated source tagv1.10.0.You can see it on the live release:
1.10.0hastagName: 1.10.0,targetCommitish: main, and the bare tag resolves to main HEAD (e26dff2), whilev1.10.0points at the actual release commit. GitHub'sgenerateReleaseNotesthen compared the bare1.10.0against the previous bare tag1.9.6, so the changelog only picked up the handful of PRs merged directly to main and missed everything that shipped through the release branch.This is the same vless-duplicate-tag failure the
validate-tag-formatjob already warns about, except the workflow itself was creating the duplicate tag.Fix: tag the release on
inputs.release_tag(already validated to bevX.Y.Z) and pin the commit to it. GitHub then generates the notes againstv1.9.6like it does for the rest of the 1.9.x line.create-release.ymlalready tags this way.One manual follow-up this PR cannot do: the stray bare tags
1.9.6and1.10.0are still on origin and could be picked as a comparison base on a future run. They should be deleted:And the already-published 1.10.0 release needs to be re-created on
v1.10.0to get the correct notes.