@@ -13,64 +13,116 @@ jobs:
1313 name : Test compile
1414 runs-on : ubuntu-latest
1515 strategy :
16- matrix :
17- arduino-boards-fqbn :
18- - arduino:avr:nano # arudino nano
19- - arduino:sam:arduino_due_x # arduino due
20- - arduino:samd:nano_33_iot # samd21
21- - adafruit:samd:adafruit_metro_m4 # samd51
22- - esp32:esp32:esp32 # esp32
23- - esp32:esp32:esp32s2 # esp32s2
24- - STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 # stm32 bluepill
25- - STMicroelectronics:stm32:Nucleo_64:pnum=NUCLEO_F411RE # stm32 nucleo
26- - arduino:mbed_rp2040:pico # rpi pico
27- include :
28- - arduino-boards-fqbn : arduino:avr:nano
29- sketches-exclude : calibrated mt6816_spi smoothing simplefocnano_torque_voltage
30- required-libraries : Simple FOC
31- - arduino-boards-fqbn : arduino:sam:arduino_due_x
32- required-libraries : Simple FOC
33- sketches-exclude : calibrated smoothing simplefocnano_torque_voltage simplefocnano_atmega
34- - arduino-boards-fqbn : arduino:samd:nano_33_iot
35- required-libraries : Simple FOC
36- sketches-exclude : calibrated smoothing
37- - arduino-boards-fqbn : arduino:mbed_rp2040:pico
38- required-libraries : Simple FOC
39- sketches-exclude : calibrated smoothing simplefocnano_torque_voltage simplefocnano_atmega
40- - arduino-boards-fqbn : adafruit:samd:adafruit_metro_m4
41- platform-url : https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
42- required-libraries : Simple FOC
43- sketches-exclude : calibrated smoothing simplefocnano_torque_voltage simplefocnano_atmega
44- # - arduino-boards-fqbn: esp32:esp32:esp32doit-devkit-v1
45- # platform-url: https://dl.espressif.com/dl/package_esp32_index.json
46- # required-libraries: Simple FOC
47- # sketch-names: '**.ino'
48- - arduino-boards-fqbn : esp32:esp32:esp32 # esp32
49- platform-url : https://espressif.github.io/arduino-esp32/package_esp32_index.json
50- required-libraries : Simple FOC
51- sketches-exclude : calibrated smoothing simplefocnano_torque_voltage simplefocnano_atmega linearhall
52- - arduino-boards-fqbn : esp32:esp32:esp32s2 # esp32s2
53- platform-url : https://espressif.github.io/arduino-esp32/package_esp32_index.json
54- required-libraries : Simple FOC
55- sketches-exclude : calibrated smoothing simplefocnano_torque_voltage simplefocnano_atmega
56- - arduino-boards-fqbn : STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8
57- platform-url : https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
58- required-libraries : Simple FOC
59- sketches-exclude : calibrated mt6816_spi smoothing simplefocnano_torque_voltage simplefocnano_atmega
60- - arduino-boards-fqbn : STMicroelectronics:stm32:Nucleo_64:pnum=NUCLEO_F411RE
61- platform-url : https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
62- required-libraries : Simple FOC
63- sketches-exclude : smoothing simplefocnano_torque_voltage simplefocnano_atmega
64- # Do not cancel all jobs / architectures if one job fails
6516 fail-fast : false
17+ matrix :
18+ board :
19+ - fqbn : arduino:avr:nano # arudino nano
20+ platforms : |
21+ - name: arduino:avr
22+ sketch-paths : |
23+ - examples/drivers/simplefocnano/simplefocnano_atmega
24+ - examples/encoders/linearhall
25+ report-name-suffix : arduino_avr_nano
26+ - fqbn : arduino:sam:arduino_due_x # arduino due
27+ platforms : |
28+ - name: arduino:sam
29+ sketch-paths : |
30+ - examples/drivers/drv8316
31+ - examples/encoders/calibrated_sensor/calibration_save
32+ - examples/encoders/linearhall
33+ - examples/encoders/mt6816
34+ report-name-suffix : arduino_sam_due
35+ - fqbn : arduino:samd:nano_33_iot # samd21
36+ platforms : |
37+ - name: arduino:samd
38+ sketch-paths : |
39+ - examples/drivers/drv8316
40+ - examples/encoders/calibrated_sensor/calibration_save
41+ - examples/encoders/linearhall
42+ - examples/encoders/mt6816
43+ report-name-suffix : arduino_samd_nano_33_iot
44+ - fqbn : adafruit:samd:adafruit_metro_m4 # samd51
45+ platforms : |
46+ - name: adafruit:samd
47+ source-url: "https://adafruit.github.io/arduino-board-index/package_adafruit_index.json"
48+ sketch-paths : |
49+ - examples/drivers/drv8316
50+ - examples/encoders/calibrated_sensor/calibration_save
51+ - examples/encoders/linearhall
52+ - examples/encoders/mt6816
53+ report-name-suffix : adafruit_samd_metro_m4
54+ - fqbn : esp32:esp32:esp32 # esp32
55+ platforms : |
56+ - name: esp32:esp32
57+ source-url: "https://espressif.github.io/arduino-esp32/package_esp32_index.json"
58+ sketch-paths : |
59+ - examples/drivers/drv8316
60+ - examples/encoders/calibrated_sensor/calibration_save
61+ - examples/encoders/mt6816
62+ report-name-suffix : esp32_esp32
63+ - fqbn : esp32:esp32:esp32s2 # esp32s2
64+ platforms : |
65+ - name: esp32:esp32
66+ source-url: "https://espressif.github.io/arduino-esp32/package_esp32_index.json"
67+ sketch-paths : |
68+ - examples/drivers/drv8316
69+ - examples/encoders/calibrated_sensor/calibration_save
70+ - examples/encoders/linearhall
71+ - examples/encoders/mt6816
72+ report-name-suffix : esp32_esp32s2
73+ - fqbn : STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 # stm32 bluepill
74+ platforms : |
75+ - name: STMicroelectronics:stm32
76+ source-url: "https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json"
77+ sketch-paths : |
78+ - examples/drivers/drv8316
79+ - examples/encoders/calibrated_sensor/calibration_save
80+ - examples/encoders/linearhall
81+ report-name-suffix : stm32_genf1_bluepill_f103c8
82+ - fqbn : STMicroelectronics:stm32:Nucleo_64:pnum=NUCLEO_F411RE # stm32 nucleo
83+ platforms : |
84+ - name: STMicroelectronics:stm32
85+ source-url: "https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json"
86+ sketch-paths : |
87+ - examples/drivers/drv8316
88+ - examples/encoders/calibrated_sensor
89+ - examples/encoders/linearhall
90+ - examples/encoders/mt6816
91+ report-name-suffix : stm32_nucleo_f411re
92+ - fqbn : rp2040:rp2040:rpipico # rpi pico
93+ platforms : |
94+ - name: rp2040:rp2040
95+ source-url: "https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json"
96+ sketch-paths : |
97+ - examples/drivers/drv8316
98+ - examples/encoders/calibrated_sensor/calibration_save
99+ - examples/encoders/linearhall
100+ - examples/encoders/mt6816
101+ report-name-suffix : arduino_mbed_rp2040_pico
66102 steps :
67103 - name : Checkout
68104 uses : actions/checkout@master
69105 - name : Compile all examples
70- uses : ArminJo/arduino-test-compile@master
106+ uses : arduino/compile-sketches@v1
107+ with :
108+ fqbn : ${{ matrix.board.fqbn }}
109+ platforms : ${{ matrix.board.platforms }}
110+ libraries : |
111+ - name: "Arduino-FOC"
112+ source-url: "https://github.com/simplefoc/Arduino-FOC.git"
113+ version: dev
114+ - name: "Arduino-FOC-Drivers"
115+ source-path: .
116+ sketch-paths : ${{ matrix.board.sketch-paths || 'examples' }}
117+ enable-deltas-report : true
118+ sketches-report-path : sketches-reports
119+ - name : Upload sketches reports
120+ uses : actions/upload-artifact@v4
71121 with :
72- arduino-board-fqbn : ${{ matrix.arduino-boards-fqbn }}
73- required-libraries : ${{ matrix.required-libraries }}
74- platform-url : ${{ matrix.platform-url }}
75- sketch-names : ${{ matrix.sketch-names }}
76- sketches-exclude : ${{ matrix.sketches-exclude }}
122+ name : sketches-report-${{ matrix.board.report-name-suffix }}
123+ path : sketches-reports
124+ report :
125+ runs-on : ubuntu-latest
126+ steps :
127+ - name : Report size deltas
128+ uses : arduino/report-size-deltas@v1
0 commit comments