From c6f8c4a9d116a645eb3993b782eb881d4432bfa8 Mon Sep 17 00:00:00 2001 From: SneezeGUI Date: Sat, 30 May 2026 15:40:03 -0700 Subject: [PATCH] ci: add PlatformIO build workflow (classic ESP32 / S3 / C3) Builds one representative env per chip family on every PR and push to main, so compile breakage is caught in CI. Once it has run, it can be added as a required status check on the main ruleset. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/build.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..3b029be --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,32 @@ +name: build + +on: + pull_request: + push: + branches: [main] + +jobs: + build: + name: build ${{ matrix.env }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + # Representative env per chip family (classic ESP32 / S3 / C3) + env: [esp32-2432s028, esp32-s3-devkit, esp32-c3-supermini] + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.11' + cache: pip + - name: Cache PlatformIO + uses: actions/cache@v4 + with: + path: ~/.platformio + key: pio-${{ runner.os }}-${{ hashFiles('platformio.ini') }} + restore-keys: pio-${{ runner.os }}- + - name: Install PlatformIO + run: pip install platformio + - name: Build ${{ matrix.env }} + run: pio run -e ${{ matrix.env }}