You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
3.4 KiB
125 lines
3.4 KiB
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: |
|
- boardsource3x4 |
|
- corne_left |
|
- corne_right |
|
- cradio_left |
|
- cradio_right |
|
- crbn |
|
- 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 |
|
- romac |
|
- romac_plus |
|
- settings_reset |
|
- sofle_left |
|
- sofle_right |
|
- splitreus62_left |
|
- splitreus62_right |
|
- tg4x |
|
- tidbit |
|
cmake-args: [""] |
|
include: |
|
- 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
|
|
|