diff options
| author | Nick Brassel <nick@tzarc.org> | 2022-08-14 10:51:45 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-13 17:51:45 -0700 |
| commit | 86261bfd8e7c5e5a4993186afdc26f07914edbe5 (patch) | |
| tree | e938cc207c4ba38d3d6e101e41075743e1c9112d /docs/breaking_changes.md | |
| parent | 30796913913c0f6dc0cce317ad8249de2b602294 (diff) | |
Add texts for Discord Events to be created post-merge. (#17944)
Diffstat (limited to 'docs/breaking_changes.md')
| -rw-r--r-- | docs/breaking_changes.md | 147 |
1 files changed, 91 insertions, 56 deletions
diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md index f0aff303a9..cae6bf49d0 100644 --- a/docs/breaking_changes.md +++ b/docs/breaking_changes.md | |||
| @@ -26,13 +26,14 @@ The next Breaking Change is scheduled for August 27, 2022. | |||
| 26 | 26 | ||
| 27 | ### Important Dates | 27 | ### Important Dates |
| 28 | 28 | ||
| 29 | * [x] 2022 May 28 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. | 29 | * 2022 May 28 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. |
| 30 | * [ ] 2022 Jul 31 - `develop` closed to new PR's. | 30 | * 2022 Jul 31 - `develop` closed to new PR's. |
| 31 | * [ ] 2022 Jul 31 - Call for testers. | 31 | * 2022 Jul 31 - Call for testers. |
| 32 | * [ ] 2022 Aug 13 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes | 32 | * 2022 Aug 13 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes |
| 33 | * [ ] 2022 Aug 25 - `master` is locked, no PR's merged. | 33 | * 2022 Aug 20 - `develop` is locked, only critical bugfix PR's merged. |
| 34 | * [ ] 2022 Aug 27 - Merge `develop` to `master`. | 34 | * 2022 Aug 25 - `master` is locked, no PR's merged. |
| 35 | * [ ] 2022 Aug 27 - `master` is unlocked. PR's can be merged again. | 35 | * 2022 Aug 27 - Merge `develop` to `master`. |
| 36 | * 2022 Aug 27 - `master` is unlocked. PR's can be merged again. | ||
| 36 | 37 | ||
| 37 | ## What changes will be included? | 38 | ## What changes will be included? |
| 38 | 39 | ||
| @@ -54,53 +55,47 @@ This section documents various processes we use when running the Breaking Change | |||
| 54 | ### 4 Weeks Before Merge | 55 | ### 4 Weeks Before Merge |
| 55 | 56 | ||
| 56 | * `develop` is now closed to new PR's, only fixes for current PR's may be merged | 57 | * `develop` is now closed to new PR's, only fixes for current PR's may be merged |
| 57 | * Post call for testers | 58 | * Post call for testers: message `@Breaking Changes Updates` on `#qmk_firmware` in Discord: |
| 58 | * [ ] Discord | 59 | * `@Breaking Changes Updates -- Hey folks, last day for functional PRs to be raised against qmk_firmware for this breaking changes cycle is today.` |
| 59 | * [ ] GitHub PR | ||
| 60 | * [ ] https://reddit.com/r/olkb | ||
| 61 | 60 | ||
| 62 | ### 2 Weeks Before Merge | 61 | ### 2 Weeks Before Merge |
| 63 | 62 | ||
| 64 | * `develop` is now closed to existing PR merges, only bugfixes for previous merges may be included | 63 | * `develop` is now closed to existing PR merges, only bugfixes for previous merges may be included |
| 65 | * Post call for testers | 64 | * Post call for testers: message `@Breaking Changes Updates` on `#qmk_firmware` in Discord. |
| 66 | * [ ] Discord | 65 | * `@Breaking Changes Updates -- Hey folks, last day for functional PRs to be merged into qmk_firmware for this breaking changes cycle is today. After that, we're handling bugfixes only.` |
| 67 | * [ ] GitHub PR | ||
| 68 | * [ ] https://reddit.com/r/olkb | ||
| 69 | 66 | ||
| 70 | ### 1 Week Before Merge | 67 | ### 1 Week Before Merge |
| 71 | 68 | ||
| 72 | * Announce that master will be closed from <2 Days Before> to <Day of Merge> | 69 | * `develop` is now closed to PR merges, only critical bugfixes may be included |
| 73 | * [ ] Discord | 70 | * Announce that master will be closed from <2 Days Before> to <Day of Merge> -- message `@Breaking Changes Updates` on `#qmk_firmware` in Discord: |
| 74 | * [ ] GitHub PR | 71 | * `@Breaking Changes Updates -- Hey folks, last day for functional PRs to be merged into qmk_firmware for this breaking changes cycle is today. After that, we're handling bugfixes only.` |
| 75 | * [ ] https://reddit.com/r/olkb | ||
| 76 | 72 | ||
| 77 | ### 2 Days Before Merge | 73 | ### 2 Days Before Merge |
| 78 | 74 | ||
| 75 | * `master` is now closed to PR merges | ||
| 79 | * Announce that master is closed for 2 days | 76 | * Announce that master is closed for 2 days |
| 80 | * [ ] Discord | 77 | * `@Breaking Changes Updates -- Hey folks, the master branch of qmk_firmware is now locked for the next couple of days while we prepare to merge the newest batch of changes from develop.` |
| 81 | * [ ] GitHub PR | ||
| 82 | * [ ] https://reddit.com/r/olkb | ||
| 83 | 78 | ||
| 84 | ### Day Of Merge | 79 | ### Day Of Merge |
| 85 | 80 | ||
| 86 | * `qmk_firmware` git commands | 81 | * `qmk_firmware` git commands |
| 87 | * [ ] `git checkout develop` | 82 | * `git checkout develop` |
| 88 | * [ ] `git pull --ff-only` | 83 | * `git pull --ff-only` |
| 89 | * [ ] Edit `readme.md` | 84 | * Edit `readme.md` |
| 90 | * [ ] Remove the notes about `develop` | 85 | * Remove the notes about `develop` |
| 91 | * [ ] Roll up the ChangeLog into one file. | 86 | * Roll up the ChangeLog into one file. |
| 92 | * [ ] `git commit -m 'Merge point for <DATE> Breaking Change'` | 87 | * `git commit -m 'Merge point for <DATE> Breaking Change'` |
| 93 | * [ ] `git push upstream develop` | 88 | * `git push upstream develop` |
| 94 | * GitHub Actions | 89 | * GitHub Actions |
| 95 | * [ ] Create a PR for `develop` | 90 | * Create a PR for `develop` |
| 96 | * [ ] **Turn off 'Automatically delete head branches' for the repository** -- confirm with @qmk/directors that it is done before continuing | 91 | * **Turn off 'Automatically delete head branches' for the repository** -- confirm with @qmk/directors that it is done before continuing |
| 97 | * `qmk_firmware` git commands | 92 | * `qmk_firmware` git commands |
| 98 | * [ ] `git checkout master` | 93 | * `git checkout master` |
| 99 | * [ ] `git pull --ff-only` | 94 | * `git pull --ff-only` |
| 100 | * [ ] `git merge --no-ff develop` | 95 | * `git merge --no-ff develop` |
| 101 | * [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing | 96 | * `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing |
| 102 | * [ ] `git push upstream <next_version>` | 97 | * `git push upstream <next_version>` |
| 103 | * [ ] `git push upstream master` | 98 | * `git push upstream master` |
| 104 | 99 | ||
| 105 | ## Post-merge operations | 100 | ## Post-merge operations |
| 106 | 101 | ||
| @@ -109,28 +104,68 @@ This section documents various processes we use when running the Breaking Change | |||
| 109 | This happens immediately after the previous `develop` branch is merged to `master`. | 104 | This happens immediately after the previous `develop` branch is merged to `master`. |
| 110 | 105 | ||
| 111 | * `qmk_firmware` git commands | 106 | * `qmk_firmware` git commands |
| 112 | * [ ] `git checkout master` | 107 | * `git checkout master` |
| 113 | * [ ] `git pull --ff-only` | 108 | * `git pull --ff-only` |
| 114 | * [ ] `git checkout develop` | 109 | * `git checkout develop` |
| 115 | * [ ] `git pull --ff-only` | 110 | * `git pull --ff-only` |
| 116 | * [ ] `git merge --no-ff master` | 111 | * `git merge --no-ff master` |
| 117 | * [ ] Edit `readme.md` | 112 | * Edit `readme.md` |
| 118 | * [ ] Add a big notice at the top that this is a testing branch. | 113 | * Add a big notice at the top that this is a testing branch. |
| 119 | * [ ] Include a link to this document | 114 | * Include a link to this document |
| 120 | * [ ] `git commit -m 'Branch point for <DATE> Breaking Change'` | 115 | * `git commit -m 'Branch point for <DATE> Breaking Change'` |
| 121 | * [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>` | 116 | * `git tag breakpoint_<YYYY>_<MM>_<DD>` |
| 122 | * [ ] `git push upstream breakpoint_<YYYY>_<MM>_<DD>` | 117 | * `git push upstream breakpoint_<YYYY>_<MM>_<DD>` |
| 123 | 118 | ||
| 124 | * All submodules under `lib` now need to be checked against their QMK-based forks: | 119 | * All submodules under `lib` now need to be checked against their QMK-based forks: |
| 125 | * [ ] `git submodule foreach git log -n1` | 120 | * `git submodule foreach git log -n1` |
| 126 | * [ ] Validate each submodule SHA1 matches the qmk fork, e.g. for ChibiOS: | 121 | * Validate each submodule SHA1 matches the qmk fork, e.g. for ChibiOS: |
| 127 | * Go to [qmk/ChibiOS](https://github.com/qmk/ChibiOS) | 122 | * Go to [qmk/ChibiOS](https://github.com/qmk/ChibiOS) |
| 128 | * Compare the commit hash in the above output to the commit hash in the repository | 123 | * Compare the commit hash in the above output to the commit hash in the repository |
| 129 | * If there's a mismatch: | 124 | * If there's a mismatch: |
| 130 | * [ ] `cd lib/chibios` | 125 | * `cd lib/chibios` |
| 131 | * [ ] `git fetch --all` | 126 | * `git fetch --all` |
| 132 | * [ ] `git checkout master` | 127 | * `git checkout master` |
| 133 | * [ ] `git reset --hard <commit hash>` | 128 | * `git reset --hard <commit hash>` |
| 134 | * [ ] `git push origin master --force-with-lease` | 129 | * `git push origin master --force-with-lease` |
| 135 | 130 | ||
| 136 | * (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions.md) | 131 | * (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions.md) |
| 132 | |||
| 133 | ### Set up Discord events for the next cycle | ||
| 134 | |||
| 135 | * Update this file with the new dates: `docs/breaking_changes.md` | ||
| 136 | * Create Events on the QMK Discord - "Somewhere Else" => "GitHub": | ||
| 137 | * Event #1: | ||
| 138 | | Field | Value | | ||
| 139 | |-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| 140 | | Topic | Last `develop` functionality PRs to be raised | | ||
| 141 | | Start Date | ((5 weeks before merge)), 12:00am | | ||
| 142 | | End Date | ((4 weeks before merge)), 12:00am | | ||
| 143 | | Description | This is the last window for functional PRs to be raised against `develop` for the current breaking changes cycle. After ((4 weeks before merge)), any new PRs targeting `develop` will be deferred to the next cycle. | | ||
| 144 | * Event #2: | ||
| 145 | | Field | Value | | ||
| 146 | |-------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| 147 | | Topic | Last `develop` functionality PRs to be merged | | ||
| 148 | | Start Date | ((4 weeks before merge)), 12:00am | | ||
| 149 | | End Date | ((2 weeks before merge)), 12:00am | | ||
| 150 | | Description | This is the last window for functional PRs to be merged into `develop` for the current breaking changes cycle. After ((2 weeks before merge)), only bugfix PRs targeting `develop` will be considered for merge. | | ||
| 151 | * Event #3: | ||
| 152 | | Field | Value | | ||
| 153 | |-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| 154 | | Topic | `develop` closed for merges | | ||
| 155 | | Start Date | ((2 weeks before merge)), 12:00am | | ||
| 156 | | End Date | ((day of merge)), 12:00am | | ||
| 157 | | Description | This is the deadline for functionality bugfix PRs to be merged into `develop` for the current breaking changes cycle. After ((1 week before merge)), only critical bugfix PRs targeting `develop` will be considered for merge. | | ||
| 158 | * Event #4: | ||
| 159 | | Field | Value | | ||
| 160 | |-------------|----------------------------------------------------------------------------------------------------------------------| | ||
| 161 | | Topic | `master` closed for merges | | ||
| 162 | | Start Date | ((2 days before merge)), 12:00am | | ||
| 163 | | End Date | ((day of merge)), 12:00am | | ||
| 164 | | Description | This is the period that no PRs are to be merged to `master`, so that the merge of `develop` into `master` is stable. | | ||
| 165 | * Event #5: | ||
| 166 | | Field | Value | | ||
| 167 | |-------------|--------------------------------------------------------------------------------------------------------------------------------------------| | ||
| 168 | | Topic | `develop` merges to `master` | | ||
| 169 | | Start Date | ((day of merge)), 12:00am | | ||
| 170 | | End Date | ((day of merge)), 11:45pm | | ||
| 171 | | Description | At some point, QMK will merge `develop` into `master` and everyone will be able to reap the benefits of the newest batch of functionality. | | ||
