-
Notifications
You must be signed in to change notification settings - Fork 37
Release Process
Maicon Diniz Filippsen edited this page Sep 18, 2018
·
7 revisions
This page describes how we use branches and tags with every new release.
Considering all commits added to master
branch are submitted via pull requests and properly reviewed, the master
branch is expected to always be working.
master
can also be referred to as the current version. The latest stable version is the latest version listed in the Releases section in GitHub (also accessed via git tag
command).
<MAJOR>.<MINOR>.<PATCH>
X.Y.Z
- Patch (Z): only contains solved issues labelled as bugs
- Minor (Y): contains solved issues labelled as features
- Major (X): marks a big changeset when incompatible modifications or additions occur
- Bump version in
master
branch according to versioning rules.
./bump_version.sh "X.Y.Z"
- Tag the
master
branch according to versioning rules.
git tag -a X.Y.Z -m "Version X.Y.Z"
git push origin X.Y.Z
-
Build from the latest tag
-
Deploy the latest build
-
New bugs and features are resolved on the next release
- During
the final countdown
, a release branch is created:release/1.10
. - Superblocks Lab is built from the
release/1.10
branch and released into https://lab-beta.superblocks.com - Superblocks Lab is functionally and smoke tested with a build from that branch.
- Any critical issues should have fixed delivered to both
master
andrelease/1.10
and properly verified with step 2. - When there are no more additional critical issues, a release tag
1.10.0
is created. - Superblocks Lab is built from the
1.10.0
tag and shipped to customers. - Any further recovery builds should be from commits on the
release/1.10
branch and patch versions should be used:1.10.1
,1.10.2
, etc.
Project Management
- Roadmap
- Development Process
- Issue Tracking
- Release Process
- Its the final countdown! Nanana nana nana
Contributing
Documentation & Help