8
8
9
9
permissions : {}
10
10
jobs :
11
- docker_linux_tier1 :
12
- permissions :
13
- actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
14
- contents : read # to fetch code (actions/checkout)
15
-
16
- name : Docker Linux Tier1
17
- runs-on : ubuntu-22.04
18
- strategy :
19
- fail-fast : true
20
- matrix :
21
- target : [
22
- i686-unknown-linux-gnu,
23
- x86_64-unknown-linux-gnu,
24
- ]
25
- steps :
26
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
27
- with :
28
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
29
- - uses : actions/checkout@v3
30
- - name : Setup Rust toolchain
31
- run : TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
32
- - name : Execute run-docker.sh
33
- run : LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }}
34
-
35
- macos :
36
- permissions :
37
- actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
38
- contents : read # to fetch code (actions/checkout)
39
-
40
- name : macOS
41
- runs-on : macos-12
42
- strategy :
43
- fail-fast : true
44
- matrix :
45
- target : [
46
- x86_64-apple-darwin,
47
- ]
48
- steps :
49
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
50
- with :
51
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
52
- - uses : actions/checkout@v3
53
- - name : Setup Rust toolchain
54
- run : TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
55
- - name : Execute run.sh
56
- run : LIBC_CI=1 sh ./ci/run.sh ${{ matrix.target }}
57
-
58
- windows :
59
- permissions :
60
- actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
61
- contents : read # to fetch code (actions/checkout)
62
-
63
- name : Windows
64
- runs-on : windows-2022
65
- env :
66
- OS : windows
67
- strategy :
68
- fail-fast : true
69
- matrix :
70
- include :
71
- - target : x86_64-pc-windows-gnu
72
- env :
73
- ARCH_BITS : 64
74
- ARCH : x86_64
75
- - target : x86_64-pc-windows-msvc
76
- # Disabled because broken:
77
- # https://github.com/rust-lang/libc/issues/1592
78
- # - target: i686-pc-windows-gnu
79
- # env:
80
- # ARCH_BITS: 32
81
- # ARCH: i686
82
- - target : i686-pc-windows-msvc
83
- steps :
84
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
85
- with :
86
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
87
- - uses : actions/checkout@v3
88
- - name : Self-update rustup
89
- run : rustup self update
90
- shell : bash
91
- - name : Setup Rust toolchain
92
- run : TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
93
- shell : bash
94
- - name : Execute run.sh
95
- run : LIBC_CI=1 sh ./ci/run.sh ${{ matrix.target }}
96
- shell : bash
97
-
98
- style_check :
99
- permissions :
100
- actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
101
- contents : read # to fetch code (actions/checkout)
102
-
103
- name : Style check
104
- runs-on : ubuntu-22.04
105
- steps :
106
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
107
- with :
108
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
109
- - uses : actions/checkout@v3
110
- - name : Setup Rust toolchain
111
- run : sh ./ci/install-rust.sh
112
- - name : Check style
113
- run : sh ci/style.sh
114
-
115
11
docker_linux_tier2 :
116
12
permissions :
117
13
actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
118
14
contents : read # to fetch code (actions/checkout)
119
15
120
16
name : Docker Linux Tier2
121
- needs : [docker_linux_tier1, style_check]
122
17
runs-on : ubuntu-22.04
123
18
strategy :
124
19
fail-fast : true
125
20
max-parallel : 12
126
21
matrix :
127
22
target : [
128
- # FIXME: Mysterious failures in CI, see
129
- # https://github.com/rust-lang/libc/issues/2081
130
- # aarch64-linux-android,
131
- aarch64-unknown-linux-gnu,
132
- aarch64-unknown-linux-musl,
133
- arm-linux-androideabi,
134
- arm-unknown-linux-gnueabihf,
135
- arm-unknown-linux-musleabihf,
136
- asmjs-unknown-emscripten,
137
- # FIXME: Started to fail since 2022-10-10:
138
- # error: linking with `i686-linux-android-gcc` failed: exit status: 1
139
- # ld: error: cannot find -lunwind
140
- # i686-linux-android,
141
- i686-unknown-linux-musl,
142
- mips-unknown-linux-gnu,
143
- mips-unknown-linux-musl,
144
- # FIXME: Somehow failed on CI
145
- # https://github.com/rust-lang/libc/runs/1659882216
146
- # mips64-unknown-linux-gnuabi64,
147
- # mips64el-unknown-linux-gnuabi64,
148
- mipsel-unknown-linux-musl,
149
- powerpc-unknown-linux-gnu,
150
- powerpc64-unknown-linux-gnu,
151
- powerpc64le-unknown-linux-gnu,
152
- s390x-unknown-linux-gnu,
153
- riscv64gc-unknown-linux-gnu,
154
- # FIXME: A recent nightly causes a linker failure:
155
- # https://github.com/rust-lang/rust/issues/76679
156
- # See this comment for more details:
157
- # https://github.com/rust-lang/libc/pull/2225#issuecomment-880696737
158
- # wasm32-wasi,
159
- sparc64-unknown-linux-gnu,
160
- wasm32-unknown-emscripten,
161
- # FIXME: Started to fail since 2022-10-10:
162
- # error: linking with `x86_64-linux-android-gcc` failed: exit status: 1
163
- # ld: error: cannot find -lunwind
164
- # x86_64-linux-android,
165
- x86_64-unknown-linux-gnux32,
166
- x86_64-unknown-linux-musl,
167
- # FIXME: It seems some items in `src/unix/mod.rs`
168
- # aren't defined on redox actually.
169
- # x86_64-unknown-redox,
23
+ i686-linux-android,
170
24
]
171
25
steps :
172
26
- uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
@@ -178,195 +32,6 @@ jobs:
178
32
- name : Execute run-docker.sh
179
33
run : LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }}
180
34
181
- # These targets are tier 3 or otherwise need to have CI build std via -Zbuild-std.
182
- # Because of this, only the nightly compiler can be used on these targets.
183
- docker_linux_build_std :
184
- permissions :
185
- actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
186
- contents : read # to fetch code (actions/checkout)
187
-
188
- if : ${{ false }} # This is currently broken
189
- name : Docker Linux Build-Std Targets
190
- needs : [docker_linux_tier1, style_check]
191
- runs-on : ubuntu-22.04
192
- strategy :
193
- fail-fast : true
194
- max-parallel : 12
195
- matrix :
196
- target : [
197
- armv7-unknown-linux-uclibceabihf
198
- ]
199
- steps :
200
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
201
- with :
202
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
203
- - uses : actions/checkout@v3
204
- - name : Setup Rust toolchain
205
- run : TOOLCHAIN=nightly INSTALL_RUST_SRC=1 sh ./ci/install-rust.sh
206
- - name : Execute run-docker.sh
207
- run : LIBC_CI=1 TOOLCHAIN=nightly LIBC_CI_ZBUILD_STD=1 sh ./ci/run-docker.sh ${{ matrix.target }}
208
-
209
- # devkitpro's pacman needs to be connected from Docker.
210
- docker_switch :
211
- permissions :
212
- actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
213
- contents : read # to fetch code (actions/checkout)
214
-
215
- name : Docker Switch
216
- needs : [docker_linux_tier1, style_check]
217
- runs-on : ubuntu-22.04
218
- steps :
219
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
220
- with :
221
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
222
- - uses : actions/checkout@v3
223
- - name : Setup Rust toolchain
224
- run : sh ./ci/install-rust.sh
225
- - name : Execute run-docker.sh
226
- run : LIBC_CI=1 sh ./ci/run-docker.sh switch
227
-
228
- build_channels_linux :
229
- permissions :
230
- actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
231
- contents : read # to fetch code (actions/checkout)
232
-
233
- name : Build Channels Linux
234
- needs : docker_linux_tier2
235
- runs-on : ubuntu-22.04
236
- env :
237
- OS : linux
238
- strategy :
239
- fail-fast : true
240
- max-parallel : 5
241
- matrix :
242
- toolchain : [
243
- stable,
244
- beta,
245
- nightly,
246
- 1.13.0,
247
- 1.19.0,
248
- 1.24.0,
249
- 1.25.0,
250
- 1.30.0,
251
- ]
252
- steps :
253
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
254
- with :
255
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
256
- - uses : actions/checkout@v3
257
- - name : Setup Rust toolchain
258
- run : TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/install-rust.sh
259
- - name : Execute build.sh
260
- run : LIBC_CI=1 TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.sh
261
-
262
- build_channels_macos :
263
- permissions :
264
- contents : read # to fetch code (actions/checkout)
265
-
266
- name : Build Channels macOS
267
- needs : macos
268
- # FIXME: Use macOS 11 for now as CI failed with a linker error on macOS 12 image:
269
- # ld: in /.../x86_64-apple-darwin/lib/libstd-a4729905.rlib(rust.metadata.bin),
270
- # archive member 'rust.metadata.bin' with length 2958149 is not mach-o or llvm bitcode file '/.../x86_64-apple-darwin/lib/libstd-a4729905.rlib'
271
- # Possibly related: https://github.com/actions/runner-images/issues/6350
272
- runs-on : macos-11
273
- env :
274
- OS : macos
275
- strategy :
276
- fail-fast : true
277
- max-parallel : 4
278
- matrix :
279
- toolchain : [
280
- stable,
281
- beta,
282
- nightly,
283
- 1.13.0,
284
- 1.19.0,
285
- 1.24.0,
286
- 1.25.0,
287
- 1.30.0,
288
- ]
289
- steps :
290
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
291
- with :
292
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
293
- - uses : actions/checkout@v3
294
- - name : Setup Rust toolchain
295
- run : TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/install-rust.sh
296
- - name : Execute build.sh
297
- run : LIBC_CI=1 TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.sh
298
-
299
- build_channels_windows :
300
- permissions :
301
- contents : read # to fetch code (actions/checkout)
302
-
303
- name : Build Channels Windows
304
- runs-on : windows-2022
305
- env :
306
- OS : windows
307
- strategy :
308
- fail-fast : true
309
- matrix :
310
- toolchain : [
311
- 1.19.0,
312
- 1.24.0,
313
- 1.25.0,
314
- 1.30.0,
315
- stable,
316
- ]
317
- steps :
318
- - uses : actions/checkout@v3
319
- - name : Self-update rustup
320
- run : rustup self update
321
- shell : bash
322
- - name : Execute build.sh
323
- run : LIBC_CI=1 TOOLCHAIN=${{ matrix.toolchain }} WIN_TARGET=${{ matrix.target }} sh ./ci/build.sh
324
- shell : bash
325
-
326
- semver_linux :
327
- if : ${{ false }} # This is currently broken
328
- name : Semver Linux
329
- runs-on : ubuntu-22.04
330
- continue-on-error : true
331
- steps :
332
- - uses : actions/checkout@v3
333
- - name : Setup Rust toolchain
334
- # Should update the semverver revision in semver.sh if we touch nightly ver.
335
- run : TOOLCHAIN=nightly-2022-05-23 sh ./ci/install-rust.sh
336
- - name : Check breaking changes
337
- run : sh ci/semver.sh linux
338
-
339
- semver_macos :
340
- if : ${{ false }} # This is currently broken
341
- name : Semver macOS
342
- runs-on : macos-12
343
- continue-on-error : true
344
- steps :
345
- - uses : actions/checkout@v3
346
- - name : Setup Rust toolchain
347
- # Pin nightly version to make semverver compilable.
348
- run : TOOLCHAIN=nightly-2022-05-23 sh ./ci/install-rust.sh
349
- - name : Check breaking changes
350
- run : sh ci/semver.sh macos
351
-
352
- docs :
353
- permissions :
354
- actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
355
- contents : read # to fetch code (actions/checkout)
356
-
357
- name : Generate documentation
358
- runs-on : ubuntu-22.04
359
- needs : docker_linux_tier2
360
- steps :
361
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
362
- with :
363
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
364
- - uses : actions/checkout@v3
365
- - name : Setup Rust toolchain
366
- run : sh ./ci/install-rust.sh
367
- - name : Generate documentation
368
- run : LIBC_CI=1 sh ci/dox.sh
369
-
370
35
# These jobs doesn't actually test anything, but they're only used to tell
371
36
# bors the build completed, as there is no practical way to detect when a
372
37
# workflow is successful listening to webhooks only.
@@ -378,17 +43,7 @@ jobs:
378
43
if : github.event.pusher.name == 'bors' && success()
379
44
runs-on : ubuntu-22.04
380
45
needs : [
381
- docker_linux_tier1,
382
46
docker_linux_tier2,
383
- # docker_linux_build_std,
384
- macos,
385
- windows,
386
- style_check,
387
- docker_switch,
388
- build_channels_linux,
389
- build_channels_macos,
390
- build_channels_windows,
391
- docs,
392
47
]
393
48
394
49
steps :
@@ -400,17 +55,7 @@ jobs:
400
55
if : github.event.pusher.name == 'bors' && (failure() || cancelled())
401
56
runs-on : ubuntu-22.04
402
57
needs : [
403
- docker_linux_tier1,
404
58
docker_linux_tier2,
405
- # docker_linux_build_std,
406
- macos,
407
- windows,
408
- style_check,
409
- docker_switch,
410
- build_channels_linux,
411
- build_channels_macos,
412
- build_channels_windows,
413
- docs,
414
59
]
415
60
416
61
steps :
0 commit comments