Create releases

Frontend release

Before releasing

Changelog preparation

When creating a release a changelog will be generated by lerna-changelog which uses Github PR titles and label data. Make sure that all the PRs have a descriptive title and the correct label applied to it so that it makes sense for non-technical people.

This primarily will be enhancement and bug labeled PRs. lerna-changelog also supports "internal" labels but end-users don't really need to know about internal code changes.

Don't use "rebase and merge" when merging pull requests. lerna-changelog can't match those with the PR yet after they are merged so they won't show up in the changelog even when tagged.

Creating a new release

Prerequisites

A Github personal access token is needed to generate the changelog and automate the release creation on Github. This token can be created by following the official guide.

Pre-release and classic release

  1. Check out the master branch and merge all the features and fixes that need to be released. Usually this just means merging the development branch in the master branch.

  2. Optional: make sure you have all git tags locally by running git fetch --tags

  3. Optional: run GITHUB_AUTH=your-token npx lerna-changelog to preview the (unversioned) changelog that will be generated

  4. Run GITHUB_AUTH=your-token npm run release and answer the prompts.

Note: pre-relases are used when a future release goes to ACC for testing. If it needs fixes, the last pre-release number (X in v0.0.0-X) is incremented.

Hotfix release

If a bug fix needs to be deployed as soon as possible, and other features on the development branch are not ready to be deployed yet, a hotfix release can be created.

  1. Create a release branch for the minor version you want to create a hotfix release for. git switch -c hotfix/vX.X.X

  2. Create a PR with the bug fix against this hotfix branch

  3. Merge the PR in the hotfix branch and follow the same release flow as the normal release, but use a patch version instead.

  4. Run GITHUB_AUTH=your-token npm run release and answer the prompts when the hotfix is ready

  5. Merge the hotfix branch to the master and development branch so future (major and minor) releases also include the fix

Backend release

Pre-release and classic release

  1. Check out the master branch and merge all the features and fixes that need to be released. Usually this just means merging the development branch in the master branch.

  2. Add the desired tag git tag v0.0.0

  3. Push the tag git push origin v0.0.0

Note: pre-relases are used when a future release goes to ACC for testing. If it needs fixes, the last pre-release number (X in v0.0.0-X) is incremented.

Hotfix release

If a bug fix needs to be deployed as soon as possible, and other features on the development branch are not ready to be deployed yet, a hotfix release can be created.

  1. Create a release branch for the minor version you want to create a hotfix release for. git switch -c hotfix/vX.X.X

  2. Create a PR with the bug fix against this hotfix branch

  3. Merge the PR in the hotfix branch and follow the same release flow as the normal release, but use a patch version instead.

  4. Add the desired tag git tag v0.0.0

  5. Merge the hotfix branch to the master and development branch so future (major and minor) releases also include the fix

Using Jira to keep track of the releases

Last updated