|
| 1 | +# Release {version} |
| 2 | +We are releasing a new version, this issue will keep track of the progress between the first release candidate (20th of each month) to the final release (27th of each month). |
| 3 | + |
| 4 | +After the 20th of each month we start the release process that ends 7 days after, during that period we enter a Feature Freeze. While in the Feature Freeze, we will only be merging bug fixes and not new features. |
| 5 | + |
| 6 | +For any regression, open a new issue and link to this one. |
| 7 | + |
| 8 | + |
| 9 | +## Before Release - Preparation - 1 business day before the day 20th |
| 10 | +- [x] Create the issue to track the release progress |
| 11 | +- [ ] Define the highlights from release PRs as suggestion to be included on Blog Post |
| 12 | +- [ ] Talk to the Marketing Team about the Blog Post release |
| 13 | +- [ ] Talk to the Documentation Team about the Docs release |
| 14 | +- [ ] Sync translations from [LingoHub](https://translate.lingohub.com/rocketchat/rocket-dot-chat/dashboard) |
| 15 | + |
| 16 | +## Release Candidate 1 - On the 20th |
| 17 | +- [ ] Delete branch `release-candidate` |
| 18 | +- [ ] Create branch `release-candidate` based on `develop` |
| 19 | +- [ ] On branch `release-candidate` run `npm run release` and follow the steps |
| 20 | +- [ ] Publish the branch and the generated tag |
| 21 | +- [ ] Edit the tag on GitHub and paste the generated History removing the version from the first line and mark the checkbox **This is a pre-release** |
| 22 | +- [ ] Ensure the build is passing on CircleCI |
| 23 | +- [ ] Ensure the build is passing on Docker Hub |
| 24 | + |
| 25 | +<!-- Copy following block for next release candidates |
| 26 | +## Release Candidate {release-candidate-version} |
| 27 | +- [ ] Merge `develop` into `release-candidate` branch |
| 28 | +- [ ] On branch `release-candidate` run `npm run release` and follow the steps |
| 29 | +- [ ] Publish the branch and the generated tag |
| 30 | +- [ ] Edit the tag on GitHub and paste the generated History removing the version from the first line and mark the checkbox **This is a pre-release** |
| 31 | +- [ ] Ensure the build is passing on CircleCI |
| 32 | +- [ ] Ensure the build is passing on Docker Hub |
| 33 | +--> |
| 34 | + |
| 35 | +## Final Release - On the 27th |
| 36 | +- [ ] Merge `develop` into `release-candidate` branch |
| 37 | +- [ ] Create a new branch `release-{version}` based on `release-candidate` |
| 38 | +- [ ] On branch `release-{version}` run `npm run release` and follow the steps **TODO: fix the history** |
| 39 | +- [ ] Publish only the branch |
| 40 | +- [ ] **Draft a new release** on GitHub |
| 41 | + - [ ] Enter tag version as {version} |
| 42 | + - [ ] Select target **master** |
| 43 | + - [ ] Enter release title as {version} |
| 44 | + - [ ] Paste the history removing the version from the first line |
| 45 | + - [ ] Save as **draft** |
| 46 | +- [ ] Create a PR from the branch `release-{version}` with the same history from the tag/release |
| 47 | +- [ ] Ensure the build is passing on CircleCI |
| 48 | +- [ ] Ensure the build is passing on Docker Hub |
| 49 | +- [ ] When build is passing ask for approval |
| 50 | +- [ ] When approved merge it! |
| 51 | +- [ ] When merged edit the release/tag and publish it |
| 52 | + |
| 53 | +## After Release - Conclusion - 1 business day after the 27th |
| 54 | +- [ ] Check if related issues was closed |
| 55 | +- [ ] Check if related issues was assigned to the correct milestone |
| 56 | +- [ ] Check with the Marketing Team about the Blog Post release |
| 57 | +- [ ] Check with the Documentation Team about the Docs release |
| 58 | +- [ ] Create a Sync PR to merge back master to develop |
| 59 | +- [ ] Merge Sync PR |
0 commit comments