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
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.
Optional: make sure you have all git tags locally by running
git fetch --tags
Optional: run
GITHUB_AUTH=your-token npx lerna-changelog
to preview the (unversioned) changelog that will be generatedRun
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.
Create a release branch for the minor version you want to create a hotfix release for.
git switch -c hotfix/vX.X.X
Create a PR with the bug fix against this hotfix branch
Merge the PR in the hotfix branch and follow the same release flow as the normal release, but use a patch version instead.
Run
GITHUB_AUTH=your-token npm run release
and answer the prompts when the hotfix is readyMerge 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
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.
Add the desired tag
git tag v0.0.0
Push the tag
git push origin v0.0.0
Generate the release on github https://github.com/lblod/app-organization-portal/releases/new
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.
Create a release branch for the minor version you want to create a hotfix release for.
git switch -c hotfix/vX.X.X
Create a PR with the bug fix against this hotfix branch
Merge the PR in the hotfix branch and follow the same release flow as the normal release, but use a patch version instead.
Add the desired tag
git tag v0.0.0
Generate the release on github https://github.com/lblod/app-organization-portal/releases/new
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