Skip to content

Commit d0badd2

Browse files
committed
CI: reshuffle job order
1 parent 3ce228e commit d0badd2

File tree

1 file changed

+141
-12
lines changed

1 file changed

+141
-12
lines changed

.github/workflows/CI.yml

Lines changed: 141 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,22 @@ concurrency:
1111
cancel-in-progress: true
1212

1313
jobs:
14-
linux-fast:
14+
linux-fast-native:
1515
strategy:
1616
fail-fast: false
1717
matrix:
1818
os: [ linux ]
1919
stack:
20-
- { runs-on: "ubuntu-latest", host: "x86_64", target: "x86_64", vendor: "unknown", os: "linux", abi: "gnu" }
21-
- { runs-on: "ubuntu-24.04-arm", host: "aarch64", target: "aarch64", vendor: "unknown", os: "linux", abi: "gnu" }
20+
- { runs-on: "ubuntu-latest", host: "x86_64", target: "x86_64", vendor: "unknown", os: "linux", abi: "gnu" }
21+
- { runs-on: "ubuntu-24.04-arm", host: "aarch64", target: "aarch64", vendor: "unknown", os: "linux", abi: "gnu" }
22+
- { runs-on: "ubuntu-latest", host: "x86_64", target: "i686", vendor: "unknown", os: "linux", abi: "gnu" }
2223
distro:
2324
- { image: "debian:trixie-slim", LLVM: 19 }
2425
rust-toolchain-name: [ stable, nightly ]
2526
flavor: [ dev, release ]
27+
exclude:
28+
- rust-toolchain-name: nightly
29+
flavor: dev
2630
uses: ./.github/workflows/CI-linux.yml
2731
with:
2832
os: ${{ matrix.os }}
@@ -38,7 +42,41 @@ jobs:
3842
flavor: ${{ matrix.flavor }}
3943
secrets:
4044
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
41-
windows-cross:
45+
linux-fast-cross:
46+
strategy:
47+
fail-fast: false
48+
matrix:
49+
os: [ linux ]
50+
stack:
51+
- { runs-on: "ubuntu-24.04-arm", host: "aarch64", target: "armv6", vendor: "unknown", os: "linux", abi: "gnueabi" }
52+
- { runs-on: "ubuntu-24.04-arm", host: "aarch64", target: "armv7", vendor: "unknown", os: "linux", abi: "gnueabihf" }
53+
- { runs-on: "ubuntu-latest", host: "x86_64", target: "powerpc64", vendor: "unknown", os: "linux", abi: "gnu" }
54+
- { runs-on: "ubuntu-latest", host: "x86_64", target: "powerpc64le", vendor: "unknown", os: "linux", abi: "gnu" }
55+
- { runs-on: "ubuntu-latest", host: "x86_64", target: "s390x", vendor: "unknown", os: "linux", abi: "gnu" }
56+
- { runs-on: "ubuntu-latest", host: "x86_64", target: "riscv64", vendor: "unknown", os: "linux", abi: "gnu" }
57+
distro:
58+
- { image: "debian:trixie-slim", LLVM: 19 }
59+
rust-toolchain-name: [ stable, nightly ]
60+
flavor: [ dev, release ]
61+
exclude:
62+
- rust-toolchain-name: nightly
63+
flavor: dev
64+
uses: ./.github/workflows/CI-linux.yml
65+
with:
66+
os: ${{ matrix.os }}
67+
runs-on: ${{ matrix.stack.runs-on }}
68+
builder-host: ${{ matrix.stack.host }}
69+
builder-target: ${{ matrix.stack.target }}
70+
target-vendor: ${{ matrix.stack.vendor }}
71+
target-os: ${{ matrix.stack.os }}
72+
rust-toolchain-abi: ${{ matrix.stack.abi }}
73+
distro-image: ${{ matrix.distro.image }}
74+
distro-LLVM: ${{ matrix.distro.LLVM }}
75+
rust-toolchain-name: ${{ matrix.rust-toolchain-name }}
76+
flavor: ${{ matrix.flavor }}
77+
secrets:
78+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
79+
windows-fast:
4280
strategy:
4381
fail-fast: false
4482
matrix:
@@ -53,6 +91,8 @@ jobs:
5391
rust-toolchain-name: [ stable, nightly ]
5492
flavor: [ dev, release ]
5593
exclude:
94+
- rust-toolchain-name: nightly
95+
flavor: dev
5696
- stack: { runs-on: "ubuntu-24.04-arm", host: "aarch64", target: "aarch64", vendor: "pc", os: "windows" }
5797
abi: gnu
5898
- stack: { runs-on: "ubuntu-latest", host: "x86_64", target: "i686", vendor: "pc", os: "windows" }
@@ -72,14 +112,66 @@ jobs:
72112
flavor: ${{ matrix.flavor }}
73113
secrets:
74114
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
75-
linux-cross:
76-
needs: [ linux-fast, windows-cross, macOS-fast ]
115+
macOS-fast:
116+
strategy:
117+
fail-fast: false
118+
matrix:
119+
compiler:
120+
- { os: macos, os-ver: 15, host: "aarch64", target: "aarch64", XCode: 16.3, LLVM: 19 }
121+
- { os: macos, os-ver: 13, host: "x86_64", target: "x86_64", XCode: 15.2, LLVM: 16 }
122+
rust-toolchain-name: [ stable, nightly ]
123+
flavor: [ dev, release ]
124+
exclude:
125+
- rust-toolchain-name: nightly
126+
flavor: dev
127+
uses: ./.github/workflows/CI-macOS.yml
128+
with:
129+
os: ${{ matrix.compiler.os }}
130+
runs-on: ${{ matrix.compiler.os }}-${{ matrix.compiler.os-ver }}
131+
builder-host: ${{ matrix.compiler.host }}
132+
builder-target: ${{ matrix.compiler.target }}
133+
xcode-version: ${{ matrix.compiler.XCode }}
134+
LLVM_VER: ${{ matrix.compiler.LLVM }}
135+
rust-toolchain-name: ${{ matrix.rust-toolchain-name }}
136+
flavor: ${{ matrix.flavor }}
137+
secrets:
138+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
139+
linux-slow-native:
140+
needs: [ linux-fast-native, linux-fast-cross, windows-fast, macOS-fast ]
77141
strategy:
78142
fail-fast: false
79143
matrix:
80144
os: [ linux ]
81145
stack:
146+
- { runs-on: "ubuntu-latest", host: "x86_64", target: "x86_64", vendor: "unknown", os: "linux", abi: "gnu" }
147+
- { runs-on: "ubuntu-24.04-arm", host: "aarch64", target: "aarch64", vendor: "unknown", os: "linux", abi: "gnu" }
82148
- { runs-on: "ubuntu-latest", host: "x86_64", target: "i686", vendor: "unknown", os: "linux", abi: "gnu" }
149+
distro:
150+
- { image: "debian:trixie-slim", LLVM: 19 }
151+
rust-toolchain-name: [ nightly ]
152+
flavor: [ dev ]
153+
uses: ./.github/workflows/CI-linux.yml
154+
with:
155+
os: ${{ matrix.os }}
156+
runs-on: ${{ matrix.stack.runs-on }}
157+
builder-host: ${{ matrix.stack.host }}
158+
builder-target: ${{ matrix.stack.target }}
159+
target-vendor: ${{ matrix.stack.vendor }}
160+
target-os: ${{ matrix.stack.os }}
161+
rust-toolchain-abi: ${{ matrix.stack.abi }}
162+
distro-image: ${{ matrix.distro.image }}
163+
distro-LLVM: ${{ matrix.distro.LLVM }}
164+
rust-toolchain-name: ${{ matrix.rust-toolchain-name }}
165+
flavor: ${{ matrix.flavor }}
166+
secrets:
167+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
168+
linux-slow-cross:
169+
needs: [ linux-fast-native, linux-fast-cross, windows-fast, macOS-fast ]
170+
strategy:
171+
fail-fast: false
172+
matrix:
173+
os: [ linux ]
174+
stack:
83175
- { runs-on: "ubuntu-24.04-arm", host: "aarch64", target: "armv6", vendor: "unknown", os: "linux", abi: "gnueabi" }
84176
- { runs-on: "ubuntu-24.04-arm", host: "aarch64", target: "armv7", vendor: "unknown", os: "linux", abi: "gnueabihf" }
85177
- { runs-on: "ubuntu-latest", host: "x86_64", target: "powerpc64", vendor: "unknown", os: "linux", abi: "gnu" }
@@ -88,8 +180,8 @@ jobs:
88180
- { runs-on: "ubuntu-latest", host: "x86_64", target: "riscv64", vendor: "unknown", os: "linux", abi: "gnu" }
89181
distro:
90182
- { image: "debian:trixie-slim", LLVM: 19 }
91-
rust-toolchain-name: [ stable, nightly ]
92-
flavor: [ dev, release ]
183+
rust-toolchain-name: [ nightly ]
184+
flavor: [ dev ]
93185
uses: ./.github/workflows/CI-linux.yml
94186
with:
95187
os: ${{ matrix.os }}
@@ -105,15 +197,51 @@ jobs:
105197
flavor: ${{ matrix.flavor }}
106198
secrets:
107199
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
108-
macOS-fast:
200+
windows-slow:
201+
needs: [ linux-fast-native, linux-fast-cross, windows-fast, macOS-fast ]
202+
strategy:
203+
fail-fast: false
204+
matrix:
205+
os: [ linux ]
206+
stack:
207+
- { runs-on: "ubuntu-latest", host: "x86_64", target: "x86_64", vendor: "pc", os: "windows" }
208+
- { runs-on: "ubuntu-latest", host: "x86_64", target: "i686", vendor: "pc", os: "windows" }
209+
- { runs-on: "ubuntu-24.04-arm", host: "aarch64", target: "aarch64", vendor: "pc", os: "windows" }
210+
distro:
211+
- { image: "debian:trixie-slim", LLVM: 19 }
212+
abi: [ gnu, msvc ]
213+
rust-toolchain-name: [ nightly ]
214+
flavor: [ dev ]
215+
exclude:
216+
- stack: { runs-on: "ubuntu-24.04-arm", host: "aarch64", target: "aarch64", vendor: "pc", os: "windows" }
217+
abi: gnu
218+
- stack: { runs-on: "ubuntu-latest", host: "x86_64", target: "i686", vendor: "pc", os: "windows" }
219+
abi: msvc
220+
uses: ./.github/workflows/CI-linux.yml
221+
with:
222+
os: ${{ matrix.os }}
223+
runs-on: ${{ matrix.stack.runs-on }}
224+
builder-host: ${{ matrix.stack.host }}
225+
builder-target: ${{ matrix.stack.target }}
226+
target-vendor: ${{ matrix.stack.vendor }}
227+
target-os: ${{ matrix.stack.os }}
228+
rust-toolchain-abi: ${{ matrix.abi }}
229+
distro-image: ${{ matrix.distro.image }}
230+
distro-LLVM: ${{ matrix.distro.LLVM }}
231+
rust-toolchain-name: ${{ matrix.rust-toolchain-name }}
232+
flavor: ${{ matrix.flavor }}
233+
secrets:
234+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
235+
macOS-slow:
236+
needs: [ linux-fast-native, linux-fast-cross, windows-fast, macOS-fast ]
109237
strategy:
110238
fail-fast: false
111239
matrix:
112240
compiler:
113241
- { os: macos, os-ver: 15, host: "aarch64", target: "aarch64", XCode: 16.3, LLVM: 19 }
114242
- { os: macos, os-ver: 13, host: "x86_64", target: "x86_64", XCode: 15.2, LLVM: 16 }
115-
rust-toolchain-name: [ stable, nightly ]
116-
flavor: [ dev, release ]
243+
rust-toolchain-name: [ nightly ]
244+
flavor: [ dev ]
117245
uses: ./.github/workflows/CI-macOS.yml
118246
with:
119247
os: ${{ matrix.compiler.os }}
@@ -127,7 +255,8 @@ jobs:
127255
secrets:
128256
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
129257
build-docs:
130-
needs: [ linux-fast, windows-cross, linux-cross, macOS-fast ]
258+
needs: [ linux-fast-native, linux-fast-cross, windows-fast, macOS-fast,
259+
linux-slow-native, linux-slow-cross, windows-slow, macOS-slow]
131260
uses: ./.github/workflows/CI-linux.yml
132261
with:
133262
os: linux

0 commit comments

Comments
 (0)