|
|
|
@ -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) |
|
|
|
|