Versioning requires triggering the Nx Cloud Workflow Release workflow with comma separated commits to cherry pick and the version to release as.
[!NOTE]
Only the version number is needed if a new release is needed. The workflow will automatically create the branch and tag from the HEAD of main if the new version is a major. Or it will use the latest HEAD on the relative major branch based on the version number. (This allows us to place commits in release branches, and tag them when needed)
The workflow will do the following:
All major releases will have its own releases/v* branch
The head of each release branch will always have the major v* tag pointing to the HEAD of the branch. If minor/patch releases are needed multiple tags will be created for it.
Examples:
Releasing 4.1 will have tags v4 and v4.1 created at the HEAD of the release branch.
Releasing 4.2 will have tags v4 and v4.2 created at the HEAD of the release branch. Previous tags (v4.1 in this case) will remain unchanged
Releasing 4.2.1 will have tags v4, v4.2 and v4.2.1 created at the HEAD.
Users are able to use v4 and get all minor and patches automatically
Users are able to use v4.1 and get all patches automatically
[!IMPORTANT]
Tags should not be created directly on main, and will always be created off release branches. This allows us to iterate on main without causing too many disruptions for users.
Releasing new versions
Versioning requires triggering the Nx Cloud Workflow Release workflow with comma separated commits to cherry pick and the version to release as.
The workflow will do the following:
releases/v*
branchv*
tag pointing to the HEAD of the branch. If minor/patch releases are needed multiple tags will be created for it.v4
andv4.1
created at the HEAD of the release branch.v4
andv4.2
created at the HEAD of the release branch. Previous tags (v4.1
in this case) will remain unchangedv4
,v4.2
andv4.2.1
created at the HEAD.v4
and get all minor and patches automaticallyv4.1
and get all patches automatically