Skip to content

PiRAT build

PiRAT build #141

Workflow file for this run

name: PiRAT build
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '0 4 1 * *'
- cron: '30 4 1/6 * *'
env:
BUILD_TYPE: Release
jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ${{github.workspace}}/build
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
working-directory: ${{github.workspace}}
run: sudo apt install -y jq zstd libgl-dev
- name: Install Arm GNU Toolchain (arm-none-eabi-gcc)
uses: carlosperate/arm-none-eabi-gcc-action@v1
with:
release: '12.3.Rel1'
- name: Configure CMake (deps only)
working-directory: ${{github.workspace}}
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DDEPS_ONLY=1
- name: Cache dependencies
id: cache-deps
uses: actions/cache@v4
with:
path: |
build/DaisySP-prefix
build/RackSDK-prefix
build/libDaisy-prefix
key: ${{ runner.os }}-build-cache-deps
- name: Make dependencies
run: make deps
- name: Configure CMake
working-directory: ${{github.workspace}}
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DDEPS_ONLY=0
- name: Build Test
run: make test
- name: Run Test
run: ./test
- name: Build patchinit
run: make firmware
- name: Build versio
run: make firmware_versio
- name: Build legio
run: make firmware_legio
- name: Hash firmware artifacts
run: sha256sum PiRAT_*.bin > PiRAT.sha256
- name: Archive firmware artifacts
uses: actions/upload-artifact@v4
with:
name: PiRAT Firmware
path: |
${{github.workspace}}/build/PiRAT.sha256
${{github.workspace}}/build/PiRAT_*.bin