This repository was archived by the owner on May 21, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
Release Process
Thomas Greiner edited this page Mar 13, 2018
·
1 revision
There are three release-related branches: master, staging and release.
The master branch is the development branch where the latest updates will be applied.
The staging branch is used for preparing and testing releases.
The release branch is used for releasing new updates for general use. Every commit in this branch is automatically released to real users, which is why not everybody with write access to the repository can push to this branch.
- The
releasebuild uses flattr.com servers and thereleasebranch mentioned above. - The
stagingbuild uses smickr.net servers and thestagingbranch mentioned above. - The
developmentbuild uses smickr.net servers and themasterbranch mentioned above. This is used for testing. - The
usertestingbuild uses smickr.net servers and themasterbranch mentioned above. This was meant for user testing, but we have so far not needed it and are unsure if we are going to need it.
Whenever we want to make a release, we perform the following steps in order:
- Update the version in
src/manifest.jsonand land that change inmaster. - Merge
masterintostaging. - Test the staging build, ideally for a full week. During this time, only bug fixes can be landed in
staging, while arbitrary changes can continue to be landed inmaster. Bug fixes should be landed in bothmasterandstaginguntil the release is made. - Merge
stagingintorelease. - Tag the
releasebranchHEADas"v" + version, e.g.v0.1.0.
Hot fixes should follow the same process as regular releases, albeit presumably with less testing time. If a release is already in progress, we should wait for that instead of starting a hot fix release in parallel.