This repo is for me to compile QMK firmware for my Keychron K6 keyboard. Actually, it uses the Sonix QMK fork to work on the K6's SN32F248B chip.
It uses GitHub actions to build and upload compiled .bin
files suitable for
flashing with Sonix Flasher.
I did this for two reasons:
- I wanted a semi-reproducible environment to build firmware on in case my computers change.
- I wanted an archive of the keymap code and the generated firmwares. This way I can tag a working version on GitHub and always have a copy in case I break something.
My K6 keymap is at
keyboards/keychron/k6/keymaps/ansi-josh/keymap.c
.
It is a copy of the keychron/k6/rgb/ansi:ansi
that I've tweaked a bit.
See the releases page for tagged builds.
Make changes to keymap.c
and then commit/push them to GitHub. If a build
passes, the compiled firmware will be uploaded as a build artifact. It can be
downloaded from the view build page on GitHub. These uploads will be deleted
eventually, so do not rely on being able to download them forever.
When the firmware reaches a good saving point, uploading a git tag will trigger a build and upload the compiled firmware as a release asset. These files stay on GitHub for the life of the project.
To see how to do this locally on macOS or Linux, see
.github/workflows/build.yml
.
Huge thanks to QMK-on-K6 for outlining this process!