Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(release): add support for version plans #23190

Merged
merged 56 commits into from
Jun 4, 2024
Merged

Conversation

fahslaj
Copy link
Contributor

@fahslaj fahslaj commented May 6, 2024

This PR adds support for "version plans", which is Nx Release's way of decoupling the release process from git history.

  • Create a version plan with nx release plan. Specify version bumps for each project or release group as determined by nx release config, then a conventional commits style message for changelog generation.
  • Plan files are contained in .nx/version-plans directory, and will specify any number of release groups or projects to release
  • By default, plans are consumed by the changelog command. This can be overridden with the programmatic API.
  • Plans can be enabled on a per-release-group basis

Other changes in this PR:

  • The changelog renderer is now decoupled from the GitCommit interface. This allows changelog changes to be passed from other sources (like version plans)
  • gitAdd will no longer error if passed a file that doesn't exist and isn't tracked in git
  • --firstRelease is now an explicit option on each of the release, release version, release changelog, and release publish commands instead of all children of the top level release command (because it's not relevant for the release plan subcommand)

Outstanding tasks for version plans that this PR does NOT cover:

  • Add a more friendly indicator within release plan files when using the default release group. In this PR, the indicator will be the default release group placeholder of __default__.
  • Make the plan command smarter, such as the ability to opt-in for conventional commit integration to recommend packages for which to plan releases.
  • Decouple version plan change messages from conventional commits standard, which will involve significant changes to how grouping messages is done in the changelog renderer.
  • Docs & guides for using version plans

Copy link

vercel bot commented May 6, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Ignored Deployment
Name Status Preview Updated (UTC)
nx-dev ⬜️ Ignored (Inspect) Visit Preview Jun 4, 2024 0:02am

@fahslaj
Copy link
Contributor Author

fahslaj commented May 6, 2024

This PR replaces #23051

@fahslaj fahslaj requested a review from vsavkin as a code owner May 30, 2024 03:08
@JamesHenry JamesHenry merged commit b2855fd into master Jun 4, 2024
6 checks passed
@JamesHenry JamesHenry deleted the feat/version-plans branch June 4, 2024 12:44
Copy link

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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants