To create a stable release follow the following steps
- Checkout the head of master
git checkout master && git pull
- Create a new release branch from master called
release
- Install the dependencies
yarn install --frozen-lockfile
- Build the package
yarn build
- Test the package
yarn test
- Run
yarn version:release
, note by default this will do a minor package release as we are pre the1.0.0
release - Observe the correctly incremented change to the
package.json
and the new entry inCHANGELOG.md
along with the newly created commit - Push the release branch including the newly created tags
git push origin release --tags
- Open a pull request for the release, once approvals have been sought, merge the pull request using rebase,
preserving the commit message as
chore(release): publish [skip ci]
- Observe the triggering of the
/.github/workflows/push-release.yaml
Note It is important that rebase is used as the strategy for merging a release pull request as this preserves the created release tag.
The resulting release will publish the new package to NPM and the resulting binaries to github packages.
An unstable release is triggered on every commit to master, where the /.github/workflows/push-master.yaml
is run.
The releases have the following version syntax
<current package version + patch version>-unstable.<current git commit reference>
Note The /.github/workflows/push-master.yaml
will skip if the commit message includes [skip ci]
Note To skip the automatic release of a new unstable version append [skip ci]
to the end of the commit message
that is merged into master.
An unstable release is triggered on every commit to master, where the /.github/workflows/push-master.yaml
is run.
The releases have the following version syntax
<current package version + patch version>-unstable.<current git commit reference>
Note The /.github/workflows/push-master.yaml
will skip if the commit message includes [skip ci]
Note To skip the automatic release of a new unstable version append [skip ci]
to the end of the commit message
that is merged into master.