3030 strategy :
3131 matrix :
3232 target : ${{ fromJSON(needs.setup.outputs.msrv-targets) }}
33+ action :
34+ - build
35+ - clippy
36+ - doc
3337 steps :
3438 - name : Checkout
3539 uses : actions/checkout@v7
4145 rustup target add ${{ matrix.target }} --toolchain=1.83
4246 - name : Build
4347 run : |
44- RUSTUP_TOOLCHAIN=1.83 just build -tier2 ${{ matrix.target }}
48+ RUSTUP_TOOLCHAIN=1.83 just ${{ matrix.action }} -tier2 ${{ matrix.target }}
4549
4650 # Build the workspace for a target architecture using latest stable
4751 build-tier2-stable :
5054 strategy :
5155 matrix :
5256 target : ${{ fromJSON(needs.setup.outputs.stable-targets) }}
57+ action :
58+ - build
59+ - clippy
60+ - doc
5361 steps :
5462 - name : Checkout
5563 uses : actions/checkout@v7
6169 rustup target add ${{ matrix.target }} --toolchain=stable
6270 - name : Build
6371 run : |
64- RUSTUP_TOOLCHAIN=stable just build -tier2 ${{ matrix.target }}
72+ RUSTUP_TOOLCHAIN=stable just ${{ matrix.action }} -tier2 ${{ matrix.target }}
6573
6674 # Build the workspace for all tier2 target architectures using rust-toolchain.toml
6775 build-tier2-nightly :
@@ -70,14 +78,18 @@ jobs:
7078 strategy :
7179 matrix :
7280 target : ${{ fromJSON(needs.setup.outputs.nightly-tier2-targets) }}
81+ action :
82+ - build
83+ - clippy
84+ - doc
7385 steps :
7486 - name : Checkout
7587 uses : actions/checkout@v7
7688 - name : Install Just
7789 uses : taiki-e/install-action@just
7890 - name : Build
7991 run : |
80- just build -tier2 ${{ matrix.target }}
92+ just ${{ matrix.action }} -tier2 ${{ matrix.target }}
8193
8294 # Build the workspace for all tier3 target architectures using rust-toolchain.toml
8395 build-tier3-nightly :
@@ -86,14 +98,18 @@ jobs:
8698 strategy :
8799 matrix :
88100 target : ${{ fromJSON(needs.setup.outputs.nightly-tier3-targets) }}
101+ action :
102+ - build
103+ - clippy
104+ - doc
89105 steps :
90106 - name : Checkout
91107 uses : actions/checkout@v7
92108 - name : Install Just
93109 uses : taiki-e/install-action@just
94110 - name : Build
95111 run : |
96- just build -tier3 ${{ matrix.target }}
112+ just ${{ matrix.action }} -tier3 ${{ matrix.target }}
97113
98114 # Build the workspace for all tier3 non atomic target architectures using rust-toolchain.toml
99115 build-tier3-no-atomics :
@@ -102,14 +118,18 @@ jobs:
102118 strategy :
103119 matrix :
104120 target : ${{ fromJSON(needs.setup.outputs.nightly-tier3-noatomic-targets) }}
121+ action :
122+ - build
123+ - clippy
124+ - doc
105125 steps :
106126 - name : Checkout
107127 uses : actions/checkout@v7
108128 - name : Install Just
109129 uses : taiki-e/install-action@just
110130 - name : Build
111131 run : |
112- just build -tier3-no-atomics ${{ matrix.target }}
132+ just ${{ matrix.action }} -tier3-no-atomics ${{ matrix.target }}
113133
114134 # Build the host-only stuff on stable and MSRV
115135 build-arm-targets :
@@ -120,6 +140,16 @@ jobs:
120140 rust :
121141 - 1.83
122142 - stable
143+ - " "
144+ action :
145+ - build
146+ - clippy
147+ - doc
148+ exclude :
149+ - rust : 1.83
150+ action : clippy
151+ - rust : stable
152+ action : clippy
123153 steps :
124154 - name : Checkout
125155 uses : actions/checkout@v7
@@ -130,7 +160,7 @@ jobs:
130160 rustup install ${{ matrix.rust }}
131161 - name : Build
132162 run : |
133- RUSTUP_TOOLCHAIN=${{ matrix.rust }} just build -arm-targets
163+ RUSTUP_TOOLCHAIN=${{ matrix.rust }} just ${{ matrix.action }} -arm-targets
134164
135165 # Gather all the above build jobs together for the purposes of getting an overall pass-fail
136166 build-all :
@@ -145,122 +175,8 @@ jobs:
145175 steps :
146176 - run : /bin/true
147177
148- # Document the workspace for a target architecture using the MSRV
149- doc-tier2-msrv :
150- runs-on : ubuntu-24.04
151- needs : setup
152- strategy :
153- matrix :
154- target : ${{ fromJSON(needs.setup.outputs.msrv-targets) }}
155- steps :
156- - name : Checkout
157- uses : actions/checkout@v7
158- - name : Install Just
159- uses : taiki-e/install-action@just
160- - name : Install Rust
161- run : |
162- rustup install 1.83
163- rustup target add ${{ matrix.target }} --toolchain=1.83
164- - name : Build
165- run : |
166- RUSTUP_TOOLCHAIN=1.83 just doc-tier2 ${{ matrix.target }}
167-
168- # Document the workspace for a target architecture using latest stable
169- doc-tier2-stable :
170- runs-on : ubuntu-24.04
171- needs : setup
172- strategy :
173- matrix :
174- target : ${{ fromJSON(needs.setup.outputs.stable-targets) }}
175- steps :
176- - name : Checkout
177- uses : actions/checkout@v7
178- - name : Install Just
179- uses : taiki-e/install-action@just
180- - name : Install Rust
181- run : |
182- rustup install stable
183- rustup target add ${{ matrix.target }} --toolchain=stable
184- - name : Build
185- run : |
186- RUSTUP_TOOLCHAIN=stable just doc-tier2 ${{ matrix.target }}
187-
188- # Document the workspace for all tier2 target architectures using rust-toolchain.toml
189- doc-tier2-nightly :
190- runs-on : ubuntu-24.04
191- needs : setup
192- strategy :
193- matrix :
194- target : ${{ fromJSON(needs.setup.outputs.nightly-tier2-targets) }}
195- steps :
196- - name : Checkout
197- uses : actions/checkout@v7
198- - name : Install Just
199- uses : taiki-e/install-action@just
200- - name : Build
201- run : |
202- just doc-tier2 ${{ matrix.target }}
203-
204- # Document the workspace for all tier3 target architectures using rust-toolchain.toml
205- doc-tier3-nightly :
206- runs-on : ubuntu-24.04
207- needs : setup
208- strategy :
209- matrix :
210- target : ${{ fromJSON(needs.setup.outputs.nightly-tier3-targets) }}
211- steps :
212- - name : Checkout
213- uses : actions/checkout@v7
214- - name : Install Just
215- uses : taiki-e/install-action@just
216- - name : Build
217- run : |
218- just doc-tier3 ${{ matrix.target }}
219-
220- # Document the workspace for all tier3 non atomic target architectures using rust-toolchain.toml
221- doc-tier3-no-atomics :
222- runs-on : ubuntu-24.04
223- needs : setup
224- strategy :
225- matrix :
226- target : ${{ fromJSON(needs.setup.outputs.nightly-tier3-noatomic-targets) }}
227- steps :
228- - name : Checkout
229- uses : actions/checkout@v7
230- - name : Install Just
231- uses : taiki-e/install-action@just
232- - name : Build
233- run : |
234- just doc-tier3-no-atomics ${{ matrix.target }}
235-
236- # Build the docs for arm-targets
237- doc-arm-targets :
238- runs-on : ubuntu-24.04
239- needs : setup
240- steps :
241- - name : Checkout
242- uses : actions/checkout@v7
243- - name : Install Just
244- uses : taiki-e/install-action@just
245- - name : Build docs
246- run : |
247- just doc-arm-targets
248-
249- # Gather all the above doc jobs together for the purposes of getting an overall pass-fail
250- docs-all :
251- runs-on : ubuntu-24.04
252- needs :
253- - doc-tier2-msrv
254- - doc-tier2-stable
255- - doc-tier2-nightly
256- - doc-tier3-nightly
257- - doc-tier3-no-atomics
258- - doc-arm-targets
259- steps :
260- - run : /bin/true
261-
262178 # Format the workspace
263- fmt-all :
179+ fmt-check :
264180 runs-on : ubuntu-24.04
265181 needs : setup
266182 steps :
@@ -272,54 +188,6 @@ jobs:
272188 run : |
273189 just fmt-check
274190
275- # Analyse the workspace for all tier2 target architectures using rust-toolchain.toml
276- clippy-tier2-nightly :
277- runs-on : ubuntu-24.04
278- needs : setup
279- strategy :
280- matrix :
281- target : ${{ fromJSON(needs.setup.outputs.nightly-tier2-targets) }}
282- steps :
283- - name : Checkout
284- uses : actions/checkout@v7
285- - name : Install Just
286- uses : taiki-e/install-action@just
287- - name : Clippy
288- run : |
289- just clippy-tier2 ${{ matrix.target }}
290-
291- # Analyse the workspace for all tier3 target architectures using rust-toolchain.toml
292- clippy-tier3-nightly :
293- runs-on : ubuntu-24.04
294- needs : setup
295- strategy :
296- matrix :
297- target : ${{ fromJSON(needs.setup.outputs.nightly-tier3-targets) }}
298- steps :
299- - name : Checkout
300- uses : actions/checkout@v7
301- - name : Install Just
302- uses : taiki-e/install-action@just
303- - name : Clippy
304- run : |
305- just clippy-tier3 ${{ matrix.target }}
306-
307- # Analyse the workspace for all tier3 non atomic target architectures using rust-toolchain.toml
308- clippy-tier3-no-atomics :
309- runs-on : ubuntu-24.04
310- needs : setup
311- strategy :
312- matrix :
313- target : ${{ fromJSON(needs.setup.outputs.nightly-tier3-noatomic-targets) }}
314- steps :
315- - name : Checkout
316- uses : actions/checkout@v7
317- - name : Install Just
318- uses : taiki-e/install-action@just
319- - name : Clippy
320- run : |
321- just clippy-tier3-no-atomics ${{ matrix.target }}
322-
323191 # Run clippy on the examples
324192 clippy-examples :
325193 runs-on : ubuntu-24.04
@@ -337,31 +205,6 @@ jobs:
337205 run : |
338206 just clippy-examples
339207
340- # Run clippy on the host tools
341- clippy-arm-targets :
342- runs-on : ubuntu-24.04
343- needs : setup
344- steps :
345- - name : Checkout
346- uses : actions/checkout@v7
347- - name : Install Just
348- uses : taiki-e/install-action@just
349- - name : Clippy
350- run : |
351- just clippy-arm-targets
352-
353- # Gather all the above clippy jobs together for the purposes of getting an overall pass-fail
354- clippy-all :
355- runs-on : ubuntu-24.04
356- needs :
357- - clippy-tier2-nightly
358- - clippy-tier3-nightly
359- - clippy-tier3-no-atomics
360- - clippy-examples
361- - clippy-arm-targets
362- steps :
363- - run : /bin/true
364-
365208 # Run the unit tests
366209 test-cargo :
367210 runs-on : ubuntu-24.04
@@ -421,9 +264,8 @@ jobs:
421264 if : always()
422265 # not gating on clippy-all
423266 needs :
424- - docs-all
425267 - build-all
426- - fmt-all
268+ - fmt-check
427269 - test-all
428270 timeout-minutes : 2
429271 steps :
0 commit comments