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.
124 lines
3.4 KiB
124 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 |
|
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 |
|
include: |
|
- board: proton_c |
|
shield: clueboard_california |
|
steps: |
|
# To use this repository's private action, |
|
# you must check out the repository |
|
- 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: 3-${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('app/west.yml') }} |
|
restore-keys: | |
|
3-${{ runner.os }}-build-${{ env.cache-name }}- |
|
3-${{ runner.os }}-build- |
|
3-${{ runner.os }}- |
|
timeout-minutes: 2 |
|
continue-on-error: true |
|
- name: West init |
|
uses: "docker://zmkfirmware/zephyr-west-action-arm:latest" |
|
id: west-init |
|
with: |
|
args: 'init "-l app"' |
|
- name: West update |
|
uses: "docker://zmkfirmware/zephyr-west-action-arm:latest" |
|
id: west-update |
|
with: |
|
args: "update" |
|
- name: West config Zephyr base |
|
uses: "docker://zmkfirmware/zephyr-west-action-arm:latest" |
|
id: west-config |
|
with: |
|
args: 'config "--global zephyr.base-prefer configfile"' |
|
- name: West Zephyr export |
|
uses: "docker://zmkfirmware/zephyr-west-action-arm:latest" |
|
id: west-zephyr-export |
|
with: |
|
args: "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: West build |
|
uses: "docker://zmkfirmware/zephyr-west-action-arm:latest" |
|
id: west-build |
|
with: |
|
args: 'build "-s app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }}' |
|
- name: Archive build |
|
uses: actions/upload-artifact@v2 |
|
with: |
|
name: "${{ steps.variables.outputs.artifact-name }}-uf2" |
|
path: build/zephyr/zmk.uf2
|
|
|