Compare commits
6 Commits
c71986e1f6
...
github_syn
| Author | SHA1 | Date | |
|---|---|---|---|
| 93f118f055 | |||
| 2610f2d7d6 | |||
| 98de9c57e9 | |||
| 4ad2f39ee8 | |||
| 540d3cbc3a | |||
| 697542f532 |
@@ -1,5 +1,114 @@
|
||||
on: [push, pull_request, workflow_dispatch]
|
||||
|
||||
jobs:
|
||||
matrix:
|
||||
runs-on: ubuntu-latest
|
||||
name: Fetch Build Keyboards
|
||||
outputs:
|
||||
build_matrix: ${{ env.build_matrix }}
|
||||
has_valid_build_matrix: ${{ steps.fetch.outputs.has_valid_build_matrix }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install yq
|
||||
run: |
|
||||
sudo wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
|
||||
sudo chmod +x /usr/local/bin/yq
|
||||
|
||||
- name: Fetch Build Matrix
|
||||
id: fetch
|
||||
run: |
|
||||
matrix_content=$(yq -oj -I0 build.yaml)
|
||||
if [ -z "$matrix_content" ] || [ "$matrix_content" = "null" ]; then
|
||||
echo "has_valid_build_matrix=false" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "build_matrix=$matrix_content" >> $GITHUB_ENV
|
||||
echo "has_valid_build_matrix=true" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
build:
|
||||
uses: https://github.com/zmkfirmware/zmk/.github/workflows/build-user-config.yml@main
|
||||
runs-on: ubuntu-latest
|
||||
if: needs.matrix.outputs.has_valid_build_matrix == 'true'
|
||||
container:
|
||||
image: zmkfirmware/zmk-build-arm:stable
|
||||
needs: matrix
|
||||
name: Build
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix: ${{ fromJson(needs.matrix.outputs.build_matrix) }}
|
||||
steps:
|
||||
- name: Install Node.js (required for JS actions in this container)
|
||||
run: |
|
||||
apt-get update -qq && apt-get install -y -qq curl
|
||||
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
|
||||
apt-get install -y -qq nodejs
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Create build directory
|
||||
run: |
|
||||
echo "build_dir=$(mktemp -d)" >> $GITHUB_ENV
|
||||
|
||||
- name: Prepare variables
|
||||
shell: bash -x {0}
|
||||
env:
|
||||
board: ${{ matrix.board }}
|
||||
shield: ${{ matrix.shield }}
|
||||
artifact_name: ${{ matrix.artifact-name }}
|
||||
snippet: ${{ matrix.snippet }}
|
||||
run: |
|
||||
if [ -e zephyr/module.yml ]; then
|
||||
export zmk_load_arg=" -DZMK_EXTRA_MODULES='${GITHUB_WORKSPACE}'"
|
||||
new_tmp_dir="${TMPDIR:-/tmp}/zmk-config"
|
||||
mkdir -p "${new_tmp_dir}"
|
||||
echo "base_dir=${new_tmp_dir}" >> $GITHUB_ENV
|
||||
else
|
||||
echo "base_dir=${GITHUB_WORKSPACE}" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
if [ -n "${snippet}" ]; then
|
||||
extra_west_args="-S \"${snippet}\""
|
||||
fi
|
||||
|
||||
echo "zephyr_version=${ZEPHYR_VERSION}" >> $GITHUB_ENV
|
||||
echo "extra_west_args=${extra_west_args}" >> $GITHUB_ENV
|
||||
echo "extra_cmake_args=${shield:+-DSHIELD=\"$shield\"}${zmk_load_arg}" >> $GITHUB_ENV
|
||||
echo "display_name=${shield:+$shield - }${board}" >> $GITHUB_ENV
|
||||
echo "artifact_name=${artifact_name:-${shield:+$shield-}${board//\//_}-zmk}" >> $GITHUB_ENV
|
||||
|
||||
- name: West Init
|
||||
working-directory: ${{ env.base_dir }}
|
||||
run: west init -l "${{ env.base_dir }}/config"
|
||||
|
||||
- name: West Update
|
||||
working-directory: ${{ env.base_dir }}
|
||||
run: west update --fetch-opt=--filter=tree:0
|
||||
|
||||
- name: West Zephyr export
|
||||
working-directory: ${{ env.base_dir }}
|
||||
run: west zephyr-export
|
||||
|
||||
- name: West Build (${{ env.display_name }})
|
||||
working-directory: ${{ env.base_dir }}
|
||||
shell: sh -x {0}
|
||||
run: west build -s zmk/app -d "${{ env.build_dir }}" -b "${{ matrix.board }}" ${{ env.extra_west_args }} -- -DZMK_CONFIG=${{ env.base_dir }}/config ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }}
|
||||
|
||||
- name: Rename artifacts
|
||||
shell: sh -x {0}
|
||||
run: |
|
||||
mkdir "${{ env.build_dir }}/artifacts"
|
||||
if [ -f "${{ env.build_dir }}/zephyr/zmk.uf2" ]
|
||||
then
|
||||
cp "${{ env.build_dir }}/zephyr/zmk.uf2" "${{ env.build_dir }}/artifacts/${{ env.artifact_name }}.uf2"
|
||||
elif [ -f "${{ env.build_dir }}/zephyr/zmk.bin" ]
|
||||
then
|
||||
cp "${{ env.build_dir }}/zephyr/zmk.bin" "${{ env.build_dir }}/artifacts/${{ env.artifact_name }}.bin"
|
||||
fi
|
||||
|
||||
- name: Archive (${{ env.display_name }})
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ env.artifact_name }}
|
||||
path: ${{ env.build_dir }}/artifacts
|
||||
|
||||
10
build.yaml
10
build.yaml
@@ -13,9 +13,9 @@
|
||||
#
|
||||
---
|
||||
include:
|
||||
- board: nice_nano
|
||||
shield: corne_left nice_view
|
||||
- board: nice_nano
|
||||
shield: corne_right nice_view
|
||||
- board: nice_nano
|
||||
- board: nice_nano/nrf52840/zmk
|
||||
shield: corne_left nice_view_adapter nice_view
|
||||
- board: nice_nano/nrf52840/zmk
|
||||
shield: corne_right nice_view_adapter nice_view
|
||||
- board: nice_nano/nrf52840/zmk
|
||||
shield: settings_reset
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||
bindings = <
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &none &none &none &none &none &bt BT_SEL 3
|
||||
&kp LA(N6) &kp LA(N8) &kp LA(N4) &kp LA(N5) &kp LA(MINUS) &kp LA(EQUAL) &kp RSHFT &kp RCTRL &kp RALT &kp RGUI &none &bt BT_SEL 4
|
||||
&kp RA(N8) &kp RA(N4) &kp RA(N5) &kp RA(MINUS) &kp RA(EQUAL) &none &kp RSHFT &kp RCTRL &kp RALT &kp RGUI &none &bt BT_SEL 4
|
||||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &none &none &none &none &none &bt BT_SEL 5
|
||||
&to SHEET_ &none &none &none &none &trans
|
||||
>;
|
||||
@@ -96,9 +96,9 @@
|
||||
// | | | | | | | |
|
||||
|
||||
bindings = <
|
||||
&none &kp LS(N6) &kp NUBS &kp LS(NUBS) &kp RA(N4) &kp LS(N5) &kp RA(N0) &kp LS(N7) &kp LS(N8) &kp N4 &kp GRAVE &none
|
||||
&none &kp LS(LBKT) &kp LS(N5) &kp LS(N6) &kp LS(RBKT) &kp EQUAL &kp RA(N8) &kp LS(EQUAL) &kp MINUS &kp N8 &kp LS(N3) &none
|
||||
&none &kp RA(N2) &kp LBKT &kp RBKT &kp LS(MINUS) &kp LS(N3) &kp RA(N1) &kp LS(N1) &kp N5 &kp LS(N7) &kp LS(N0) &none
|
||||
&none &kp RA(N9) &kp NUBS &kp LS(NUBS) &kp RBKT &kp LS(SQT) &kp RA(N0) &kp N1 &kp BSLH &kp N4 &kp RA(N7) &none
|
||||
&none &kp RA(N4) &kp N5 &kp MINUS &kp RA(EQUAL) &kp EQUAL &kp RA(N8) &kp LS(EQUAL) &kp N6 &kp LS(DOT) &kp N3 &none
|
||||
&none &kp RA(N2) &kp RA(N5) &kp RA(MINUS) &kp N8 &kp RA(N3) &kp RA(N6) &kp FSLH &kp COMMA &kp DOT &kp LS(M) &none
|
||||
&none &none &none &none &none &none
|
||||
>;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user