From 364fc4bb14c40d692fa7d2a97424df7017a084cd Mon Sep 17 00:00:00 2001 From: Emil Muratov Date: Mon, 20 Dec 2021 00:15:41 +0300 Subject: [PATCH] create a CI job to test examples builds --- .github/workflows/pio_build.yml | 48 ++++++++++++++++++++++++ README.md | 2 + examples/PIO_TestPatterns/platformio.ini | 31 +++++++-------- 3 files changed, 66 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/pio_build.yml diff --git a/.github/workflows/pio_build.yml b/.github/workflows/pio_build.yml new file mode 100644 index 0000000..39901f9 --- /dev/null +++ b/.github/workflows/pio_build.yml @@ -0,0 +1,48 @@ +# 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" + + 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 \ No newline at end of file diff --git a/README.md b/README.md index f48afc1..281cd08 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # HUB75 RGB LED matrix library utilizing ESP32 DMA Engine +__[BUILD](/doc/BuildOptions.md) | [EXAMPLES](/examples/README.md)__ | [![PlatformIO CI](https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/actions/workflows/pio_build.yml/badge.svg)](https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/actions/workflows/pio_build.yml) + **Table of Content** - [Introduction](#introduction) diff --git a/examples/PIO_TestPatterns/platformio.ini b/examples/PIO_TestPatterns/platformio.ini index c5a2b09..087085c 100644 --- a/examples/PIO_TestPatterns/platformio.ini +++ b/examples/PIO_TestPatterns/platformio.ini @@ -25,18 +25,19 @@ lib_deps = https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA.git -[env:idfarduino] -platform = espressif32 -platform_packages = - ; use a special branch - framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#idf-release/v4.0 -framework = arduino, espidf -build_flags = - ${env.build_flags} - -DARDUINO=200 - -DESP32 - ;-DUSE_FASTLINES - -DNO_GFX -lib_deps = - ${env.lib_deps} - https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA.git +; PIO CI can't handle IDF git modules properly (yet) +;[env:idfarduino] +;platform = espressif32 +;platform_packages = +; ; use a special branch +; framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#idf-release/v4.4 +;framework = arduino, espidf +;build_flags = +; ${env.build_flags} +; -DARDUINO=200 +; -DESP32 +; ;-DUSE_FASTLINES +; -DNO_GFX +;lib_deps = +; ${env.lib_deps} +; https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA.git