Add extra builds

This commit is contained in:
Manna Harbour 2021-05-03 12:07:22 +10:00
parent 57c38833f4
commit 9a37ebb93f
3 changed files with 225 additions and 80 deletions

View File

@ -1,7 +1,5 @@
name: Build name: 'Build all keyboards'
on: on:
- push
- pull_request
- workflow_dispatch - workflow_dispatch
jobs: jobs:
build: build:
@ -12,56 +10,30 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
shield: shield:
# - bfo9000_left
# - bfo9000_right
- corne_left - corne_left
- corne_right - corne_right
- cradio_left - cradio_left
- cradio_right - cradio_right
# - cradio36_left
# - cradio36_right
# - cradios_left
# - cradios_right
# - cradioz_left
# - cradioz_right
- crbn - crbn
- eek - eek
- helix_left - helix_left
- helix_right - helix_right
- iris_left - iris_left
- iris_right - iris_right
- jian_left - jian_left
- jian_right - jian_right
- jorne_left - jorne_left
- jorne_right - jorne_right
- kyria_left - kyria_left
- kyria_right - kyria_right
- lily58_left - lily58_left
- lily58_right - lily58_right
- microdox_left - microdox_left
- microdox_right - microdox_right
- sofle_left - sofle_left
- sofle_right - sofle_right
- splitreus62_left - splitreus62_left
- splitreus62_right - splitreus62_right
board: board:
- nice_nano - nice_nano
alphas: [""] alphas: [""]
@ -69,24 +41,8 @@ jobs:
clipboard: [""] clipboard: [""]
layers: [""] layers: [""]
mapping: [""] mapping: [""]
include: include:
# - shield: absolem
# board:
# - board: ahokore
# - board: ferris
- board: planck_rev6 - board: planck_rev6
- shield: corne_left
board: nice_nano
alphas: qwerty
nav: vi
clipboard: win
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -125,56 +81,39 @@ jobs:
configfile="${GITHUB_WORKSPACE}/miryoku/config.h" configfile="${GITHUB_WORKSPACE}/miryoku/config.h"
echo "::set-output name=configfile::$configfile" echo "::set-output name=configfile::$configfile"
add_config()
{ artifact_build_name="miryoku_zmk ${{ matrix.shield }} ${{ matrix.board }}"
echo "#define MIRYOKU_"`echo "$1" | tr 'a-z' 'A-Z'` >> "$configfile" for option in "alphas_${{ matrix.alphas }}" "nav_${{ matrix.nav }}" "clipboard_${{ matrix.clipboard }}" "layers_${{ matrix.layers }}" "mapping_${{ matrix.mapping }}"
} do
if [ -n "${{ matrix.alphas }}" ] case "$option" in
then *_ ) ;;
alphas="alphas_${{ matrix.alphas }}" * )
add_config "$alphas" artifact_build_name="$artifact_build_name $option"
fi echo "#define MIRYOKU_"`echo "$option" | tr 'a-z' 'A-Z'` >> "$configfile"
if [ -n "${{ matrix.nav }}" ] ;;
then esac
nav="nav_${{ matrix.nav }}" done
add_config "$nav" artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
fi
if [ -n "${{ matrix.clipboard }}" ]
then
clipboard="clipboard_${{ matrix.clipboard }}"
add_config "$clipboard"
fi
if [ -n "${{ matrix.layers }}" ]
then
layers="layers_${{ matrix.layers }}"
add_config "$layers"
fi
if [ -n "${{ matrix.mapping }}" ]
then
mapping="mapping_${{ matrix.mapping }}"
add_config "$mapping"
fi
artifact_build_name=`echo miryoku-zmk ${{ matrix.shield }} ${{ matrix.board }} $alphas $nav $clipboard $layers $mapping | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name" echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'` echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
echo "::set-output name=tmpdir::artifacts" echo "::set-output name=artifact-dir::artifacts"
- name: Build (west build) - name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Prepare artifacts - name: Prepare artifacts
run: | run: |
mkdir ${{ steps.variables.outputs.tmpdir }} mkdir ${{ steps.variables.outputs.artifact-dir }}
cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.tmpdir }}" cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.artifact-dir }}"
for extension in "hex" "uf2" for extension in "hex" "uf2"
do do
file="build/zephyr/zmk.$extension" file="build/zephyr/zmk.$extension"
if [ -f "$file" ] if [ -f "$file" ]
then then
cp "$file" "${{ steps.variables.outputs.tmpdir }}/${{ steps.variables.outputs.artifact-build-name }}.$extension" cp "$file" "${{ steps.variables.outputs.artifact-dir }}/${{ steps.variables.outputs.artifact-build-name }}.$extension"
fi fi
done done
- name: Archive artifacts - name: Archive artifacts
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: with:
name: ${{ steps.variables.outputs.artifact-generic-name }} name: ${{ steps.variables.outputs.artifact-generic-name }}
path: ${{ steps.variables.outputs.tmpdir }} path: ${{ steps.variables.outputs.artifact-dir }}
continue-on-error: true continue-on-error: true

97
.github/workflows/build_corne.yml vendored Normal file
View File

@ -0,0 +1,97 @@
name: 'Build corne'
on:
- push
- pull_request
- workflow_dispatch
jobs:
build:
runs-on: ubuntu-latest
container:
image: zmkfirmware/zmk-build-arm:2.4
strategy:
fail-fast: false
matrix:
shield:
- corne_left
- corne_right
board:
- nice_nano
alphas: [""]
nav: [""]
clipboard: [""]
layers: [""]
mapping: [""]
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: Process matrix
id: variables
run: |
if [ -n "${{ matrix.shield }}" ]
then
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
fi
echo "::set-output name=shield-arg::${SHIELD_ARG}"
configfile="${GITHUB_WORKSPACE}/miryoku/config.h"
echo "::set-output name=configfile::$configfile"
artifact_build_name="miryoku_zmk ${{ matrix.shield }} ${{ matrix.board }}"
for option in "alphas_${{ matrix.alphas }}" "nav_${{ matrix.nav }}" "clipboard_${{ matrix.clipboard }}" "layers_${{ matrix.layers }}" "mapping_${{ matrix.mapping }}"
do
case "$option" in
*_ ) ;;
* )
artifact_build_name="$artifact_build_name $option"
echo "#define MIRYOKU_"`echo "$option" | tr 'a-z' 'A-Z'` >> "$configfile"
;;
esac
done
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
echo "::set-output name=artifact-dir::artifacts"
- name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Prepare artifacts
run: |
mkdir ${{ steps.variables.outputs.artifact-dir }}
cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.artifact-dir }}"
for extension in "hex" "uf2"
do
file="build/zephyr/zmk.$extension"
if [ -f "$file" ]
then
cp "$file" "${{ steps.variables.outputs.artifact-dir }}/${{ steps.variables.outputs.artifact-build-name }}.$extension"
fi
done
- name: Archive artifacts
uses: actions/upload-artifact@v2
with:
name: ${{ steps.variables.outputs.artifact-generic-name }}
path: ${{ steps.variables.outputs.artifact-dir }}
continue-on-error: true

View File

@ -0,0 +1,109 @@
name: 'Build corne_left with all options'
on:
- workflow_dispatch
jobs:
build:
runs-on: ubuntu-latest
container:
image: zmkfirmware/zmk-build-arm:2.4
strategy:
fail-fast: false
matrix:
shield:
- corne_left
board:
- nice_nano
alphas:
- ""
- colemak
- colemakdhk
- dvorak
- halmak
- workman
- qwerty
nav:
- ""
- vi
clipboard:
- ""
- fun
- mac
- win
layers:
- ""
mapping:
- ""
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: Process matrix
id: variables
run: |
if [ -n "${{ matrix.shield }}" ]
then
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
fi
echo "::set-output name=shield-arg::${SHIELD_ARG}"
configfile="${GITHUB_WORKSPACE}/miryoku/config.h"
echo "::set-output name=configfile::$configfile"
artifact_build_name="miryoku_zmk ${{ matrix.shield }} ${{ matrix.board }}"
for option in "alphas_${{ matrix.alphas }}" "nav_${{ matrix.nav }}" "clipboard_${{ matrix.clipboard }}" "layers_${{ matrix.layers }}" "mapping_${{ matrix.mapping }}"
do
case "$option" in
*_ ) ;;
* )
artifact_build_name="$artifact_build_name $option"
echo "#define MIRYOKU_"`echo "$option" | tr 'a-z' 'A-Z'` >> "$configfile"
;;
esac
done
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
echo "::set-output name=artifact-dir::artifacts"
- name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Prepare artifacts
run: |
mkdir ${{ steps.variables.outputs.artifact-dir }}
cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.artifact-dir }}"
for extension in "hex" "uf2"
do
file="build/zephyr/zmk.$extension"
if [ -f "$file" ]
then
cp "$file" "${{ steps.variables.outputs.artifact-dir }}/${{ steps.variables.outputs.artifact-build-name }}.$extension"
fi
done
- name: Archive artifacts
uses: actions/upload-artifact@v2
with:
name: ${{ steps.variables.outputs.artifact-generic-name }}
path: ${{ steps.variables.outputs.artifact-dir }}
continue-on-error: true