fix(release): {releaseGroupName} not interpolated in changelog tag/releaseTagPattern#33779
Conversation
👷 Deploy request for nx-docs pending review.Visit the deploys page to approve it
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@JamesHenry @Coly010 Can you have a look? |
|
View your CI Pipeline Execution ↗ for commit ee35df9
☁️ Nx Cloud last updated this comment at |
d2d87c3 to
3786a7f
Compare
There was a problem hiding this comment.
Nx Cloud has identified a flaky task in your failed CI:
Since the failure was identified as flaky, the solution is to rerun CI. Because this branch comes from a fork, it is not possible for us to push directly, but you can rerun by pushing an empty commit:
git commit --allow-empty -m "chore: trigger rerun"
git push
🎓 Learn more about Self-Healing CI on nx.dev
…-release-tag-pattern-for-changelog
|
Please be sure to not submit PRs with trailing ellipses in the title, it is the squash merged commit candidate |
|
This pull request has already been merged/closed. If you experience issues related to these changes, please open a new issue referencing this pull request. |
PR Description
Related: #33674
Problem
The
{releaseGroupName}placeholder inreleaseTag.patternwas never interpolated. Instead, it appeared URL-encoded in generated git tags, release URLs, and commit messages.Example
Expected:
my-group@22.6.0Actual:
%7BreleaseGroupName%7D%4022.6.0This affected:
Root Cause
releaseGroupNamewas never passed through the release pipeline. TheReleaseVersionclass and related helper functions accepted{projectName}and{version}, but not{releaseGroupName}, causing the placeholder to remain unprocessed.Solution
Support for
releaseGroupNamehas now been added throughout the release flow:ReleaseVersionto accept and interpolatereleaseGroupName.nxReleaseConfig.groups.releaseGroup.name.releaseGroupNamein allReleaseVersioninstances.releaseGroupName.Changes by File
packages/nx/src/command-line/release/utils/shared.tsreleaseGroupNametoReleaseVersionconstructor.releaseGroupNameincreateCommitMessageValues().releaseGroupNameincreateGitTagValues()for fixed and independent groups.packages/nx/src/command-line/release/changelog.tsObject.keys(nxReleaseConfig.groups)[0].releaseGroup.nameto interpolation.packages/nx/src/command-line/release/utils/shared.spec.ts{releaseGroupName}interpolates correctly.Testing
New tests
Fixed groups
{releaseGroupName}@{version}forge@1.1.0Independent groups
{releaseGroupName}/{projectName}@{version}my-group/a@1.1.0,my-group/b@1.2.0Manual Verification
Before:
After:
Backward Compatibility
No breaking changes:
releaseGroupNameis optional.{releaseGroupName}behave as before.