name: Build

on:
  push:
  pull_request:
    branches:
      - master

jobs:
    platformio:
      name: PlatformIO
      runs-on: ubuntu-latest
      strategy:
        matrix:
          board: [esp32dev]
      steps:
        - name: Checkout
          uses: actions/checkout@v4

        - name: Cache PlatformIO
          uses: actions/cache@v4
          with:
            key: ${{ runner.os }}-pio
            path: |
              ~/.cache/pip
              ~/.platformio

        - name: Python
          uses: actions/setup-python@v5
          with:
            python-version: '3.x'

        - name: Install PlatformIO
          run: |
            python -m pip install -U pip
            pip install -U platformio

        - run: PLATFORMIO_SRC_DIR=examples/demo PIO_BOARD=${{ matrix.board }} pio run