Skip to content

Commit 93ef165

Browse files
committed
Add Portenta H7 boards to matrix jobs in Compile Examples CI workflow
The library examples will be compiled for Portenta H7 (M7 core) and Portenta H7 (M4 core), using the Arduino mbed OS-enabled boards platform from the tip of its repository's default branch.
1 parent 66da3c6 commit 93ef165

File tree

1 file changed

+78
-11
lines changed

1 file changed

+78
-11
lines changed

.github/workflows/compile-examples.yml

Lines changed: 78 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)