Skip to content

feat: Arduino UNO R4 WiFi / Nano 33 IoT/ MKR WiFi 1010 support added #8

feat: Arduino UNO R4 WiFi / Nano 33 IoT/ MKR WiFi 1010 support added

feat: Arduino UNO R4 WiFi / Nano 33 IoT/ MKR WiFi 1010 support added #8

name: Build for Arduino UNO R4 WiFi, Nano 33 IoT, MKR WiFi 1010
on:
workflow_dispatch:
pull_request:
branches: [master]
paths:
- src/**
- examples/**
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
example:
- examples/ACUnit
- examples/Blinds
- examples/ContactSensor
- examples/DimSwitch
- examples/doorbell
- examples/Fan
- examples/GarageDoor
- examples/Light/Light
- examples/Lock/Lock
- examples/Lock/Lock_with_feedback
- examples/MotionSensor
- examples/PowerSensor
- examples/Relay/MultiRelays_advance
- examples/Relay/Relay
- examples/Speaker
- examples/Switch/MultiSwitch_advance
- examples/Switch/MultiSwitch_beginner
- examples/Switch/MultiSwitch_intermediate
- examples/Switch/Switch
- examples/Thermostat
- examples/TV
- examples/AirQualitySensor/AirQualitySensor
- examples/temperaturesensor/DHT22
- examples/temperaturesensor/AHT10
- examples/temperaturesensor/HTU21D
board:
- fqbn: arduino:renesas_uno:unor4wifi
platform: arduino:renesas_uno
name: UNO_R4_WiFi
- fqbn: arduino:samd:nano_33_iot
platform: arduino:samd
name: Nano_33_IoT
- fqbn: arduino:samd:mkrwifi1010
platform: arduino:samd
name: MKR_WiFi_1010
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Arduino CLI
uses: arduino/setup-arduino-cli@v2
- name: Install board platforms
run: |
arduino-cli config init
arduino-cli core update-index
arduino-cli core install ${{ matrix.board.platform }}
- name: Install library dependencies
run: |
arduino-cli lib install "ArduinoJson"
arduino-cli lib install "WebSockets"
# WiFiNINA required for SAMD boards
if [[ "${{ matrix.board.platform }}" == "arduino:samd" ]]; then
arduino-cli lib install "WiFiNINA"
fi
# DHT sensor library for temperature examples
if [[ "${{ matrix.example }}" == *"DHT22"* ]]; then
arduino-cli lib install "DHT sensor library"
arduino-cli lib install "Adafruit Unified Sensor"
fi
# AHT10 library for temperature examples
if [[ "${{ matrix.example }}" == *"AHT10"* ]]; then
arduino-cli lib install "Adafruit AHTX0"
fi
# HTU21D library for temperature examples
if [[ "${{ matrix.example }}" == *"HTU21D"* ]]; then
arduino-cli lib install "Adafruit HTU21DF Library"
fi
- name: Link library to Arduino libraries folder
run: |
mkdir -p ~/Arduino/libraries
ln -s $GITHUB_WORKSPACE ~/Arduino/libraries/SinricPro
- name: Get sketch name
id: sketch
run: |
SKETCH_PATH="${{ matrix.example }}"
SKETCH_NAME=$(basename "$SKETCH_PATH")
echo "path=${SKETCH_PATH}/${SKETCH_NAME}.ino" >> $GITHUB_OUTPUT
- name: Compile sketch
run: |
arduino-cli compile --fqbn ${{ matrix.board.fqbn }} ${{ steps.sketch.outputs.path }}