11name : Compile Examples
22
3+ # See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
34on :
4- pull_request :
5+ push :
56 paths :
67 - " .github/workflows/compile-examples.yml"
78 - " examples/**"
89 - " src/**"
9- push :
10+ pull_request :
1011 paths :
1112 - " .github/workflows/compile-examples.yml"
1213 - " examples/**"
1314 - " src/**"
14-
15+
1516jobs :
1617 build :
18+ name : ${{ matrix.board.fqbn }}
1719 runs-on : ubuntu-latest
1820
1921 env :
20- UNIVERSAL_LIBRARIES : |
21- - source-path: ./
22-
2322 SKETCHES_REPORTS_PATH : sketches-reports
2423
2524 strategy :
2625 fail-fast : false
2726
28- matrix :
29- board :
30- # Arduino
31- - fqbn : arduino:avr:uno
32- platforms : |
33- - name: arduino:avr
34- - fqbn : arduino:avr:nano
35- platforms : |
36- - name: arduino:avr
37- - fqbn : arduino:avr:mega
38- platforms : |
39- - name: arduino:avr
40- - fqbn : arduino:avr:leonardo
41- platforms : |
42- - name: arduino:avr
43- - fqbn : arduino:megaavr:nona4809
44- platforms : |
45- - name: arduino:megaavr
46- - fqbn : arduino:sam:arduino_due_x_dbg
47- platforms : |
48- - name: arduino:sam
49- - fqbn : arduino:samd:mkrzero
50- platforms : |
51- - name: arduino:samd
52- - fqbn : arduino:samd:mkrwifi1010
53- platforms : |
54- - name: arduino:samd
55- - fqbn : arduino:samd:mkrfox1200
56- platforms : |
57- - name: arduino:samd
58- - fqbn : arduino:samd:mkrwan1300
59- platforms : |
60- - name: arduino:samd
61- - fqbn : arduino:samd:mkrwan1310
62- platforms : |
63- - name: arduino:samd
64- - fqbn : arduino:samd:mkrgsm1400
65- platforms : |
66- - name: arduino:samd
67- - fqbn : arduino:samd:mkrnb1500
68- platforms : |
69- - name: arduino:samd
70- - fqbn : arduino:samd:mkrvidor4000
71- platforms : |
72- - name: arduino:samd
73- - fqbn : arduino:mbed_portenta:envie_m7:target_core=cm4
74- platforms : |
75- - name: arduino:mbed_portenta
76- - fqbn : arduino:mbed_portenta:envie_m7
77- platforms : |
78- - name: arduino:mbed_portenta
79- - fqbn : arduino:mbed_nano:nanorp2040connect
80- platforms : |
81- - name: arduino:mbed_nano
82- - fqbn : arduino:mbed_edge:edge_control
83- platforms : |
84- - name: arduino:mbed_edge
85-
86- # Artemis / Apollo3
87- # https://github.com/sparkfun/Arduino_Apollo3/blob/main/boards.txt
88- - fqbn : SparkFun:apollo3:sfe_artemis_atp
89- platforms : |
90- - name: SparkFun:apollo3
91- source-url: https://raw.githubusercontent.com/sparkfun/Arduino_Apollo3/master/package_sparkfun_apollo3_index.json
92-
93- # ESP32
94- # https://github.com/espressif/arduino-esp32/blob/master/boards.txt
95- - fqbn : esp32:esp32:esp32
96- platforms : |
97- - name: esp32:esp32
98- source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
99-
100- # ESP32-S2
101- # https://github.com/espressif/arduino-esp32/blob/master/boards.txt
102- - fqbn : esp32:esp32:esp32s2
103- platforms : |
104- - name: esp32:esp32
105- source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
106-
107- # ESP32-C3
108- # https://github.com/espressif/arduino-esp32/blob/master/boards.txt
109- - fqbn : esp32:esp32:esp32c3
110- platforms : |
111- - name: esp32:esp32
112- source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
113-
114- # ESP8266
115- # https://github.com/esp8266/Arduino/blob/master/boards.txt
116- - fqbn : esp8266:esp8266:thingdev
117- platforms : |
118- - name: esp8266:esp8266
119- source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
120-
121- # Nano BLE 33 / nRF52840
122- # https://github.com/arduino/ArduinoCore-mbed/blob/master/boards.txt
123- - fqbn : arduino:mbed:nano33ble
124- platforms : |
125- - name: arduino:mbed
126- # source-url: https://downloads.arduino.cc/packages/package_index.json
127- - fqbn : arduino:mbed_nano:nano33ble
128- platforms : |
129- - name: arduino:mbed_nano
130-
131- # RP2040
132- # https://github.com/arduino/ArduinoCore-mbed/blob/master/boards.txt
133- - fqbn : rp2040:rp2040:sparkfun_promicrorp2040
134- platforms : |
135- - name: rp2040:rp2040
136- source-url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
137- - fqbn : rp2040:rp2040:rpipico
138- platforms : |
139- - name: rp2040:rp2040
140- source-url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
141-
142- # SAMD21
143- # https://github.com/arduino/ArduinoCore-samd/blob/master/boards.txt
144- - fqbn : arduino:samd:mkr1000
145- platforms : |
146- - name: arduino:samd
147- # source-url: https:/ /downloads.arduino.cc/packages/package_index.json
148-
149- # STM32
150- # https://github.com/arduino/ArduinoCore-mbed/blob/master/boards.txt
151- - fqbn : STMicroelectronics:stm32:GenF4
152- platforms : |
153- - name: STMicroelectronics:stm32
154- source-url: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
155-
156-
27+ matrix :
28+ board :
29+ # Arduino
30+ - fqbn : arduino:avr:uno
31+ platforms : |
32+ - name: arduino:avr
33+ - fqbn : arduino:avr:nano
34+ platforms : |
35+ - name: arduino:avr
36+ - fqbn : arduino:avr:mega
37+ platforms : |
38+ - name: arduino:avr
39+ - fqbn : arduino:avr:leonardo
40+ platforms : |
41+ - name: arduino:avr
42+ - fqbn : arduino:megaavr:nona4809
43+ platforms : |
44+ - name: arduino:megaavr
45+ - fqbn : arduino:sam:arduino_due_x_dbg
46+ platforms : |
47+ - name: arduino:sam
48+ - fqbn : arduino:samd:mkrzero
49+ platforms : |
50+ - name: arduino:samd
51+ - fqbn : arduino:samd:mkrwifi1010
52+ platforms : |
53+ - name: arduino:samd
54+ - fqbn : arduino:samd:mkrfox1200
55+ platforms : |
56+ - name: arduino:samd
57+ - fqbn : arduino:samd:mkrwan1300
58+ platforms : |
59+ - name: arduino:samd
60+ - fqbn : arduino:samd:mkrwan1310
61+ platforms : |
62+ - name: arduino:samd
63+ - fqbn : arduino:samd:mkrgsm1400
64+ platforms : |
65+ - name: arduino:samd
66+ - fqbn : arduino:samd:mkrnb1500
67+ platforms : |
68+ - name: arduino:samd
69+ - fqbn : arduino:samd:mkrvidor4000
70+ platforms : |
71+ - name: arduino:samd
72+ - fqbn : arduino:mbed_portenta:envie_m7:target_core=cm4
73+ platforms : |
74+ - name: arduino:mbed_portenta
75+ - fqbn : arduino:mbed_portenta:envie_m7
76+ platforms : |
77+ - name: arduino:mbed_portenta
78+ - fqbn : arduino:mbed_nano:nanorp2040connect
79+ platforms : |
80+ - name: arduino:mbed_nano
81+ - fqbn : arduino:mbed_edge:edge_control
82+ platforms : |
83+ - name: arduino:mbed_edge
84+
85+ # Artemis / Apollo3
86+ # https://github.com/sparkfun/Arduino_Apollo3/blob/main/boards.txt
87+ - fqbn : SparkFun:apollo3:sfe_artemis_atp
88+ platforms : |
89+ - name: SparkFun:apollo3
90+ source-url: https://raw.githubusercontent.com/sparkfun/Arduino_Apollo3/master/package_sparkfun_apollo3_index.json
91+
92+ # ESP32
93+ # https://github.com/espressif/arduino-esp32/blob/master/boards.txt
94+ - fqbn : esp32:esp32:esp32
95+ platforms : |
96+ - name: esp32:esp32
97+ source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
98+
99+ # ESP32-S2
100+ # https://github.com/espressif/arduino-esp32/blob/master/boards.txt
101+ - fqbn : esp32:esp32:esp32s2
102+ platforms : |
103+ - name: esp32:esp32
104+ source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
105+
106+ # ESP32-C3
107+ # https://github.com/espressif/arduino-esp32/blob/master/boards.txt
108+ - fqbn : esp32:esp32:esp32c3
109+ platforms : |
110+ - name: esp32:esp32
111+ source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
112+
113+ # ESP8266
114+ # https://github.com/esp8266/Arduino/blob/master/boards.txt
115+ - fqbn : esp8266:esp8266:thingdev
116+ platforms : |
117+ - name: esp8266:esp8266
118+ source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
119+
120+ # Nano BLE 33 / nRF52840
121+ # https://github.com/arduino/ArduinoCore-mbed/blob/master/boards.txt
122+ - fqbn : arduino:mbed:nano33ble
123+ platforms : |
124+ - name: arduino:mbed
125+ # source-url: https://downloads.arduino.cc/packages/package_index.json
126+ - fqbn : arduino:mbed_nano:nano33ble
127+ platforms : |
128+ - name: arduino:mbed_nano
129+
130+ # RP2040
131+ # https://github.com/arduino/ArduinoCore-mbed/blob/master/boards.txt
132+ - fqbn : rp2040:rp2040:sparkfun_promicrorp2040
133+ platforms : |
134+ - name: rp2040:rp2040
135+ source-url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
136+ - fqbn : rp2040:rp2040:rpipico
137+ platforms : |
138+ - name: rp2040:rp2040
139+ source-url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
140+
141+ # SAMD21
142+ # https://github.com/arduino/ArduinoCore-samd/blob/master/boards.txt
143+ - fqbn : arduino:samd:mkr1000
144+ platforms : |
145+ - name: arduino:samd
146+ # source-url: https://downloads.arduino.cc/packages/package_index.json
147+
148+ # STM32
149+ # https://github.com/arduino/ArduinoCore-mbed/blob/master/boards.txt
150+ - fqbn : STMicroelectronics:stm32:GenF4
151+ platforms : |
152+ - name: STMicroelectronics:stm32
153+ source-url: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
154+
155+
157156 steps :
158- - name : Checkout
157+ - name : Checkout repository
159158 uses : actions/checkout@v3
160159
161160 - name : Install ESP32 platform dependencies
@@ -165,14 +164,22 @@ jobs:
165164 - name : Compile examples
166165 uses : arduino/compile-sketches@v1
167166 with :
167+ github-token : ${{ secrets.GITHUB_TOKEN }}
168168 fqbn : ${{ matrix.board.fqbn }}
169169 platforms : ${{ matrix.board.platforms }}
170+ libraries : |
171+ # Install the library from the local path.
172+ - source-path: ./
173+ # Additional library dependencies can be listed here.
174+ # See: https://github.com/arduino/compile-sketches#libraries
175+ sketch-paths : |
176+ - examples
170177 enable-deltas-report : true
171178 sketches-report-path : ${{ env.SKETCHES_REPORTS_PATH }}
172179
173- - name : Save memory usage change report as artifact
174- if : github.event_name == 'pull_request'
180+ - name : Save sketches report as workflow artifact
175181 uses : actions/upload-artifact@v3
176182 with :
177- name : ${{ env.SKETCHES_REPORTS_PATH }}
183+ if-no-files-found : error
178184 path : ${{ env.SKETCHES_REPORTS_PATH }}
185+ name : ${{ env.SKETCHES_REPORTS_PATH }}
0 commit comments