name: CI Examples Arduino IDF 5.5.x based on: workflow_dispatch: # Manually start a workflow push: paths-ignore: - '.github/**' # Ignore changes towards the .github directory - '**.md' # Do no build if *.md files changes jobs: build: strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-15] example: - "examples/arduino-blink" - "examples/arduino-rmt-blink" - "examples/arduino-usb-keyboard" - "examples/arduino-wifiscan" - "examples/arduino-zigbee-light" - "examples/arduino-zigbee-switch" - "examples/arduino-NimBLE-ext_client" - "examples/arduino-matter-light" - "examples/tasmota" - "examples/espidf-arduino-matter-light" - "examples/espidf-arduino-blink" - "examples/espidf-arduino-littlefs" - "examples/espidf-blink" - "examples/espidf-coap-server" - "examples/espidf-exceptions" - "examples/espidf-hello-world" - "examples/espidf-http-request" - "examples/espidf-peripherals-uart" - "examples/espidf-peripherals-usb" - "examples/espidf-storage-sdcard" - "examples/espidf-ulp" - "examples/espidf-ulp-riscv" - "examples/espidf-ulp-lp" exclude: - os: windows-latest example: "examples/espidf-ulp" - os: windows-latest example: "examples/espidf-ulp-lp" - os: windows-latest example: "examples/espidf-ulp-riscv" - os: windows-latest example: "examples/espidf-arduino-matter-light" runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 with: submodules: "recursive" - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.13" - name: Install uv uses: astral-sh/setup-uv@v6 with: version: "latest" enable-cache: false - name: Install dependencies run: | uv pip install --system -U https://github.com/pioarduino/platformio-core/archive/refs/tags/v6.1.18.zip pio pkg install --global --platform file://. - name: git clone Tasmota and add to examples if: "matrix.example == 'examples/tasmota'" run: | git clone -b development --depth 1 https://github.com/arendst/Tasmota.git examples/tasmota cp examples/tasmota_platformio_override.ini examples/tasmota/platformio_override.ini - name: Build examples env: PYTHONIOENCODING: utf-8 PYTHONUTF8: '1' run: pio run -d ${{ matrix.example }}