Add workflow to build firmware #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Firmware | |
on: | |
push: # Trigger for pushes. | |
paths: | |
- hardware/firmware/** | |
- .github/workflows/build-firmware.yaml | |
pull_request: # Trigger for pull requests. | |
types: [opened, synchronize, reopened, ready_for_review] | |
workflow_dispatch: # Allows for manual triggering. | |
inputs: | |
ref: | |
description: "The ref to build and test." | |
required: false | |
# If another instance of this workflow is started for the same PR, cancel the | |
# old one. If a PR is updated and a new test run is started, the old test run | |
# will be cancelled automatically to conserve resources. | |
concurrency: | |
group: ${{ github.workflow }}-${{ inputs.ref || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Build Firmware | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ inputs.ref || github.ref }} | |
- name: Install Arduino CLI | |
uses: arduino/setup-arduino-cli@v1 | |
- name: Install Arduino RP2040 core | |
run: | | |
arduino-cli config add board_manager.additional_urls https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json | |
arduino-cli core update-index | |
arduino-cli core install rp2040:rp2040 | |
- name: Install Arduino libraries | |
run: arduino-cli lib install Ethernet | |
- name: Build firmware | |
run: | | |
cd hardware/firmware | |
make build |