miryoku_zmk/.github/workflows/build.yml

160 lines
4.2 KiB
YAML

name: Build
on:
- push
- pull_request
- workflow_dispatch
jobs:
build:
runs-on: ubuntu-20.04
container:
image: zmkfirmware/zmk-build-arm:2.4
strategy:
fail-fast: false
matrix:
include:
# - shield: absolem
# board: nice_nano
# -board: ahokore
# - shield: bfo9000_left
# board: nice_nano
# - shield: bfo9000_right
# board: nice_nano
- shield: corne_left
board: nice_nano
- shield: corne_right
board: nice_nano
- shield: cradio_left
board: nice_nano
- shield: cradio_right
board: nice_nano
# - shield: cradio36_left
# board: nice_nano
# - shield: cradio36_right
# board: nice_nano
# - shield: cradios_left
# board: nice_nano
# - shield: cradios_right
# board: nice_nano
# - shield: cradioz_left
# board: nice_nano
# - shield: cradioz_right
# board: nice_nano
- shield: crbn
board: nice_nano
- shield: eek
board: nice_nano
# -board: ferris
- shield: helix_left
board: nice_nano
- shield: helix_right
board: nice_nano
- shield: iris_left
board: nice_nano
- shield: iris_right
board: nice_nano
- shield: jian_left
board: nice_nano
- shield: jian_right
board: nice_nano
- shield: jorne_left
board: nice_nano
- shield: jorne_right
board: nice_nano
- shield: kyria_left
board: nice_nano
- shield: kyria_right
board: nice_nano
- shield: lily58_left
board: nice_nano
- shield: lily58_right
board: nice_nano
- shield: microdox_left
board: nice_nano
- shield: microdox_right
board: nice_nano
- board: planck_rev6
- shield: sofle_left
board: nice_nano
- shield: sofle_right
board: nice_nano
- shield: splitreus62_left
board: nice_nano
- shield: splitreus62_right
board: nice_nano
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Cache west modules
uses: actions/cache@v2
env:
cache-name: cache-zephyr-modules
with:
path: |
bootloader/
modules/
tools/
zephyr/
zmk/
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('config/west.yml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
timeout-minutes: 2
continue-on-error: true
- name: Initialize workspace (west init)
run: west init -l config
- 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: |
if [ -n "${{ matrix.shield }}" ]; then
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
ARTIFACT_NAME="${{ matrix.shield }}-${{ matrix.board }}-zmk"
else
SHIELD_ARG=
ARTIFACT_NAME="${{ matrix.board }}-zmk"
fi
echo ::set-output name=shield-arg::${SHIELD_ARG}
echo ::set-output name=artifact-name::${ARTIFACT_NAME}
- name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }}
-DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Generated DTS file
if: always()
run: cat -n build/zephyr/${{ matrix.board }}.dts.pre.tmp
- name: Archive artifacts
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