- decide whether the changes made PR should be released with the next minor or major version (see below)
- if a PR should be released with the next major version no additional steps need to be taken. However, please ensure that the PR targets the
master
branch. - if a PR should be released with the next minor version:
- make sure the current PR targets the
master
branch. - make an identical (or as close as possible) PR that also target the release candidate branch for the upcoming release.
- add the PR that targets the release candidate branch to the milestone for the upcoming release.
- make sure the current PR targets the
- merge the
master
branch into therelease
branch and resolve all conflicts. - update the Changelog.md files in both the
release
andmaster
branches by replacing the[unreleased]
section with the new release's version number. - fully test the
release
branch in development. - update the app/MARKUS_VERSION file in the
release
andmaster
branches. - make a new release targeting the
release
branch (mark it as a pre-release). - deploy the new release to a test instance on a production server and test the instance there as well.
- un-mark the new release as a pre-release
- merge the current release candidate branch into the
release
branch (there should be no conflicts). - update the Changelog.md file in the both the
release
andmaster
branches by creating a new section for the new release and moving all relevant lines from the[unreleased]
section to this new section. - do steps 3-7 from the major release section above
- close any existing milestones and create a new milestone for the next minor release. For example, if you just released version 1.9.5, make a new milestone named
v1.9.6
. - delete the old release candidate branch (if it exists) and create a new release candidate branch based off of the current
release
branch. For example, if you just released version 1.9.5, delete the branch namedv1.9.5.rc
and create a branch namedv1.9.6.rc