Mattermost uses a tick-tock release strategy where every other release is a “quality release” that only has bug fixes and no new features.
The following diagram provides an overview of the branching strategy used to accomplish this. As an example, release-5.4 is a feature release and release-5.5 is a quality release. Note the “quality release” branch is based on the previous release branch.
When your PR is required on a release branch, you will follow the cherry picking process.
CherryPick/Donelabel when completed.
masterto the affected releases. See the steps below:
CherryPick/Approvedlabel and apply the
- If the PR need to go to other release branches, you can run the command
/cherry-pick release-x.yz in the PR comments and it will try to cherry-pick it to the branch you specified.
If you are the second reviewer reviewing a PR that needs to be cherry-picked, do not merge the PR. If the submitter is a core team member, you should set the
Reviews Complete label and assign it to the submitter to cherry pick. If the submitter is a community member who is not available to cherry pick their PR or can not do it themselves, you should follow the cherry pick process above.