diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 36a02971..e516c9bf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -194,19 +194,85 @@ jobs: fail-fast: false matrix: include: - - board: uno - - board: esp01 + - platform: atmelavr + board: leonardo + libraries: + - SD + - Ethernet + - platform: espressif8266 + board: huzzah + - platform: espressif32 + board: esp32dev + libraries: + - Ethernet + - platform: atmelsam + board: mkr1000USB + libraries: + - SD + - Ethernet + - platform: teensy + board: teensy31 + - platform: ststm32 + board: adafruit_feather_f405 + libraries: + - SD + - Ethernet + - platform: nordicnrf52 + board: adafruit_feather_nrf52840 + libraries: + - SD + - Ethernet steps: - name: Checkout uses: actions/checkout@v2 + - name: Set up cache for pip + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip - name: Set up Python 3.x uses: actions/setup-python@v2 with: python-version: "3.x" - name: Install PlatformIO run: pip install platformio - - name: Build - run: extras/ci/platformio.sh ${{ matrix.board }} + - name: Install adafruit-nrfutil + if: ${{ matrix.platform == 'nordicnrf52' }} + run: pip install adafruit-nrfutil + - name: Set up cache for platformio + uses: actions/cache@v2 + with: + path: ~/.platformio + key: ${{ runner.os }}-platformio-${{ matrix.platform }} + - name: Install platform "${{ matrix.platform }}" + run: platformio platform install ${{ matrix.platform }} + - name: Install libraries + if: ${{ matrix.libraries }} + run: platformio lib install arduino-libraries/${{ join(matrix.libraries, ' arduino-libraries/') }} + - name: Build JsonConfigFile + run: platformio ci "examples/JsonConfigFile/JsonConfigFile.ino" -l '.' -b ${{ matrix.board }} + - name: Build JsonFilterExample + run: platformio ci "examples/JsonFilterExample/JsonFilterExample.ino" -l '.' -b ${{ matrix.board }} + - name: Build JsonGeneratorExample + run: platformio ci "examples/JsonGeneratorExample/JsonGeneratorExample.ino" -l '.' -b ${{ matrix.board }} + - name: Build JsonHttpClient + run: platformio ci "examples/JsonHttpClient/JsonHttpClient.ino" -l '.' -b ${{ matrix.board }} + - name: Build JsonParserExample + run: platformio ci "examples/JsonParserExample/JsonParserExample.ino" -l '.' -b ${{ matrix.board }} + - name: Build JsonServer + if: ${{ matrix.platform != 'espressif32' }} + run: platformio ci "examples/JsonServer/JsonServer.ino" -l '.' -b ${{ matrix.board }} + - name: Build JsonUdpBeacon + run: platformio ci "examples/JsonUdpBeacon/JsonUdpBeacon.ino" -l '.' -b ${{ matrix.board }} + - name: Build MsgPackParser + run: platformio ci "examples/MsgPackParser/MsgPackParser.ino" -l '.' -b ${{ matrix.board }} + - name: Build ProgmemExample + run: platformio ci "examples/ProgmemExample/ProgmemExample.ino" -l '.' -b ${{ matrix.board }} + - name: Build StringExample + run: platformio ci "examples/StringExample/StringExample.ino" -l '.' -b ${{ matrix.board }} + - name: PlatformIO prune + if: ${{ always() }} + run: platformio system prune -f particle: name: Particle diff --git a/extras/ci/platformio.sh b/extras/ci/platformio.sh deleted file mode 100755 index 7407163e..00000000 --- a/extras/ci/platformio.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -eux - -BOARD=$1 - -case $BOARD in -uno) - platformio lib install 868 # SD library - platformio lib install 872 # Ethernet library - ;; -esp01) - platformio lib uninstall 161 || true - platformio lib uninstall 868 || true - platformio lib uninstall 872 || true - ;; -esac - -for EXAMPLE in $PWD/examples/*/*.ino; -do - platformio ci $EXAMPLE -l '.' -b $BOARD -done