name: Build Matrix on: push: branches: [ main ] paths: - 'src/**' - 'hardware/**' - 'soc/**' - 'platformio.ini' - '.gitea/workflows/build-matrix.yml' pull_request: branches: [ main ] jobs: build-matrix: name: Build runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: # ESP32-S3 targets (Heltec V3, Seeed Xiao S3) - target: heltec_v3 description: "Heltec WiFi LoRa 32 V3 (ESP32-S3, SX1262)" chip: esp32s3 - target: seeed_xiao_s3_wio_sx1262 description: "Seeed XIAO ESP32-S3 + Wio SX1262" chip: esp32s3 steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.11' - name: Cache PlatformIO uses: actions/cache@v3 with: path: ~/.platformio key: ${{ runner.os }}-platformio-${{ matrix.chip }}-${{ hashFiles('**/platformio.ini') }} restore-keys: | ${{ runner.os }}-platformio- - name: Install PlatformIO run: pip install platformio - name: Build ${{ matrix.target }} run: | echo "Building: ${{ matrix.description }}" pio run -e ${{ matrix.target }} - name: Report if: always() run: | echo "✅ Build completed for ${{ matrix.target }}"