on: [push, pull_request, workflow_dispatch] name: Build jobs: build: runs-on: ubuntu-latest container: image: zmkfirmware/zmk-build-arm:stable name: Build steps: - name: Checkout uses: actions/checkout@v4 - name: Get version data id: get_info run: | timestamp=$(date +"%Y%m%d%H%M") commit=$(echo "${{ github.sha }}" | cut -c1-7) file_prefix=$timestamp-$commit branch_name=$(echo "${{ github.ref }}" | awk -F'/' '{print $3}' | cut -c1-4) echo "file_prefix=$file_prefix" >> $GITHUB_OUTPUT bin/get_version.sh $branch_name $commit - name: Cache west modules uses: actions/cache@v4 env: cache-name: cache-zephyr-modules with: path: | modules/ tools/ zephyr/ bootloader/ zmk/ key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('manifest-dir/west.yml') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - name: West Init run: west init -l config - name: West Update run: west update - name: West Zephyr export run: west zephyr-export - name: West Build (left) run: west build -s zmk/app -d build/left -b adv360_left -- -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" - name: Adv360 Left Kconfig file run: grep -vE '(^#|^$)' build/left/zephyr/.config - name: West Build (right) run: west build -s zmk/app -d build/right -b adv360_right -- -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" - name: Adv360 Right Kconfig file run: grep -vE '(^#|^$)' build/right/zephyr/.config - name: Rename zmk.uf2 run: cp build/left/zephyr/zmk.uf2 ${{ steps.get_info.outputs.file_prefix }}-left.uf2 && cp build/right/zephyr/zmk.uf2 ${{ steps.get_info.outputs.file_prefix }}-right.uf2 - name: Archive (Adv360) uses: actions/upload-artifact@v4 with: name: firmware path: | ${{ steps.get_info.outputs.file_prefix }}-left.uf2 ${{ steps.get_info.outputs.file_prefix }}-right.uf2