-
Notifications
You must be signed in to change notification settings - Fork 134
103 lines (94 loc) · 3.33 KB
/
Copy pathbuild-arduino-boards.yml
File metadata and controls
103 lines (94 loc) · 3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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 }}