Skip to content

Commit e5be2d5

Browse files
committed
Add single toolchain build mode
1 parent 6ebdf46 commit e5be2d5

File tree

1 file changed

+16
-39
lines changed

1 file changed

+16
-39
lines changed

.github/workflows/build.yml

Lines changed: 16 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
11
name: Build and Test Toolchains
22

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+
312
on:
413
push:
514
branches: [main]
615
pull_request:
716
branches: [main]
817
release:
918
types: [created]
19+
workflow_dispatch:
1020

1121
jobs:
1222
build:
@@ -15,19 +25,8 @@ jobs:
1525
strategy:
1626
fail-fast: false
1727
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"]') }}
3130
os: [linux, darwin]
3231
arch: [x86_64, aarch64]
3332
exclude:
@@ -187,19 +186,8 @@ jobs:
187186
strategy:
188187
fail-fast: false
189188
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"]') }}
203191
build_arch: [x86_64, aarch64]
204192
ubuntu_version: ['22.04', '24.04']
205193

@@ -233,19 +221,8 @@ jobs:
233221
strategy:
234222
fail-fast: false
235223
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"]') }}
249226
runner: [macos-14, macos-15, macos-26]
250227

251228
steps:

0 commit comments

Comments
 (0)