浏览代码

Add texts for Discord Events to be created post-merge. (#17944)

Nick Brassel 2 年之前
父节点
当前提交
86261bfd8e
共有 1 个文件被更改,包括 91 次插入56 次删除
  1. 91 56
      docs/breaking_changes.md

+ 91 - 56
docs/breaking_changes.md

@@ -26,13 +26,14 @@ The next Breaking Change is scheduled for August 27, 2022.
 
 ### Important Dates
 
-* [x] 2022 May 28 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
-* [ ] 2022 Jul 31 - `develop` closed to new PR's.
-* [ ] 2022 Jul 31 - Call for testers.
-* [ ] 2022 Aug 13 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
-* [ ] 2022 Aug 25 - `master` is locked, no PR's merged.
-* [ ] 2022 Aug 27 - Merge `develop` to `master`.
-* [ ] 2022 Aug 27 - `master` is unlocked. PR's can be merged again.
+* 2022 May 28 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
+* 2022 Jul 31 - `develop` closed to new PR's.
+* 2022 Jul 31 - Call for testers.
+* 2022 Aug 13 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
+* 2022 Aug 20 - `develop` is locked, only critical bugfix PR's merged.
+* 2022 Aug 25 - `master` is locked, no PR's merged.
+* 2022 Aug 27 - Merge `develop` to `master`.
+* 2022 Aug 27 - `master` is unlocked. PR's can be merged again.
 
 ## What changes will be included?
 
@@ -54,53 +55,47 @@ This section documents various processes we use when running the Breaking Change
 ### 4 Weeks Before Merge
 
 * `develop` is now closed to new PR's, only fixes for current PR's may be merged
-* Post call for testers
-    * [ ] Discord
-    * [ ] GitHub PR
-    * [ ] https://reddit.com/r/olkb
+* Post call for testers: message `@Breaking Changes Updates` on `#qmk_firmware` in Discord:
+    * `@Breaking Changes Updates -- Hey folks, last day for functional PRs to be raised against qmk_firmware for this breaking changes cycle is today.`
 
 ### 2 Weeks Before Merge
 
 * `develop` is now closed to existing PR merges, only bugfixes for previous merges may be included
-* Post call for testers
-    * [ ] Discord
-    * [ ] GitHub PR
-    * [ ] https://reddit.com/r/olkb
+* Post call for testers: message `@Breaking Changes Updates` on `#qmk_firmware` in Discord.
+    * `@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.`
 
 ### 1 Week Before Merge
 
-* Announce that master will be closed from <2 Days Before> to <Day of Merge>
-    * [ ] Discord
-    * [ ] GitHub PR
-    * [ ] https://reddit.com/r/olkb
+* `develop` is now closed to PR merges, only critical bugfixes may be included
+* Announce that master will be closed from <2 Days Before> to <Day of Merge> -- message `@Breaking Changes Updates` on `#qmk_firmware` in Discord:
+    * `@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.`
 
 ### 2 Days Before Merge
 
+* `master` is now closed to PR merges
 * Announce that master is closed for 2 days
-    * [ ] Discord
-    * [ ] GitHub PR
-    * [ ] https://reddit.com/r/olkb
+    * `@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.`
 
 ### Day Of Merge
 
 * `qmk_firmware` git commands
-    * [ ] `git checkout develop`
-    * [ ] `git pull --ff-only`
-    * [ ] Edit `readme.md`
-        * [ ] Remove the notes about `develop`
-    * [ ] Roll up the ChangeLog into one file.
-    * [ ] `git commit -m 'Merge point for <DATE> Breaking Change'`
-    * [ ] `git push upstream develop`
+    * `git checkout develop`
+    * `git pull --ff-only`
+    * Edit `readme.md`
+        * Remove the notes about `develop`
+    * Roll up the ChangeLog into one file.
+    * `git commit -m 'Merge point for <DATE> Breaking Change'`
+    * `git push upstream develop`
 * GitHub Actions
-    * [ ] Create a PR for `develop`
-    * [ ] **Turn off 'Automatically delete head branches' for the repository** -- confirm with @qmk/directors that it is done before continuing
+    * Create a PR for `develop`
+    * **Turn off 'Automatically delete head branches' for the repository** -- confirm with @qmk/directors that it is done before continuing
 * `qmk_firmware` git commands
-    * [ ] `git checkout master`
-    * [ ] `git pull --ff-only`
-    * [ ] `git merge --no-ff develop`
-    * [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
-    * [ ] `git push upstream <next_version>`
-    * [ ] `git push upstream master`
+    * `git checkout master`
+    * `git pull --ff-only`
+    * `git merge --no-ff develop`
+    * `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
+    * `git push upstream <next_version>`
+    * `git push upstream master`
 
 ## Post-merge operations
 
@@ -109,28 +104,68 @@ This section documents various processes we use when running the Breaking Change
 This happens immediately after the previous `develop` branch is merged to `master`.
 
 * `qmk_firmware` git commands
-    * [ ] `git checkout master`
-    * [ ] `git pull --ff-only`
-    * [ ] `git checkout develop`
-    * [ ] `git pull --ff-only`
-    * [ ] `git merge --no-ff master`
-    * [ ] Edit `readme.md`
-        * [ ] Add a big notice at the top that this is a testing branch.
-        * [ ] Include a link to this document
-    * [ ] `git commit -m 'Branch point for <DATE> Breaking Change'`
-    * [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
-    * [ ] `git push upstream breakpoint_<YYYY>_<MM>_<DD>`
-    
+    * `git checkout master`
+    * `git pull --ff-only`
+    * `git checkout develop`
+    * `git pull --ff-only`
+    * `git merge --no-ff master`
+    * Edit `readme.md`
+        * Add a big notice at the top that this is a testing branch.
+        * Include a link to this document
+    * `git commit -m 'Branch point for <DATE> Breaking Change'`
+    * `git tag breakpoint_<YYYY>_<MM>_<DD>`
+    * `git push upstream breakpoint_<YYYY>_<MM>_<DD>`
+
 * All submodules under `lib` now need to be checked against their QMK-based forks:
-    * [ ] `git submodule foreach git log -n1`
-    * [ ] Validate each submodule SHA1 matches the qmk fork, e.g. for ChibiOS:
+    * `git submodule foreach git log -n1`
+    * Validate each submodule SHA1 matches the qmk fork, e.g. for ChibiOS:
         * Go to [qmk/ChibiOS](https://github.com/qmk/ChibiOS)
         * Compare the commit hash in the above output to the commit hash in the repository
         * If there's a mismatch:
-            * [ ] `cd lib/chibios`
-            * [ ] `git fetch --all`
-            * [ ] `git checkout master`
-            * [ ] `git reset --hard <commit hash>`
-            * [ ] `git push origin master --force-with-lease`
+            * `cd lib/chibios`
+            * `git fetch --all`
+            * `git checkout master`
+            * `git reset --hard <commit hash>`
+            * `git push origin master --force-with-lease`
 
 * (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions.md)
+
+### Set up Discord events for the next cycle
+
+* Update this file with the new dates: `docs/breaking_changes.md`
+* Create Events on the QMK Discord - "Somewhere Else" => "GitHub":
+    * Event #1:
+        | Field       | Value                                                                                                                                                                                                                 |
+        |-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+        | Topic       | Last `develop` functionality PRs to be raised                                                                                                                                                                         |
+        | Start Date  | ((5 weeks before merge)), 12:00am                                                                                                                                                                                     |
+        | End Date    | ((4 weeks before merge)), 12:00am                                                                                                                                                                                     |
+        | 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. |
+    * Event #2:
+        | Field       | Value                                                                                                                                                                                                            |
+        |-------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+        | Topic       | Last `develop` functionality PRs to be merged                                                                                                                                                                    |
+        | Start Date  | ((4 weeks before merge)), 12:00am                                                                                                                                                                                |
+        | End Date    | ((2 weeks before merge)), 12:00am                                                                                                                                                                                |
+        | 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. |
+    * Event #3:
+        | Field       | Value                                                                                                                                                                                                                           |
+        |-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+        | Topic       | `develop` closed for merges                                                                                                                                                                                                     |
+        | Start Date  | ((2 weeks before merge)), 12:00am                                                                                                                                                                                               |
+        | End Date    | ((day of merge)), 12:00am                                                                                                                                                                                                       |
+        | 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. |
+    * Event #4:
+        | Field       | Value                                                                                                                |
+        |-------------|----------------------------------------------------------------------------------------------------------------------|
+        | Topic       | `master` closed for merges                                                                                           |
+        | Start Date  | ((2 days before merge)), 12:00am                                                                                     |
+        | End Date    | ((day of merge)), 12:00am                                                                                            |
+        | Description | This is the period that no PRs are to be merged to `master`, so that the merge of `develop` into `master` is stable. |
+    * Event #5:
+        | Field       | Value                                                                                                                                      |
+        |-------------|--------------------------------------------------------------------------------------------------------------------------------------------|
+        | Topic       | `develop` merges to `master`                                                                                                               |
+        | Start Date  | ((day of merge)), 12:00am                                                                                                                  |
+        | End Date    | ((day of merge)), 11:45pm                                                                                                                  |
+        | 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. |