123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- name: Arduino Library CI
- on:
- push:
- paths-ignore:
- - "**/**.md"
- - "/keywords.txt"
- - "/library.json"
- - "/library.properties"
- - "/vue-frontend"
- - "/docs"
- pull_request:
- paths-ignore:
- - "**/**.md"
- - "/keywords.txt"
- - "/library.json"
- - "/library.properties"
- - "/vue-frontend"
- - "/docs"
- jobs:
- arduino:
- name: arduino ${{ matrix.name }}
- runs-on: ubuntu-latest
- strategy:
- fail-fast: false
- matrix:
- include:
- - name: package_esp32_index.json
- core: esp32:esp32
- board: esp32:esp32:esp32
- index_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
- - name: package_esp32_dev_index.json
- core: esp32:esp32
- board: esp32:esp32:esp32
- index_url: https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json
- - name: package_esp8266com_index.json
- core: esp8266:esp8266
- board: esp8266:esp8266:huzzah
- index_url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Arduino Lint
- uses: arduino/arduino-lint-action@v1
- with:
- library-manager: update
- - name: Install arduino-cli
- run: curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=/usr/local/bin sh
- - name: Update core index
- run: arduino-cli core update-index --additional-urls "${{ matrix.index_url }}"
- - name: Install core
- run: arduino-cli core install --additional-urls "${{ matrix.index_url }}" ${{ matrix.core }}
- - name: Install AsyncTCP
- run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/AsyncTCP#v3.1.4
- - name: Install ESPAsyncTCP
- run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/esphome-ESPAsyncTCP#v2.0.0
- - name: Install ESPAsyncWebServer
- run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/ESPAsyncWebServer#v2.10.4
- - name: Build Demo
- run: arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/Demo/Demo.ino"
- - name: Build Demo_AP
- run: arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/Demo_AP/Demo_AP.ino"
- - name: Build Logging
- run: arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/Logging/Logging.ino"
- - name: Build HighPerf
- run: arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/HighPerf/HighPerf.ino"
- platformio:
- name: pio ${{ matrix.name }}
- runs-on: ubuntu-latest
- strategy:
- fail-fast: false
- matrix:
- include:
- - name: esp32dev|arduino
- board: esp32dev
- platform: espressif32
- opts:
- - name: esp32dev|arduino-2
- board: esp32dev
- platform: espressif32@6.7.0
- opts:
- - name: esp32dev|arduino-3
- board: esp32dev
- platform: espressif32
- opts: "--project-option 'platform_packages=platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.0, platform_packages=platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.0/esp32-arduino-libs-3.0.0.zip'"
- - name: esp32-s3-devkitc-1|arduino
- board: esp32-s3-devkitc-1
- platform: espressif32
- opts:
- - name: esp32-s3-devkitc-1|arduino-2
- board: esp32-s3-devkitc-1
- platform: espressif32@6.7.0
- opts:
- - name: esp32-s3-devkitc-1|arduino-3
- board: esp32-s3-devkitc-1
- platform: espressif32
- opts: "--project-option 'platform_packages=platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.0, platform_packages=platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.0/esp32-arduino-libs-3.0.0.zip'"
- - name: huzzah|espressif8266
- board: huzzah
- platform: espressif8266
- opts:
- steps:
- - uses: actions/checkout@v4
- - name: Set up cache
- uses: actions/cache@v4
- with:
- path: |
- ~/.platformio
- ~/.cache/pip
- key: ${{ matrix.name }}
- - uses: actions/setup-python@v5
- with:
- python-version: "3.x"
- - run: pip install platformio
- - run: platformio platform install ${{ matrix.platform }}
- - run: platformio ci "examples/Demo/Demo.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
- - run: platformio ci "examples/Demo_AP/Demo_AP.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
- - run: platformio ci "examples/Logging/Logging.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
- - run: platformio ci "examples/HighPerf/HighPerf.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
- - run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" platformio ci "examples/Demo/Demo.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
- - run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" platformio ci "examples/Demo_AP/Demo_AP.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
- - run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" platformio ci "examples/Logging/Logging.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
- - run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" platformio ci "examples/HighPerf/HighPerf.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
|