Skip to content

Commit e29fb6a

Browse files
authored
[ci] Skip some matrix combinations (#1596)
This commit modifies our CI `build_test` matrix job to skip some matrix combinations that are unlikely to be useful. This should cut down on the total number of matrix combinations and buy us runway before we exceed the limit of 256 total combinations, as happened in [1]. [1] https://github.com/google/zerocopy/actions/runs/10477927587
1 parent 739c3d1 commit e29fb6a

File tree

1 file changed

+58
-2
lines changed

1 file changed

+58
-2
lines changed

.github/workflows/ci.yml

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,18 @@ jobs:
4646
matrix:
4747
# See `INTERNAL.md` for an explanation of these pinned toolchain
4848
# versions.
49-
toolchain: [ "msrv", "stable", "nightly", "zerocopy-generic-bounds-in-const-fn", "zerocopy-aarch64-simd", "zerocopy-panic-in-const", ]
49+
toolchain: [
50+
"msrv",
51+
"stable",
52+
"nightly",
53+
54+
# These are the names of specific Rust versions detected in
55+
# `build.rs`. Each of these represents the minimum Rust version for
56+
# which a particular feature is supported.
57+
"zerocopy-generic-bounds-in-const-fn",
58+
"zerocopy-aarch64-simd",
59+
"zerocopy-panic-in-const"
60+
]
5061
target: [
5162
"i686-unknown-linux-gnu",
5263
"x86_64-unknown-linux-gnu",
@@ -59,7 +70,12 @@ jobs:
5970
"x86_64-pc-windows-msvc",
6071
"wasm32-wasi"
6172
]
62-
features: [ "--no-default-features", "", "--features __internal_use_only_features_that_work_on_stable", "--all-features" ]
73+
features: [
74+
"--no-default-features",
75+
"",
76+
"--features __internal_use_only_features_that_work_on_stable",
77+
"--all-features"
78+
]
6379
crate: [ "zerocopy", "zerocopy-derive" ]
6480
event_name: [ "${{ github.event_name }}" ]
6581
exclude:
@@ -93,6 +109,46 @@ jobs:
93109
toolchain: "zerocopy-aarch64-simd"
94110
- crate: "zerocopy-derive"
95111
toolchain: "zerocopy-panic-in-const"
112+
# Exclude non-aarch64 targets from the `zerocopy-aarch64-simd`
113+
# toolchain.
114+
- toolchain: "zerocopy-aarch64-simd"
115+
target: "i686-unknown-linux-gnu"
116+
- toolchain: "zerocopy-aarch64-simd"
117+
target: "x86_64-unknown-linux-gnu"
118+
- toolchain: "zerocopy-aarch64-simd"
119+
target: "arm-unknown-linux-gnueabi"
120+
- toolchain: "zerocopy-aarch64-simd"
121+
target: "powerpc-unknown-linux-gnu"
122+
- toolchain: "zerocopy-aarch64-simd"
123+
target: "powerpc64-unknown-linux-gnu"
124+
- toolchain: "zerocopy-aarch64-simd"
125+
target: "riscv64gc-unknown-linux-gnu"
126+
- toolchain: "zerocopy-aarch64-simd"
127+
target: "s390x-unknown-linux-gnu"
128+
- toolchain: "zerocopy-aarch64-simd"
129+
target: "x86_64-pc-windows-msvc"
130+
- toolchain: "zerocopy-aarch64-simd"
131+
target: "wasm32-wasi"
132+
# Exclude most targets targets from the
133+
# `zerocopy-generic-bounds-in-const-fn` toolchain since the
134+
# `zerocopy-generic-bounds-in-const-fn` feature is unrelated to
135+
# compilation target. This only leaves i686 and x86_64 targets.
136+
- toolchain: "zerocopy-generic-bounds-in-const-fn"
137+
target: "arm-unknown-linux-gnueabi"
138+
- toolchain: "zerocopy-generic-bounds-in-const-fn"
139+
target: "aarch64-unknown-linux-gnu"
140+
- toolchain: "zerocopy-generic-bounds-in-const-fn"
141+
target: "powerpc-unknown-linux-gnu"
142+
- toolchain: "zerocopy-generic-bounds-in-const-fn"
143+
target: "powerpc64-unknown-linux-gnu"
144+
- toolchain: "zerocopy-generic-bounds-in-const-fn"
145+
target: "riscv64gc-unknown-linux-gnu"
146+
- toolchain: "zerocopy-generic-bounds-in-const-fn"
147+
target: "s390x-unknown-linux-gnu"
148+
- toolchain: "zerocopy-generic-bounds-in-const-fn"
149+
target: "x86_64-pc-windows-msvc"
150+
- toolchain: "zerocopy-generic-bounds-in-const-fn"
151+
target: "wasm32-wasi"
96152
# Exclude most targets during PR development, but allow them in the
97153
# merge queue. This speeds up our development flow, while still
98154
# ensuring that errors on these targets are caught before a PR is

0 commit comments

Comments
 (0)