36a9a686ac
I believe that we want to trigger actions/workflows when the workflow files in .github/workflows are updated; this is how we will know that they work :)
63 lines
2 KiB
YAML
63 lines
2 KiB
YAML
# 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 ]
|
|
paths-ignore:
|
|
- '**.md'
|
|
- 'doc/**'
|
|
pull_request:
|
|
branches: [ master, dev ]
|
|
paths-ignore:
|
|
- '**.md'
|
|
- 'doc/**'
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
framework: ["Arduino", "IDF"]
|
|
no_gfx: ["", -DNO_GFX]
|
|
# no_fast_functions: ["", -DNO_FAST_FUNCTIONS]
|
|
# no_cie1931: ["", -DNO_CIE1931]
|
|
# virtual_panel: ["", -DVIRTUAL_PANE]
|
|
example:
|
|
- "examples/PIO_TestPatterns"
|
|
# exclude:
|
|
# - no_fast_functions: ""
|
|
# virtual_panel: -DVIRTUAL_PANE
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Cache pip and platformio
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
~/.cache/pip
|
|
~/.platformio/.cache
|
|
key: ${{ runner.os }}-pio
|
|
- name: Set up Python 3.x
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.x'
|
|
- name: Install Platformio
|
|
run: pip install --upgrade platformio==6.1.6
|
|
- name: Run PlatformIO CI (Arduino)
|
|
if: ${{ matrix.framework == 'Arduino'}}
|
|
env:
|
|
PLATFORMIO_BUILD_FLAGS: ${{ matrix.no_gfx }} ${{ matrix.no_fast_functions }} ${{ matrix.no_cie1931 }} ${{ matrix.virtual_panel }}
|
|
PLATFORMIO_CI_SRC: ${{ matrix.example }}
|
|
run: pio ci -e esp32 -c ${{ matrix.example }}/platformio.ini
|
|
- name: Run PlatformIO CI (ESP-IDF)
|
|
if: ${{ matrix.framework == 'IDF'}}
|
|
env:
|
|
PLATFORMIO_BUILD_FLAGS: -DIDF_BUILD ${{ matrix.no_gfx }} ${{ matrix.no_fast_functions }} ${{ matrix.no_cie1931 }} ${{ matrix.virtual_panel }}
|
|
# pio ci doesn't use our sdkconfig, so we have to use pio run
|
|
run: pio run -d ${{ matrix.example }} -e esp32idf -c ${{ matrix.example }}/platformio.ini
|