feat(build): Allow specifying snippets for a build.

* Allow using snippets https://docs.zephyrproject.org/latest/build/snippets/using.html
  for user builds in a `snippets` array properly.
This commit is contained in:
Peter Johanson 2024-03-24 21:09:16 +00:00 committed by Pete Johanson
parent c684cee76f
commit 94c3b9a246

View File

@ -65,6 +65,7 @@ jobs:
board: ${{ matrix.board }} board: ${{ matrix.board }}
shield: ${{ matrix.shield }} shield: ${{ matrix.shield }}
artifact_name: ${{ matrix.artifact-name }} artifact_name: ${{ matrix.artifact-name }}
snippet: ${{ matrix.snippet }}
run: | run: |
if [ -e zephyr/module.yml ]; then if [ -e zephyr/module.yml ]; then
export zmk_load_arg=" -DZMK_EXTRA_MODULES='${GITHUB_WORKSPACE}'" export zmk_load_arg=" -DZMK_EXTRA_MODULES='${GITHUB_WORKSPACE}'"
@ -75,7 +76,12 @@ jobs:
echo "base_dir=${GITHUB_WORKSPACE}" >> $GITHUB_ENV echo "base_dir=${GITHUB_WORKSPACE}" >> $GITHUB_ENV
fi fi
if [ -n "${snippet}" ]; then
extra_west_args="-S \"${snippet}\""
fi
echo "zephyr_version=${ZEPHYR_VERSION}" >> $GITHUB_ENV 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 "extra_cmake_args=${shield:+-DSHIELD=\"$shield\"}${zmk_load_arg}" >> $GITHUB_ENV
echo "display_name=${shield:+$shield - }${board}" >> $GITHUB_ENV echo "display_name=${shield:+$shield - }${board}" >> $GITHUB_ENV
echo "artifact_name=${artifact_name:-${shield:+$shield-}${board}-zmk}" >> $GITHUB_ENV echo "artifact_name=${artifact_name:-${shield:+$shield-}${board}-zmk}" >> $GITHUB_ENV
@ -120,7 +126,7 @@ jobs:
- name: West Build (${{ env.display_name }}) - name: West Build (${{ env.display_name }})
working-directory: ${{ env.base_dir }} working-directory: ${{ env.base_dir }}
shell: sh -x {0} shell: sh -x {0}
run: west build -s zmk/app -d "${{ env.build_dir }}" -b "${{ matrix.board }}" -- -DZMK_CONFIG=${{ env.base_dir }}/${{ inputs.config_path }} ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }} run: west build -s zmk/app -d "${{ env.build_dir }}" -b "${{ matrix.board }}" ${{ env.extra_west_args }} -- -DZMK_CONFIG=${{ env.base_dir }}/${{ inputs.config_path }} ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }}
- name: ${{ env.display_name }} Kconfig file - name: ${{ env.display_name }} Kconfig file
run: | run: |