All work on Adapt is done in the
master branch, with a few small exceptions such as certain security fixes.
So that means all merge requests should target
master branch is always versioned as a pre-release version of the next anticipated minor or major release, so it's pre-release ID is
For example, if the next anticipated Adapt minor release is
master will have versions like
Once the minor or major version has been released, the version on
master will immediately change to the expected next minor or major version.
To continue the example, once
1.1.0 is released, the version of
master would immediately change to
1.2.0.next.0 before any additional commits can be made to
Production releases are releases that have no dash in them and no suffix.
They are always created from a branch that starts with
release- and has only the major and minor version numbers.
To continue with our example, when it's time to release
1.1.0, a new branch called
release-1.1 would be pulled from
Then, the version in package.json files on the
release-1.1 branch will get updated to
1.1.0 and be published.
Branch: development (any other branches)
Other branches may exist, but should typically not be publishing public releases to NPM. However, there may be cases where it makes sense to publish a version from one of these branches.
In those cases, the version will be of the form:
The major, minor, and patch versions (
A.B.C) should be derived from the closest master or production release.
BRANCHNAME is the name of the branch, possibly with some invalid characters substituted.
The final digit (
D) is the sequence number, reflecting how many releases have been published from this branch.