|
1 | 1 | name: Build and Test Toolchains |
2 | 2 |
|
| 3 | +# ============================================================================ |
| 4 | +# BUILD CONFIGURATION - Toggle this value to control which toolchains to build |
| 5 | +# ============================================================================ |
| 6 | +# false = build only armv7_gnueabihf (fast, for development - CURRENTLY ACTIVE) |
| 7 | +# true = build all 12 toolchains (slow, for releases) |
| 8 | +# |
| 9 | +# Search for "BUILD_ALL_TOOLCHAINS" below and change false to true (3 places) |
| 10 | +# ============================================================================ |
| 11 | + |
3 | 12 | on: |
4 | 13 | push: |
5 | 14 | branches: [main] |
6 | 15 | pull_request: |
7 | 16 | branches: [main] |
8 | 17 | release: |
9 | 18 | types: [created] |
| 19 | + workflow_dispatch: |
10 | 20 |
|
11 | 21 | jobs: |
12 | 22 | build: |
|
15 | 25 | strategy: |
16 | 26 | fail-fast: false |
17 | 27 | matrix: |
18 | | - toolchain: |
19 | | - - nerves_toolchain_aarch64_nerves_linux_gnu |
20 | | - - nerves_toolchain_aarch64_nerves_linux_musl |
21 | | - - nerves_toolchain_armv7_nerves_linux_gnueabihf |
22 | | - - nerves_toolchain_armv7_nerves_linux_musleabihf |
23 | | - - nerves_toolchain_armv5_nerves_linux_musleabi |
24 | | - - nerves_toolchain_armv6_nerves_linux_gnueabihf |
25 | | - - nerves_toolchain_i586_nerves_linux_gnu |
26 | | - - nerves_toolchain_mipsel_nerves_linux_musl |
27 | | - - nerves_toolchain_x86_64_nerves_linux_gnu |
28 | | - - nerves_toolchain_x86_64_nerves_linux_musl |
29 | | - - nerves_toolchain_riscv64_nerves_linux_musl |
30 | | - - nerves_toolchain_riscv64_nerves_linux_gnu |
| 28 | + # BUILD_ALL_TOOLCHAINS: Change 'false' to 'true' to build all toolchains |
| 29 | + toolchain: ${{ true && fromJSON('["nerves_toolchain_aarch64_nerves_linux_gnu", "nerves_toolchain_aarch64_nerves_linux_musl", "nerves_toolchain_armv7_nerves_linux_gnueabihf", "nerves_toolchain_armv7_nerves_linux_musleabihf", "nerves_toolchain_armv5_nerves_linux_musleabi", "nerves_toolchain_armv6_nerves_linux_gnueabihf", "nerves_toolchain_i586_nerves_linux_gnu", "nerves_toolchain_mipsel_nerves_linux_musl", "nerves_toolchain_x86_64_nerves_linux_gnu", "nerves_toolchain_x86_64_nerves_linux_musl", "nerves_toolchain_riscv64_nerves_linux_musl", "nerves_toolchain_riscv64_nerves_linux_gnu"]') || fromJSON('["nerves_toolchain_armv7_nerves_linux_gnueabihf"]') }} |
31 | 30 | os: [linux, darwin] |
32 | 31 | arch: [x86_64, aarch64] |
33 | 32 | exclude: |
@@ -187,19 +186,8 @@ jobs: |
187 | 186 | strategy: |
188 | 187 | fail-fast: false |
189 | 188 | matrix: |
190 | | - toolchain: |
191 | | - - nerves_toolchain_aarch64_nerves_linux_gnu |
192 | | - - nerves_toolchain_aarch64_nerves_linux_musl |
193 | | - - nerves_toolchain_armv7_nerves_linux_gnueabihf |
194 | | - - nerves_toolchain_armv7_nerves_linux_musleabihf |
195 | | - - nerves_toolchain_armv5_nerves_linux_musleabi |
196 | | - - nerves_toolchain_armv6_nerves_linux_gnueabihf |
197 | | - - nerves_toolchain_i586_nerves_linux_gnu |
198 | | - - nerves_toolchain_mipsel_nerves_linux_musl |
199 | | - - nerves_toolchain_x86_64_nerves_linux_gnu |
200 | | - - nerves_toolchain_x86_64_nerves_linux_musl |
201 | | - - nerves_toolchain_riscv64_nerves_linux_musl |
202 | | - - nerves_toolchain_riscv64_nerves_linux_gnu |
| 189 | + # BUILD_ALL_TOOLCHAINS: Change 'false' to 'true' to build all toolchains |
| 190 | + toolchain: ${{ true && fromJSON('["nerves_toolchain_aarch64_nerves_linux_gnu", "nerves_toolchain_aarch64_nerves_linux_musl", "nerves_toolchain_armv7_nerves_linux_gnueabihf", "nerves_toolchain_armv7_nerves_linux_musleabihf", "nerves_toolchain_armv5_nerves_linux_musleabi", "nerves_toolchain_armv6_nerves_linux_gnueabihf", "nerves_toolchain_i586_nerves_linux_gnu", "nerves_toolchain_mipsel_nerves_linux_musl", "nerves_toolchain_x86_64_nerves_linux_gnu", "nerves_toolchain_x86_64_nerves_linux_musl", "nerves_toolchain_riscv64_nerves_linux_musl", "nerves_toolchain_riscv64_nerves_linux_gnu"]') || fromJSON('["nerves_toolchain_armv7_nerves_linux_gnueabihf"]') }} |
203 | 191 | build_arch: [x86_64, aarch64] |
204 | 192 | ubuntu_version: ['22.04', '24.04'] |
205 | 193 |
|
@@ -233,19 +221,8 @@ jobs: |
233 | 221 | strategy: |
234 | 222 | fail-fast: false |
235 | 223 | matrix: |
236 | | - toolchain: |
237 | | - - nerves_toolchain_aarch64_nerves_linux_gnu |
238 | | - - nerves_toolchain_aarch64_nerves_linux_musl |
239 | | - - nerves_toolchain_armv7_nerves_linux_gnueabihf |
240 | | - - nerves_toolchain_armv7_nerves_linux_musleabihf |
241 | | - - nerves_toolchain_armv5_nerves_linux_musleabi |
242 | | - - nerves_toolchain_armv6_nerves_linux_gnueabihf |
243 | | - - nerves_toolchain_i586_nerves_linux_gnu |
244 | | - - nerves_toolchain_mipsel_nerves_linux_musl |
245 | | - - nerves_toolchain_x86_64_nerves_linux_gnu |
246 | | - - nerves_toolchain_x86_64_nerves_linux_musl |
247 | | - - nerves_toolchain_riscv64_nerves_linux_musl |
248 | | - - nerves_toolchain_riscv64_nerves_linux_gnu |
| 224 | + # BUILD_ALL_TOOLCHAINS: Change 'false' to 'true' to build all toolchains |
| 225 | + toolchain: ${{ true && fromJSON('["nerves_toolchain_aarch64_nerves_linux_gnu", "nerves_toolchain_aarch64_nerves_linux_musl", "nerves_toolchain_armv7_nerves_linux_gnueabihf", "nerves_toolchain_armv7_nerves_linux_musleabihf", "nerves_toolchain_armv5_nerves_linux_musleabi", "nerves_toolchain_armv6_nerves_linux_gnueabihf", "nerves_toolchain_i586_nerves_linux_gnu", "nerves_toolchain_mipsel_nerves_linux_musl", "nerves_toolchain_x86_64_nerves_linux_gnu", "nerves_toolchain_x86_64_nerves_linux_musl", "nerves_toolchain_riscv64_nerves_linux_musl", "nerves_toolchain_riscv64_nerves_linux_gnu"]') || fromJSON('["nerves_toolchain_armv7_nerves_linux_gnueabihf"]') }} |
249 | 226 | runner: [macos-14, macos-15, macos-26] |
250 | 227 |
|
251 | 228 | steps: |
|
0 commit comments