# Build examples with Platformio # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions # https://docs.platformio.org/en/latest/integration/ci/github-actions.html name: PlatformIO CI on: push: branches: [ master, dev ] pull_request: branches: [ master, dev ] jobs: build: runs-on: ubuntu-latest strategy: matrix: example: - "examples/PIO_TestPatterns" no_gfx: ["", -DNO_GFX] no_fast_functions: ["", -DFAST_FUNCTIONS] no_cie1931: ["", -DNO_CIE1931] virtual_panel: ["", -DVIRTUAL_PANEL] env: PLATFORMIO_BUILD_FLAGS: ${{ matrix.no_gfx }} ${{ matrix.no_fast_functions }} ${{ matrix.no_cie1931 }} ${{ matrix.virtual_panel }} steps: - uses: actions/checkout@v2 - 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 3.x uses: actions/setup-python@v2 with: python-version: '3.x' - name: Install Platformio run: | python -m pip install --upgrade pip pip install --upgrade platformio pio update - name: Run PlatformIO env: PLATFORMIO_CI_SRC: ${{ matrix.example }} run: | pio ci -c ${{ matrix.example }}/platformio.ini