Skip to content

Print info for multiple devices #248

Print info for multiple devices

Print info for multiple devices #248

Workflow file for this run

name: Firmware
on: [push, pull_request, merge_group]
jobs:
firmware-build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target-board:
- 'cynthion'
- 'samd11_xplained'
- 'qtpy'
- 'cynthion r0.2'
- 'cynthion r0.4'
- 'raspberry_pi_pico'
include:
- target-board: 'cynthion r0.2'
board-major: 0
board-minor: 2
- target-board: 'cynthion r0.4'
board-major: 0
board-minor: 4
steps:
- name: Install ARM GCC
uses: carlosperate/arm-none-eabi-gcc-action@v1
- name: Checkout source code
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Build Apollo firmware for ${{ matrix.target-board }}
run: |
cd firmware
if [ -n "${{ matrix.board-major }}" ]; then
export BOARD_REVISION_MAJOR=${{ matrix.board-major }}
export BOARD_REVISION_MINOR=${{ matrix.board-minor }}
export APOLLO_BOARD="cynthion"
else
export APOLLO_BOARD=${{ matrix.target-board }}
fi
make get-deps all
# Publish bootloader binary for latest Cynthion hardware revision
- name: Publish Artifacts
uses: actions/upload-artifact@v4
with:
name: firmware-binaries
path: |
firmware/_build/cynthion_d11/firmware.bin
firmware/_build/cynthion_d11/firmware.elf
if: matrix.target-board == 'cynthion'