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

Open
wants to merge 40 commits into
base: master
Choose a base branch
from

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 ↗︎

Name Status Preview Updated (UTC)
nx-dev ✅ Ready (Inspect) Visit Preview May 15, 2024 10:11pm

@fahslaj
Copy link
Contributor Author

fahslaj commented May 6, 2024

This PR replaces #23051

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant