forge: step 2 — add representative build tooling

This commit is contained in:
cj-vana
2026-05-14 13:07:46 -06:00
parent 346ca7cb93
commit 2f3cb1049a
7 changed files with 473 additions and 0 deletions

50
.github/workflows/firmware-build.yml vendored Normal file
View File

@@ -0,0 +1,50 @@
name: Firmware Build
on:
pull_request:
push:
branches:
- main
workflow_dispatch:
jobs:
representative-build:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Cache PlatformIO
uses: actions/cache@v4
with:
path: |
~/.cache/pip
~/.platformio/.cache
key: ${{ runner.os }}-pio
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install PlatformIO
run: python3 -m pip install --upgrade platformio
- name: Build representative firmware
run: bash scripts/build-representative.sh --baseline
- name: Upload size reports
uses: actions/upload-artifact@v4
if: always()
with:
name: representative-size-reports
path: out/size
- name: Upload firmware artifacts
uses: actions/upload-artifact@v4
if: always()
with:
name: representative-firmware
path: out/firmware