* Add and remove libs and components for Arduino Core 3 * Arduino Core 3 * Add back Solo1 * Change ESP32-S3 to 4MB build * Update README.md * Fix retain and number of retries * Fix rolling log * Fix defaults * Fix BleScanner on Solo1 * Export settings * Import settings * Fix HA Battery voltage * Change submodule * Update espMqttClient and AsyncTCP * Webserial and MQTT/Network reconnecting * Update nuki_ble --------- Co-authored-by: iranl <iranl@github.com>
130 lines
5.4 KiB
YAML
130 lines
5.4 KiB
YAML
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
|
|
|
|
name: Continuous Integration
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
pull_request:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
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 Async TCP
|
|
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 ESP Async WebServer
|
|
run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/ESPAsyncWebServer#v3.0.6
|
|
|
|
- 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: "--project-option 'lib_compat_mode = strict'"
|
|
- name: esp32dev|arduino-2
|
|
board: esp32dev
|
|
platform: espressif32@6.7.0
|
|
opts: "--project-option 'lib_compat_mode = strict'"
|
|
- name: esp32dev|arduino-3
|
|
board: esp32dev
|
|
platform: espressif32
|
|
opts: "--project-option 'lib_compat_mode = strict' --project-option 'platform_packages=platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.2, platform_packages=platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip'"
|
|
|
|
- name: esp32-s3-devkitc-1|arduino
|
|
board: esp32-s3-devkitc-1
|
|
platform: espressif32
|
|
opts: "--project-option 'lib_compat_mode = strict'"
|
|
- name: esp32-s3-devkitc-1|arduino-2
|
|
board: esp32-s3-devkitc-1
|
|
platform: espressif32@6.7.0
|
|
opts: "--project-option 'lib_compat_mode = strict'"
|
|
- name: esp32-s3-devkitc-1|arduino-3
|
|
board: esp32-s3-devkitc-1
|
|
platform: espressif32
|
|
opts: "--project-option 'lib_compat_mode = strict' --project-option 'platform_packages=platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.2, platform_packages=platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip'"
|
|
|
|
- name: huzzah|espressif8266
|
|
board: huzzah
|
|
platform: espressif8266
|
|
opts: "--project-option 'lib_compat_mode = strict'"
|
|
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 }}
|