Attention: the examples below use the version 3.0.0-rc.2 but you should update
them to use the version you're releasing.
Git Preparation
[x] Decide on a version number based on the current version number and the
common rules defined in Semantic Versioning. E.g.
3.0.0-rc.2.
[x] Update this ticket name to reflect the new version number, following the
pattern "Release 3.0.0-rc.2".
[x] Cut a branch for the new release out of the develop branch, following
the gitflow naming pattern release/3.0.0-rc.2.
Code Preparation
[x] Update the project's version in [package.json] accordingly.
[x] Update the [CHANGELOG.md] with the new version number and release notes.
[x] Run tests and linting, and make sure the version running in the default
branch is working end-to-end. At least the minimal end-to-end manual tests
is mandatory.
[x] 🚨 DO NOT RELEASE before holidays or weekends! Mondays and Tuesdays are
preferred. This doesn't apply if you're releasing a release-candidate
(pre-release).
Merging the Branches
🚨 ATTENTION: in the following steps, do merge commits and NOT
squash-and-merge!
[x] When the team is confident the release is stable, you'll need to create
two pull requests:
[x] release/3.0.0-rc.2 -> main: This PR should be merged with a merge commit.
Skip this step if releasing a release-candidate (pre-release).
[x] release/3.0.0-rc.2 -> develop: this should be merged after the main
branch is merged. This PR should be merged with a merge commit.
Publishing the Release
[ ] After the release branch is merged to main, create a new release on
GitHub with the name 3.0.0-rc.2 and the use the same changes from the
[CHANGELOG.md] file.
[ ] The release should automatically publish a new version of the docker
image to Docker Hub. Double check if that happened.
Publishing a Pre-Release
[x] After the pre-release branch is merged to develop, create a new release
on GitHub with the name 3.0.0-rc.2 and the use the same changes from the
[CHANGELOG.md] file.
[x] Make sure to mark the release as a pre-release.
[x] The pre-release should automatically publish a new version of the docker
image to Docker Hub. Double check if that happened.
[x] The pre-release should not update the latest tag on Docker Hub.
Release Checklist
Git Preparation
3.0.0-rc.2
.3.0.0-rc.2
".develop
branch, following the gitflow naming patternrelease/3.0.0-rc.2
.Code Preparation
Merging the Branches
release/3.0.0-rc.2 -> main
: This PR should be merged with a merge commit. Skip this step if releasing a release-candidate (pre-release).release/3.0.0-rc.2 -> develop
: this should be merged after themain
branch is merged. This PR should be merged with a merge commit.Publishing the Release
main
, create a new release on GitHub with the name3.0.0-rc.2
and the use the same changes from the [CHANGELOG.md] file.Publishing a Pre-Release
develop
, create a new release on GitHub with the name3.0.0-rc.2
and the use the same changes from the [CHANGELOG.md] file.latest
tag on Docker Hub.[package.json]: https://github.com/stellar/stellar-disbursement-platform-frontend/blob/develop/package.json [CHANGELOG.md]: https://github.com/stellar/stellar-disbursement-platform-frontend/blob/develop/CHANGELOG.md