We practice trunk based development and
main
is the branch we release from.
Create a release branch, update the following files with proper version info:
Create pull request, review, publish package, git tag and push, prepare package.json with next dev version, merge, create GitHub release.
- pull latest
main
- review "Unreleased" in CHANGELOG.md to double-check if the
release should be a major, minor, or patch release
vX.Y.Z
- create a new branch
release/vX.Y.Z
matching the version number you identified - update links and headings in CHANGELOG.md to reflect the new version
- update package.json if needed to match the version, and remove any prelease suffix (ensure package-lock.json is up to date)
- commit your changes
- open a pull request with your new release branch
- get the pull request reviewed and approved
- run
./pre-publish.sh vX.Y.Z
(it will run tests and ensure a clean build, and remind you of the steps below) - tag the approved commit
vX.Y.Z
- publish the NPM package
- bump the version in package.json up to the next patch version, with a "-dev" suffix
- push the branch, then squash merge your changes to
main
- DO NOT delete the release branch
- create a matching GitHub release