@@ -18,28 +18,95 @@ jobs:
1818
1919 env :
2020 LIBRARIES : Arduino_DebugUtils WiFi101 WiFiNINA MKRGSM MKRNB MKRWAN
21+ ARDUINOCORE_MBED_STAGING_PATH : extras/ArduinoCore-mbed
22+ ARDUINOCORE_API_STAGING_PATH : extras/ArduinoCore-API
2123 strategy :
2224 matrix :
23- fqbn : [
24- " arduino:samd:mkr1000" ,
25- " arduino:samd:mkrwifi1010" ,
26- " arduino:samd:nano_33_iot" ,
27- " arduino:samd:mkrgsm1400" ,
28- " arduino:samd:mkrnb1500" ,
29- " arduino:samd:mkrwan1300" ,
30- " arduino:samd:mkrwan1310" ,
31- ' "esp8266:esp8266:huzzah" "https://arduino.esp8266.com/stable/package_esp8266com_index.json"'
32- ]
25+ board :
26+ - fqbn : " arduino:samd:mkr1000"
27+ platform-name : arduino:samd
28+ - fqbn : " arduino:samd:mkrwifi1010"
29+ platform-name : arduino:samd
30+ - fqbn : " arduino:samd:nano_33_iot"
31+ platform-name : arduino:samd
32+ - fqbn : " arduino:samd:mkrgsm1400"
33+ platform-name : arduino:samd
34+ - fqbn : " arduino:samd:mkrnb1500"
35+ platform-name : arduino:samd
36+ - fqbn : " arduino:samd:mkrwan1300"
37+ platform-name : arduino:samd
38+ - fqbn : " arduino:samd:mkrwan1310"
39+ platform-name : arduino:samd
40+ - fqbn : " arduino-beta:mbed:envie_m7"
41+ platform-name : arduino-beta:mbed
42+ - fqbn : " arduino-beta:mbed:envie_m4"
43+ platform-name : arduino-beta:mbed
44+ - fqbn : " esp8266:esp8266:huzzah"
45+ platform-name : esp8266:esp8266
46+
47+ # Make board type-specific customizations to the matrix jobs
48+ include :
49+ - board :
50+ platform-name : arduino:samd
51+ platforms : |
52+ # Install Arduino SAMD Boards via Boards Manager
53+ - name: arduino:samd
54+ - board :
55+ platform-name : arduino-beta:mbed
56+ platforms : |
57+ # Install Arduino mbed-Enabled Boards via Boards Manager for the toolchain
58+ - name: arduino-beta:mbed
59+ # Overwrite the Arduino mbed-Enabled Boards release version with version from the tip of the default branch (located in local path because of the need to first install ArduinoCore-API)
60+ - source-path: extras/ArduinoCore-mbed
61+ name: arduino-beta:mbed
62+ - board :
63+ platform-name : esp8266:esp8266
64+ platforms : |
65+ # Install ESP8266 platform via Boards Manager
66+ - name: esp8266:esp8266
67+ source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
3368
3469 steps :
3570 - uses : actions/checkout@v1
3671 with :
3772 fetch-depth : 1
3873
74+ # It's necessary to checkout the platform before installing it so that the ArduinoCore-API dependency can be added
75+ - name : Checkout ArduinoCore-mbed
76+ # this step only needed when the Arduino mbed-Enabled Boards platform sourced from the repository is being used
77+ if : matrix.board.platform-name == 'arduino-beta:mbed'
78+ uses : actions/checkout@v2
79+ with :
80+ repository : arduino/ArduinoCore-mbed
81+ # The arduino/actions/libraries/compile-examples action will install the platform from this path
82+ path : ${{ env.ARDUINOCORE_MBED_STAGING_PATH }}
83+
84+ - name : Remove ArduinoCore-API symlink from Arduino mbed-Enabled Boards platform
85+ # This step only needed when the Arduino mbed-Enabled Boards platform sourced from the repository is being used
86+ if : matrix.board.platform-name == 'arduino-beta:mbed'
87+ run : rm "${{ env.ARDUINOCORE_MBED_STAGING_PATH }}/cores/arduino/api"
88+
89+ - name : Checkout ArduinoCore-API
90+ # This step only needed when the Arduino mbed-Enabled Boards platform sourced from the repository is being used
91+ if : matrix.board.platform-name == 'arduino-beta:mbed'
92+ uses : actions/checkout@v2
93+ with :
94+ repository : arduino/ArduinoCore-API
95+ # As specified at https://github.com/arduino/ArduinoCore-mbed/blob/master/README.md#installation
96+ ref : namespace_arduino
97+ path : ${{ env.ARDUINOCORE_API_STAGING_PATH }}
98+
99+ - name : Install ArduinoCore-API
100+ # This step only needed when the Arduino mbed-Enabled Boards platform sourced from the repository is being used
101+ if : matrix.board.platform-name == 'arduino-beta:mbed'
102+ run : |
103+ mv "${{ env.ARDUINOCORE_API_STAGING_PATH }}/api" "${{ env.ARDUINOCORE_MBED_STAGING_PATH }}/cores/arduino"
104+
39105 - name : Compile examples
40106 uses : arduino/actions/libraries/compile-examples@master
41107 with :
42- fqbn : ${{ matrix.fqbn }}
108+ platforms : ${{ matrix.platforms }}
109+ fqbn : ${{ matrix.board.fqbn }}
43110 libraries : ${{ env.LIBRARIES }}
44111 size-report-sketch : ' ConnectionHandlerDemo'
45112 enable-size-deltas-report : ' true'
0 commit comments