fix(release): keep a changelog file shared by a fixed release group staged - #37098
Burzmalian wants to merge 1 commit into
Conversation
👷 Deploy request for nx-docs pending review.Visit the deploys page to approve it
|
👷 Deploy request for nx-dev pending review.Visit the deploys page to approve it
|
|
Thanks for the PR. Approving the workflow run so CI can actually build it, and I have picked this one up.
|
|
View your CI Pipeline Execution ↗ for commit d6d1aae
☁️ Nx Cloud last updated this comment at |
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
🔔 Heads up, your workspace has pending recommendations ↗ to auto-apply fixes for similar failures.
🎓 Learn more about Self-Healing CI on nx.dev
…taged When several projects in a fixed release group resolve to the same changelog file, the first project's write is flushed to disk right away. Every later project then re-writes identical content, and FsTree.write drops the recorded change when the content already matches the file on disk. By the time applyChangesAndExit runs, tree.listChanges() is empty, "No changes detected for changelogs" is logged and the file is never staged, so the release commit lacks the changelog while the remote release is still created from the rendered contents. Skip the no-op write so the first project's recorded change survives to the staging step.
d6d1aae to
96d6288
Compare
Current Behavior
When several projects in a fixed release group resolve to the same changelog
file, the file is written and flushed for the first project. Every later project re-writes identical content, andFsTree.writedrops the recorded change when the content already matches disk.applyChangesAndExitthen finds no changes, logsNo changes detected for changelogs, and never runsgit add. The release commit lacks the changelog while the remote release is still created from the rendered contents.Expected Behavior
The shared changelog file is staged and committed with the release. The no-op re-write is skipped so the first project's recorded change survives to the staging step. Adds a unit test that fails on
master(gitAddnever called) and passes with the fix.Related Issue(s)
Fixes #35559