Skip to content

New board model 0401D #114

New board model 0401D

New board model 0401D #114

Workflow file for this run

name: Firmware Build
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
BUILD_TYPE: Release
# Pico-SDK v1.5.1
PICO_SDK_REF: 6a7db34ff63345a7badec79ebea3aaef1712f374
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
fanpico_board: ["0804", "0804D", "0401D" ]
pico_board: ["pico", "pico_w"]
steps:
- name: Arm GNU Toolchain (arm-none-eabi-gcc)
uses: carlosperate/arm-none-eabi-gcc-action@v1
- name: Cache Pico-SDK
id: cache-pico-sdk
uses: actions/cache@v4
with:
path: pico-sdk
key: ${{runner.os}}-pico-sdk-${{env.PICO_SDK_REF}}
- if: ${{steps.cache-pico-sdk.outputs.cache-hit != 'true' }}
name: Checkout Pico-SDK
uses: actions/checkout@v4
with:
repository: raspberrypi/pico-sdk
ref: ${{env.PICO_SDK_REF}}
path: pico-sdk
submodules: true
- name: Add PICO_SDK_PATH to Environment
run: |
echo "PICO_SDK_PATH=${{github.workspace}}/pico-sdk" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v4
with:
path: main
submodules: recursive
- name: Configure CMake
run: cmake -S main -B ${{github.workspace}}/main/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DPICO_BOARD=${{matrix.pico_board}} -DFANPICO_BOARD=${{matrix.fanpico_board}}
- name: Build
run: cmake --build ${{github.workspace}}/main/build --config ${{env.BUILD_TYPE}}
- name: Test
working-directory: ${{github.workspace}}/main/build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: |
ls -l fanpico.*
sha256sum fanpico.uf2
- name: Gather Artifact Files
working-directory: ${{github.workspace}}/main/build
run: |
mkdir dist
cp -av fanpico.uf2 dist/fanpico-${{matrix.fanpico_board}}-${{matrix.pico_board}}.uf2
cp -av fanpico.elf dist/fanpico-${{matrix.fanpico_board}}-${{matrix.pico_board}}.elf
cp -av fanpico.elf.map dist/fanpico-${{matrix.fanpico_board}}-${{matrix.pico_board}}.elf.map
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: firmware-${{matrix.fanpico_board}}-${{matrix.pico_board}}
path: main/build/dist
merge:
runs-on: ubuntu-latest
needs: build
steps:
# - name: Merge Artifacts
# uses: actions/upload-artifact/merge@v4
# with:
# name: fanpico-firmware-${{github.run_number}}-${{github.sha}}
# pattern: firmware-*
# delete-merged: true
- name: Download All Artifacts
uses: actions/download-artifact@v4
with:
path: bundle
pattern: firmware-*
merge-multiple: true
- name: Check Final Artifact Contents
working-directory: bundle
run: |
ls -la
sha256sum *
- name: Upload Final Artifact
uses: actions/upload-artifact@v4
with:
name: fanpico-firmware-$${github.run_number}}-${{github.sha}}
path: bundle