Tested on my redox build. Keymap is same as the original redox with the exception of the mouse keys in the NAV layer which are not supported by zmk and the addition of the bluetooth control keys in the ADJ layer. Signed-off-by: Nikos Nikoleris <nikos.nikoleris@gmail.com>
133 lines
3.6 KiB
YAML
133 lines
3.6 KiB
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- ".github/workflows/build.yml"
|
|
- "app/**"
|
|
pull_request:
|
|
paths:
|
|
- ".github/workflows/build.yml"
|
|
- "app/**"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: zmkfirmware/zmk-build-arm:2.4
|
|
strategy:
|
|
matrix:
|
|
board:
|
|
- bluemicro840_v1
|
|
- nice_nano
|
|
- nrfmicro_13
|
|
- proton_c
|
|
shield:
|
|
- bfo9000_left
|
|
- bfo9000_right
|
|
- boardsource3x4
|
|
- corne_left
|
|
- corne_right
|
|
- cradio_left
|
|
- cradio_right
|
|
- crbn
|
|
- eek
|
|
- helix_left
|
|
- helix_right
|
|
- iris_left
|
|
- iris_right
|
|
- jian_left
|
|
- jian_right
|
|
- jorne_left
|
|
- jorne_right
|
|
- kyria_left
|
|
- kyria_right
|
|
- lily58_left
|
|
- lily58_right
|
|
- microdox_left
|
|
- microdox_right
|
|
- nibble
|
|
- qaz
|
|
- quefrency_left
|
|
- quefrency_right
|
|
- reviung41
|
|
- redox_left
|
|
- redox_right
|
|
- romac
|
|
- romac_plus
|
|
- settings_reset
|
|
- sofle_left
|
|
- sofle_right
|
|
- splitreus62_left
|
|
- splitreus62_right
|
|
- tg4x
|
|
- tidbit
|
|
cmake-args: [""]
|
|
include:
|
|
- board: bdn9_rev2
|
|
- board: dz60rgb_rev1
|
|
- board: nrf52840_m2
|
|
shield: m60
|
|
- board: planck_rev6
|
|
- board: proton_c
|
|
shield: clueboard_california
|
|
- board: nice_nano
|
|
shield: kyria_left
|
|
cmake-args: -DCONFIG_ZMK_DISPLAY=y
|
|
skip-archive: true
|
|
- board: nice_nano
|
|
shield: kyria_right
|
|
cmake-args: -DCONFIG_ZMK_DISPLAY=y
|
|
skip-archive: true
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Cache west modules
|
|
uses: actions/cache@v2
|
|
env:
|
|
cache-name: cache-zephyr-modules
|
|
with:
|
|
path: |
|
|
modules/
|
|
tools/
|
|
zephyr/
|
|
bootloader/
|
|
key: 4-${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('app/west.yml') }}
|
|
restore-keys: |
|
|
4-${{ runner.os }}-build-${{ env.cache-name }}-
|
|
4-${{ runner.os }}-build-
|
|
4-${{ runner.os }}-
|
|
timeout-minutes: 2
|
|
continue-on-error: true
|
|
- name: Initialize workspace (west init)
|
|
run: west init -l app
|
|
- name: Update modules (west update)
|
|
run: west update
|
|
- name: Export Zephyr CMake package (west zephyr-export)
|
|
run: west zephyr-export
|
|
- name: Prepare variables
|
|
id: variables
|
|
run: |
|
|
SHIELD_ARG=
|
|
ARTIFACT_NAME="${{ matrix.board }}"
|
|
|
|
if [ -n "${{ matrix.shield }}" ]; then
|
|
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
|
|
ARTIFACT_NAME="${ARTIFACT_NAME}-${{ matrix.shield }}"
|
|
fi
|
|
|
|
ARTIFACT_NAME="${ARTIFACT_NAME}-zmk"
|
|
|
|
echo ::set-output name=shield-arg::${SHIELD_ARG}
|
|
echo ::set-output name=artifact-name::${ARTIFACT_NAME}
|
|
- name: Build (west build)
|
|
run: west build -s app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} ${{ matrix.cmake-args }}
|
|
- name: Archive artifacts
|
|
if: ${{ !matrix.skip-archive }}
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: "${{ steps.variables.outputs.artifact-name }}"
|
|
path: |
|
|
build/zephyr/zmk.hex
|
|
build/zephyr/zmk.uf2
|
|
continue-on-error: true
|