feat: Arduino UNO R4 WiFi / Nano 33 IoT/ MKR WiFi 1010 support added #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }} |