2.4 KiB
Release Process of status-go
The release process describes creating a release on Github. Each release consists of a new tag and assets which are builds for various environments but not only.
The process is automated and, even though it's possible to run manually, should always be triggered using our Jenkins job.
Versioning
We use semver but as we do not have a stable version yet, it's a bit skewed.
We use 0
as the MAJOR version and bump only MINOR when there are breaking changes and PATCH when there are no breaking changes.
Additionally, a pre-release can be created and the version can look like as complicated as this:
0.MINOR.PATCH-beta.INDEX.GIT_SHA
Releasing from a branch
TODO: create a script that can do that instead of manual work.
- Make sure that your branch is rebased on
develop
, - Change
VERSION
file content to0.X.Y-beta.Z.$GIT_SHA
whereGIT_SHA
is the commit you want to release, - Go to Jenkins job and use your branch. NOTE: do not select "RELEASE".
NOTE: remember to change VERSION
content back before merge.
Releasing pre-release from develop
TODO: create a script that can do that instead of manual work.
- Pull
develop
branch, - Bump
Z
(0.X.Y-beta.Z
) in the current version (VERSION
file), - Commit and push the change,
- Go to Jenkins job and use develop branch. NOTE: do not select "RELEASE".
Releasing from develop (regular release)
TODO: create a script that can do that instead of manual work.
- Pull
develop
branch, - Checkout a new branch
release/0.X
, - Remove
-beta.Z
suffix from the current version (VERSION
file), - Commit and push the change,
- Checkout develop branch, bump
X
, resetZ
to0
and commit to develop, - Go to Jenkins job, select "RELEASE" and use
release/0.X
branch.
Releasing from develop (a hot-fix)
TODO: create a script that can do that instead of manual work.
- Checkout a release branch you want to hot fix (branch have a name
release/0.X
), - Bump
Y
(0.X.Y
) in the current version (VERSION
file), - Commit and push the change to
release/0.X
branch, - Go to Jenkins job, select "RELEASE" and use
release/0.X
branch name.