summaryrefslogtreecommitdiff
path: root/docs/breaking_changes.md
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2022-05-29 09:07:11 +1000
committerGitHub <noreply@github.com>2022-05-29 09:07:11 +1000
commit89a5d5aea095172c23b6e886217078ffe404ecec (patch)
treed4078326f28ced91d3d9fc25ba43bc1bc659fb03 /docs/breaking_changes.md
parentb835171008eaeaa992a1b8e390af8bce6f5f0b8f (diff)
downloadqmk_firmware-89a5d5aea095172c23b6e886217078ffe404ecec.tar.gz
qmk_firmware-89a5d5aea095172c23b6e886217078ffe404ecec.zip
Fixup command sequencing for master/develop. (#17227)
Diffstat (limited to 'docs/breaking_changes.md')
-rw-r--r--docs/breaking_changes.md60
1 files changed, 37 insertions, 23 deletions
diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md
index 981512cd4c..f0aff303a9 100644
--- a/docs/breaking_changes.md
+++ b/docs/breaking_changes.md
@@ -47,28 +47,11 @@ Criteria for acceptance:
* This should be in Markdown format, with a name in the format `PR12345.md`, substituting the digits for your PR's ID.
* One strong recommendation that the ChangeLog document matches the PR description on GitHub, so as to ensure traceability.
-# Checklists
+## Checklists
This section documents various processes we use when running the Breaking Changes process.
-## Creating the `develop` branch
-
-This happens immediately after the previous `develop` branch is merged.
-
-* `qmk_firmware` git commands
- * [ ] `git checkout master`
- * [ ] `git pull --ff-only`
- * [ ] `git checkout -b develop`
- * [ ] 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 tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
- * [ ] `git push upstream develop`
- * [ ] `git push --tags`
-
-## 4 Weeks Before Merge
+### 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
@@ -76,7 +59,7 @@ This happens immediately after the previous `develop` branch is merged.
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
-## 2 Weeks Before Merge
+### 2 Weeks Before Merge
* `develop` is now closed to existing PR merges, only bugfixes for previous merges may be included
* Post call for testers
@@ -84,21 +67,21 @@ This happens immediately after the previous `develop` branch is merged.
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
-## 1 Week Before Merge
+### 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
-## 2 Days Before Merge
+### 2 Days Before Merge
* Announce that master is closed for 2 days
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
-## Day Of Merge
+### Day Of Merge
* `qmk_firmware` git commands
* [ ] `git checkout develop`
@@ -115,8 +98,39 @@ This happens immediately after the previous `develop` branch is merged.
* [ ] `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
+### Updating the `develop` branch
+
+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>`
+
+* 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:
+ * 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`
+
* (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions.md)