summaryrefslogtreecommitdiff
path: root/docs/breaking_changes.md
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2022-08-14 10:51:45 +1000
committerGitHub <noreply@github.com>2022-08-13 17:51:45 -0700
commit86261bfd8e7c5e5a4993186afdc26f07914edbe5 (patch)
treee938cc207c4ba38d3d6e101e41075743e1c9112d /docs/breaking_changes.md
parent30796913913c0f6dc0cce317ad8249de2b602294 (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.md147
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
109This happens immediately after the previous `develop` branch is merged to `master`. 104This 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. |