1
1
name : Compile Examples
2
2
3
+ # See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
3
4
on :
4
- pull_request :
5
+ push :
5
6
paths :
6
7
- " .github/workflows/compile-examples.yml"
7
8
- " examples/**"
8
9
- " src/**"
9
- push :
10
+ pull_request :
10
11
paths :
11
12
- " .github/workflows/compile-examples.yml"
12
13
- " examples/**"
13
14
- " src/**"
14
-
15
+
15
16
jobs :
16
17
build :
18
+ name : ${{ matrix.board.fqbn }}
17
19
runs-on : ubuntu-latest
18
20
19
21
env :
20
- UNIVERSAL_LIBRARIES : |
21
- - source-path: ./
22
-
23
22
SKETCHES_REPORTS_PATH : sketches-reports
24
23
25
24
strategy :
26
25
fail-fast : false
27
26
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
+
157
156
steps :
158
- - name : Checkout
157
+ - name : Checkout repository
159
158
uses : actions/checkout@v3
160
159
161
160
- name : Install ESP32 platform dependencies
@@ -165,14 +164,22 @@ jobs:
165
164
- name : Compile examples
166
165
uses : arduino/compile-sketches@v1
167
166
with :
167
+ github-token : ${{ secrets.GITHUB_TOKEN }}
168
168
fqbn : ${{ matrix.board.fqbn }}
169
169
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
170
177
enable-deltas-report : true
171
178
sketches-report-path : ${{ env.SKETCHES_REPORTS_PATH }}
172
179
173
- - name : Save memory usage change report as artifact
174
- if : github.event_name == 'pull_request'
180
+ - name : Save sketches report as workflow artifact
175
181
uses : actions/upload-artifact@v3
176
182
with :
177
- name : ${{ env.SKETCHES_REPORTS_PATH }}
183
+ if-no-files-found : error
178
184
path : ${{ env.SKETCHES_REPORTS_PATH }}
185
+ name : ${{ env.SKETCHES_REPORTS_PATH }}
0 commit comments