diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2557491..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 }} @@ -38,7 +40,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 @@ -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 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..a4da852 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) : @@ -68,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/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/README.md b/README.md index f33342c..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 @@ -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. 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 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/lib/Kaleidoscope b/lib/Kaleidoscope index e08ec31..e6a0d44 160000 --- a/lib/Kaleidoscope +++ b/lib/Kaleidoscope @@ -1 +1 @@ -Subproject commit e08ec31644a0a4cff24f13cdcb24e1216bb97c8e +Subproject commit e6a0d44b6d2eb1516f50ece86175f76e4c654492 diff --git a/tools/release b/tools/release index 0290806..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)" - 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 + 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}" }