From 3f8b12d3840974025c0fc0acfa7c668af4580e80 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Mon, 18 Dec 2023 09:58:17 -0800 Subject: [PATCH 1/8] Fix a README typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f33342c..6e0aa7c 100644 --- a/README.md +++ b/README.md @@ -32,5 +32,5 @@ To get a list of plugins used by each firmware, run the keyboard. For guidelines about how we build these sketches, which plugins we enable, and -so on, have a look at the [Chrysalis-enalbed +so on, have a look at the [Chrysalis-enabled Firmware](docs/chrysalis-enabled-firmware.md) documentation. From f995c5e08e08e322114896401579a47548ea2a6d Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Mon, 18 Dec 2023 10:07:31 -0800 Subject: [PATCH 2/8] Remove third-party board firmware builds. They were unsupported and unmaintained. We're not set up to provide a reasonable user experience for them. --- EZ/ErgoDox | 1 - Makefile | 5 +---- NEWS.md | 7 ++++++- SOFTHRUF/Splitography | 1 - Technomancy/Atreus | 1 - 5 files changed, 7 insertions(+), 8 deletions(-) delete mode 120000 EZ/ErgoDox delete mode 120000 SOFTHRUF/Splitography delete mode 120000 Technomancy/Atreus diff --git a/EZ/ErgoDox b/EZ/ErgoDox deleted file mode 120000 index b198bd5..0000000 --- a/EZ/ErgoDox +++ /dev/null @@ -1 +0,0 @@ -../lib/Kaleidoscope/examples/Devices/EZ/ErgoDox \ No newline at end of file diff --git a/Makefile b/Makefile index 37db823..6f2f827 100644 --- a/Makefile +++ b/Makefile @@ -16,12 +16,9 @@ else endif BOARDS = \ - EZ/ErgoDox \ Keyboardio/Atreus \ Keyboardio/Model01 \ - Keyboardio/Model100 \ - SOFTHRUF/Splitography \ - Technomancy/Atreus + Keyboardio/Model100 all: message output $(foreach board,${BOARDS},${board}@build) : diff --git a/NEWS.md b/NEWS.md index dcfeb5f..0a25989 100644 --- a/NEWS.md +++ b/NEWS.md @@ -2,10 +2,10 @@ Chrysalis-Firmware-Bundle 0.92.1 ================================ Unreleased + Kaleidoscope has a new "ActiveLayerKeys" plugin from Evy Bongers - USB protocol Fixes for both AVR-based and GD32-based keyboards that may eliminate "communications timeout" issues when talking to Chrysalis from Taylor Yu @@ -13,6 +13,11 @@ Chrysalis from Taylor Yu Remove the Focus Serial XON/XOFF flow-control that turns out to not help in the way we thought it did. +Discontinued new firmware builds for non-Keyboardio keyboards. These +builds were untested and unsupported. If you're an active user of +one of these builds and are interested in providing ongoing support +for them, please get in touch with jesse@keyboard.io + Chrysalis-Firmware-Bundle 0.92.0 ================================ diff --git a/SOFTHRUF/Splitography b/SOFTHRUF/Splitography deleted file mode 120000 index a38a70d..0000000 --- a/SOFTHRUF/Splitography +++ /dev/null @@ -1 +0,0 @@ -../lib/Kaleidoscope/examples/Devices/SOFTHRUF/Splitography \ No newline at end of file diff --git a/Technomancy/Atreus b/Technomancy/Atreus deleted file mode 120000 index 1f411bc..0000000 --- a/Technomancy/Atreus +++ /dev/null @@ -1 +0,0 @@ -../lib/Kaleidoscope/examples/Devices/Technomancy/Atreus \ No newline at end of file From 5f8b3e699db79f3605b2c83a9dd028a5b6e6b81e Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Mon, 18 Dec 2023 11:32:36 -0800 Subject: [PATCH 3/8] update our cache action to a newer version --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2557491..c83b01d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,7 +38,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Cache arduino dep downloads - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ github.workspace}}/.arduino/downloads key: ${{ runner.os }}-arduino-downloads From 1bc0fd9bc09f6aabfc649866681e1a996a629cdd Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Mon, 18 Dec 2023 10:10:44 -0800 Subject: [PATCH 4/8] Get our workflow to run everything except the 'publish' step on branches and PRs --- .github/workflows/build.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c83b01d..4d264e0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,8 +3,10 @@ name: Build & Publish on: push: branches: - - master - + - '**' # Runs on pushes to any branch + pull_request: + branches: + - '**' # Runs on PRs targeting any branch env: LC_ALL: C EXTRA_VERSION: ${{ github.run_number }} @@ -54,6 +56,8 @@ jobs: publish: needs: [ metadata, build ] runs-on: ubuntu-latest + # Ensure this job only runs on pushes to master branch + if: github.ref == 'refs/heads/master' steps: - uses: actions/checkout@v3 From 6032a8686e46cfe6d408eadaa08bbdd6c73101e2 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Mon, 18 Dec 2023 10:35:53 -0800 Subject: [PATCH 5/8] Update the 'release' tool's "sed -i" expressions to perl, so that we can use the same invocation on macos and linux --- tools/release | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/release b/tools/release index 0290806..3d1b6a1 100755 --- a/tools/release +++ b/tools/release @@ -49,7 +49,7 @@ cfb_update_release_version() { VERSION="$(cfb_get_release_version)" ## Update the Makefile - sed -i "s,^VERSION=.*,VERSION=\"${VERSION}\"," Makefile + perl -i -pe "s/^VERSION=.*/VERSION=\"${VERSION}\"/" Makefile ## Update NEWS.md TMP=$(mktemp) @@ -124,7 +124,8 @@ cfb_update_snapshot_version() { VERSION="$(cfb_new_snapshot_version)" ## Update the Makefile - sed -i "s,^VERSION=.*,VERSION=\"${VERSION}\"," Makefile + perl -i -pe "s/^VERSION=.*/VERSION=\"${VERSION}\"/" Makefile + ## Update NEWS.md TMP=$(mktemp) @@ -141,7 +142,7 @@ cfb_update_snapshot_version() { cfb_update_snapshot_readme() { VERSION="$(cfb_make_version)" - sed -i -e "s,\(\[build:dev\]: .*/releases/tag/\).*,\1v${VERSION}," README.md + perl -i -pe "s{(\[build:dev\]: .*/releases/tag/).*}{\${1}v${VERSION}}" README.md } cfb_commit_snapshot_changes() { From e4049025c2050e538595ab13e1042032c1676c0e Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Mon, 18 Dec 2023 10:18:08 -0800 Subject: [PATCH 6/8] Bring Kaleidoscope up to current --- lib/Kaleidoscope | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Kaleidoscope b/lib/Kaleidoscope index e08ec31..e6a0d44 160000 --- a/lib/Kaleidoscope +++ b/lib/Kaleidoscope @@ -1 +1 @@ -Subproject commit e08ec31644a0a4cff24f13cdcb24e1216bb97c8e +Subproject commit e6a0d44b6d2eb1516f50ece86175f76e4c654492 From 7bfcbf52462f9f7acbdde55b90299c3c3ea14a08 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Mon, 18 Dec 2023 11:29:58 -0800 Subject: [PATCH 7/8] Trying to slightly cleanup and document our snapshot and release workflow --- Makefile | 14 ++++++++++++++ docs/releng.md | 25 +++++++++++++++++++++++++ tools/release | 45 ++++++++++++++++++++++++++------------------- 3 files changed, 65 insertions(+), 19 deletions(-) create mode 100644 docs/releng.md diff --git a/Makefile b/Makefile index 6f2f827..a4da852 100644 --- a/Makefile +++ b/Makefile @@ -65,11 +65,25 @@ update: git submodule update --init --recursive (cd ${KALEIDOSCOPE_DIR} && make update) + +pull-kaleidoscope: setup + (cd ${KALEIDOSCOPE_DIR} && git fetch origin && git pull origin master) + git commit -s -m "Updated Kaleidoscope to origin/master" lib/Kaleidoscope + .env: echo "ARDUINO_DIRECTORIES_USER=\"${ARDUINO_DIRECTORIES_USER}\"" >.env echo "ARDUINO_DIRECTORIES_DATA=\"${ARDUINO_DIRECTORIES_DATA}\"" >>.env echo "HARDWARE_DIR=\"${HARDWARE_DIR}\"" >>.env echo "KALEIDOSCOPE_DIR=\"${KALEIDOSCOPE_DIR}\"" >>.env + +create-snapshot: + ./tools/release create-snapshot + + +finalize-release: + ./tools/release finalize + + .SILENT: .PHONY: ${BOARDS} clean all message version version-tag setup update .env diff --git a/docs/releng.md b/docs/releng.md new file mode 100644 index 0000000..40f6bb5 --- /dev/null +++ b/docs/releng.md @@ -0,0 +1,25 @@ +# Releasing Chrysalis Firmware Builds + + +## Creating a new snapshot after a release + +`make create-snapshot` + +## Publishing a release + +### Make sure the Kaleidoscope submodule is pulled up to the version you expect + +#. `make pull-kaleidoscope` (If you want Kaleidoscope master) +#. Update NEWS.md with any changes in this release +#. 'git commit -a -s -m "A description of what you're changing" +#. 'git push' +#. Visit https://github.com/keyboardio/Chrysalis-Firmware-Bundle/actions to verify that the build succeeded +#. Visit https://github.com/keyboardio/Chrysalis-Firmware-Bundle/releases to download your unpublished snapshot +#. * TEST THE BUILT SNAPSHOT ON HARDWARE* +#. `make finalize-release` +#. Visit https://github.com/keyboardio/Chrysalis-Firmware-Bundle/actions to verify that the build succeeded +#. Visit https://github.com/keyboardio/Chrysalis-Firmware-Bundle/releases to download your unpublished release +#. Test it again +#. Promote it to the latest release on GitHub. + + diff --git a/tools/release b/tools/release index 3d1b6a1..8083a27 100755 --- a/tools/release +++ b/tools/release @@ -4,24 +4,21 @@ set -eE -o pipefail COMMAND="${1:-help}" COMMAND="${COMMAND//-/_}" -cfb_news_version() { - head -n 1 NEWS.md | cut -d" " -f 2 -} - cfb_make_version() { make version } cfb_push_changes() { - git push + git push } ## finalize cfb_verify_release_version() { - if [ "$(cfb_news_version)" != "$(cfb_make_version)" ]; then + news_version=`head -n 1 NEWS.md | cut -d" " -f 2` + if [ "${news_version}" != "$(cfb_make_version)" ]; then cat >&2 <&2 <&2 <"${TMP}" mv "${TMP}" NEWS.md + git add NEWS.md } cfb_update_snapshot_readme() { VERSION="$(cfb_make_version)" perl -i -pe "s{(\[build:dev\]: .*/releases/tag/).*}{\${1}v${VERSION}}" README.md + git add README.md } cfb_commit_snapshot_changes() { VERSION="$(cfb_make_version)" - git add Makefile NEWS.md README.md git commit -s -m "Bump version to ${VERSION}" } From 10edde73d22fc1ed7c685abfe6b629f6cfd59601 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Mon, 18 Dec 2023 11:41:57 -0800 Subject: [PATCH 8/8] Fixup the README for 0.92.1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6e0aa7c..bb3d25c 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Chrysalis Firmware Bundle [badge:development]: https://img.shields.io/github/v/release/keyboardio/chrysalis-firmware-bundle?include_prereleases&label=Development&style=for-the-badge [badge:production]: https://img.shields.io/github/v/release/keyboardio/chrysalis-firmware-bundle?label=Production&style=for-the-badge [build:prod]: https://github.com/keyboardio/Chrysalis-Firmware-Bundle/releases/latest - [build:dev]: https://github.com/keyboardio/Chrysalis-Firmware-Bundle/releases/tag/v0.91.2-snapshot + [build:dev]: https://github.com/keyboardio/Chrysalis-Firmware-Bundle/releases/tag/v0.92.1-snapshot ## About