name: Build Examples on: push: paths: - ./firmware pull_request: workflow_dispatch: jobs: build: strategy: fail-fast: false matrix: os: [ ubuntu-latest ] example: - ./firmware/esp32c3-blink - ./firmware/esp32c3-wifi-scan runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 with: submodules: "recursive" - name: Cache pip uses: actions/cache@v2 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- - name: Cache PlatformIO uses: actions/cache@v2 with: path: ~/.platformio key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} - name: Set up Python uses: actions/setup-python@v3 with: python-version: "3.9" - name: Install PlatformIO run: | python -m pip install --upgrade pip pip install --upgrade platformio - name: Build examples run: | pio run -d ${{ matrix.example }}