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