From 554c36a0555998c57b78a5e66074b8292b0e9577 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 1 Jun 2021 08:11:50 +1000 Subject: [PATCH] Update ChibiOS, ChibiOS-Contrib. (#13056) * Update ChibiOS, ChibiOS-Contrib. * Add instructions. * Wrong remote name * Explicit version tag. * Add link to procedure on the breaking changes page. --- docs/breaking_changes.md | 4 ++ docs/chibios_upgrade_instructions.md | 56 ++++++++++++++++++++++++++++ lib/chibios | 2 +- lib/chibios-contrib | 2 +- 4 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 docs/chibios_upgrade_instructions.md diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md index 3e85a70761..2ad8b5a14d 100644 --- a/docs/breaking_changes.md +++ b/docs/breaking_changes.md @@ -96,3 +96,7 @@ This happens immediately after the previous `develop` branch is merged. * [ ] Create a PR for `develop` * [ ] Make sure travis comes back clean * [ ] Merge `develop` PR + +## Post-merge operations + +* (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions.md) \ No newline at end of file diff --git a/docs/chibios_upgrade_instructions.md b/docs/chibios_upgrade_instructions.md new file mode 100644 index 0000000000..40c2faafcf --- /dev/null +++ b/docs/chibios_upgrade_instructions.md @@ -0,0 +1,56 @@ +# ChibiOS Upgrade Procedure + +ChibiOS and ChibiOS-Contrib need to be updated in tandem -- the latter has a branch tied to the ChibiOS version in use and should not be mixed with different versions. + +## Getting ChibiOS + +* `svn` Initialisation: + * Only needed to be done once + * You might need to separately install `git-svn` package in your OS's package manager + * `git svn init --stdlayout --prefix='svn/' http://svn.osdn.net/svnroot/chibios/` + * `git remote add qmk git@github.com:qmk/ChibiOS.git` +* Updating: + * `git svn fetch` + * First time around this will take several hours + * Subsequent updates will be incremental only +* Tagging example (work out which version first!): + * `git tag -a ver20.3.3 -m ver20.3.3 svn/tags/ver20.3.3` + * `git push qmk ver20.3.3` + * `git tag -a breaking_YYYY_qN -m breaking_YYYY_qN svn/tags/ver20.3.3` + * `git push qmk breaking_YYYY_qN` + +## Getting ChibiOS-Contrib + +* `git` Initialisation: + * `git clone git@github.com:qmk/ChibiOS-Contrib` + * `git remote add upstream https://github.com/ChibiOS/ChibiOS-Contrib` + * `git checkout -b chibios-20.3.x upstream/chibios-20.3.x` +* Updating: + * `git fetch --all --tags --prune` + * `git checkout chibios-20.3.x` + * `git pull --ff-only` + * `git push origin chibios-20.3.x` + * `git tag -a breaking_YYYY_qN -m breaking_YYYY_qN chibios-20.3.x` + * `git push origin breaking_YYYY_qN` + +## Updating submodules + +* Update the submodules + * `cd $QMK_FIRMWARE` + * `git checkout develop` + * `git pull --ff-only` + * `git checkout -b chibios-version-bump` + * `cd lib/chibios` + * `git fetch --all --tags --prune` + * `git checkout breaking_YYYY_qN` + * `cd ../chibios-contrib` + * `git fetch --all --tags --prune` + * `git checkout breaking_YYYY_qN` +* Build everything + * `cd $QMK_FIRMWARE` + * `qmk multibuild -j4` + * Make sure there are no errors +* Push to the repo + * `git commit -am 'Update ChibiOS to XXXXXXXXX'` + * `git push --set-upstream origin chibios-version-bump` +* Make a PR to qmk_firmware with the new branch \ No newline at end of file diff --git a/lib/chibios b/lib/chibios index ffe54d63cb..413e39c568 160000 --- a/lib/chibios +++ b/lib/chibios @@ -1 +1 @@ -Subproject commit ffe54d63cb10a355add318f8e922e39f1c3d4bfd +Subproject commit 413e39c5681d181720440f2a8b7391f581788d7b diff --git a/lib/chibios-contrib b/lib/chibios-contrib index 61baa6b036..9c2bfa6aeb 160000 --- a/lib/chibios-contrib +++ b/lib/chibios-contrib @@ -1 +1 @@ -Subproject commit 61baa6b036138c155f7cfc5646d833d9423f3243 +Subproject commit 9c2bfa6aeba993345f5425d82807c101f8e25e65