Subversion Repositories ESP8266_P1_Meter

Rev

Blame | Last modification | View Log | RSS feed

name: PlatformIO CI
on: [workflow_call, push]
jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        example:
          - name: publish_and_subscribe
        board:
          - name: lolin_s2_mini
            library: library.json
            example_root: examples/arduino/espidf_stack/
          - name: lolin_c3_mini
            library: library.json
            example_root: examples/arduino/espidf_stack/
          - name: d1_mini
            library: library.json.esp8266
            example_root: examples/arduino/legacy_stack/

    steps:
      - uses: actions/checkout@v6
      - uses: actions/cache@v3
        with:
          path: |
            ~/.cache/pip
            ~/.platformio/.cache
          key: ${{ runner.os }}-pio
      - uses: actions/setup-python@v4
        with:
          python-version: '3.9'
      - name: Install PlatformIO Core
        run: pip install --upgrade platformio

      - name: Copy library.json to root (if not src is also in root)
        run: mv ${{ matrix.board.library }} ./library.json || true
        if: ${{ matrix.board.library != './library.json' }}

      - name: Build PlatformIO examples
        run: pio ci --lib="." --board=${{ matrix.board.name }} --project-option="build_unflags=-std=gnu++11" --project-option="build_flags=-std=gnu++17"
        env:
          PLATFORMIO_CI_SRC: ${{ matrix.board.example_root }}${{ matrix.example.name }}