1
1
name : CI (bors)
2
2
3
3
on :
4
- push :
5
- branches :
6
- - auto-libc
7
- - try
4
+ pull_request :
5
+ types : [opened, synchronize, reopened]
8
6
9
7
permissions : {}
10
8
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@HEAD
27
- with :
28
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
29
- - uses : actions/checkout@v4
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@HEAD
50
- with :
51
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
52
- - uses : actions/checkout@v4
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@HEAD
85
- with :
86
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
87
- - uses : actions/checkout@v4
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@HEAD
107
- with :
108
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
109
- - uses : actions/checkout@v4
110
- - name : Setup Rust toolchain
111
- run : sh ./ci/install-rust.sh
112
- - name : Check style
113
- run : sh ci/style.sh
114
-
115
9
docker_linux_tier2 :
116
10
permissions :
117
11
actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
118
12
contents : read # to fetch code (actions/checkout)
119
13
120
14
name : Docker Linux Tier2
121
- needs : [docker_linux_tier1, style_check]
122
15
runs-on : ubuntu-22.04
123
16
strategy :
124
17
fail-fast : true
125
18
max-parallel : 12
126
19
matrix :
127
20
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
21
arm-linux-androideabi,
134
- arm-unknown-linux-gnueabihf,
135
- arm-unknown-linux-musleabihf,
136
- asmjs-unknown-emscripten,
137
22
i686-linux-android,
138
- i686-unknown-linux-musl,
139
- powerpc-unknown-linux-gnu,
140
- powerpc64-unknown-linux-gnu,
141
- powerpc64le-unknown-linux-gnu,
142
- s390x-unknown-linux-gnu,
143
- riscv64gc-unknown-linux-gnu,
144
- # FIXME: A recent nightly causes a linker failure:
145
- # https://github.com/rust-lang/rust/issues/76679
146
- # See this comment for more details:
147
- # https://github.com/rust-lang/libc/pull/2225#issuecomment-880696737
148
- # wasm32-wasi,
149
- sparc64-unknown-linux-gnu,
150
- wasm32-unknown-emscripten,
151
23
x86_64-linux-android,
152
- # FIXME: Exec format error (os error 8)
153
- # x86_64-unknown-linux-gnux32,
154
- x86_64-unknown-linux-musl,
155
- # FIXME: It seems some items in `src/unix/mod.rs`
156
- # aren't defined on redox actually.
157
- # x86_64-unknown-redox,
158
24
]
159
25
steps :
160
26
- uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
@@ -166,168 +32,6 @@ jobs:
166
32
- name : Execute run-docker.sh
167
33
run : LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }}
168
34
169
- # These targets are tier 3 or otherwise need to have CI build std via -Zbuild-std.
170
- # Because of this, only the nightly compiler can be used on these targets.
171
- docker_linux_build_std :
172
- permissions :
173
- actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
174
- contents : read # to fetch code (actions/checkout)
175
-
176
- if : ${{ false }} # This is currently broken
177
- name : Docker Linux Build-Std Targets
178
- needs : [docker_linux_tier1, style_check]
179
- runs-on : ubuntu-22.04
180
- strategy :
181
- fail-fast : true
182
- max-parallel : 12
183
- matrix :
184
- target : [
185
- armv7-unknown-linux-uclibceabihf
186
- ]
187
- steps :
188
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
189
- with :
190
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
191
- - uses : actions/checkout@v4
192
- - name : Setup Rust toolchain
193
- run : TOOLCHAIN=nightly INSTALL_RUST_SRC=1 sh ./ci/install-rust.sh
194
- - name : Execute run-docker.sh
195
- run : LIBC_CI=1 TOOLCHAIN=nightly LIBC_CI_ZBUILD_STD=1 sh ./ci/run-docker.sh ${{ matrix.target }}
196
-
197
- # devkitpro's pacman needs to be connected from Docker.
198
- docker_switch :
199
- permissions :
200
- actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
201
- contents : read # to fetch code (actions/checkout)
202
-
203
- name : Docker Switch
204
- needs : [docker_linux_tier1, style_check]
205
- runs-on : ubuntu-22.04
206
- steps :
207
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
208
- with :
209
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
210
- - uses : actions/checkout@v4
211
- - name : Setup Rust toolchain
212
- run : sh ./ci/install-rust.sh
213
- - name : Execute run-docker.sh
214
- run : LIBC_CI=1 sh ./ci/run-docker.sh switch
215
-
216
- build_channels_linux :
217
- permissions :
218
- actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
219
- contents : read # to fetch code (actions/checkout)
220
-
221
- name : Build Channels Linux
222
- needs : docker_linux_tier2
223
- runs-on : ubuntu-22.04
224
- env :
225
- OS : linux
226
- strategy :
227
- fail-fast : true
228
- max-parallel : 5
229
- matrix :
230
- toolchain : [
231
- stable,
232
- beta,
233
- nightly,
234
- # FIXME: Disabled due to:
235
- # error: failed to parse registry's information for: serde
236
- # 1.13.0,
237
- 1.19.0,
238
- 1.24.0,
239
- 1.25.0,
240
- 1.30.0,
241
- ]
242
- steps :
243
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
244
- with :
245
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
246
- - uses : actions/checkout@v4
247
- - name : Setup Rust toolchain
248
- run : TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/install-rust.sh
249
- - name : Execute build.sh
250
- run : LIBC_CI=1 TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.sh
251
-
252
- build_channels_macos :
253
- permissions :
254
- contents : read # to fetch code (actions/checkout)
255
-
256
- name : Build Channels macOS
257
- needs : macos
258
- env :
259
- OS : macos
260
- strategy :
261
- fail-fast : true
262
- max-parallel : 4
263
- matrix :
264
- target :
265
- - { toolchain: stable, os: macos-12 }
266
- - { toolchain: beta, os: macos-12 }
267
- - { toolchain: nightly, os: macos-12 }
268
- # Use macOS 11 for older toolchains as newer Xcode donesn't work well.
269
- # FIXME: Disabled due to:
270
- # error: failed to parse registry's information for: serde
271
- # - { toolchain: 1.13.0, os: macos-11 }
272
- - { toolchain: 1.19.0, os: macos-11 }
273
- - { toolchain: 1.24.0, os: macos-11 }
274
- - { toolchain: 1.25.0, os: macos-11 }
275
- - { toolchain: 1.30.0, os: macos-11 }
276
- runs-on : ${{ matrix.target.os }}
277
- steps :
278
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
279
- with :
280
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
281
- - uses : actions/checkout@v4
282
- - name : Setup Rust toolchain
283
- run : TOOLCHAIN=${{ matrix.target.toolchain }} sh ./ci/install-rust.sh
284
- - name : Execute build.sh
285
- run : LIBC_CI=1 TOOLCHAIN=${{ matrix.target.toolchain }} sh ./ci/build.sh
286
-
287
- build_channels_windows :
288
- permissions :
289
- contents : read # to fetch code (actions/checkout)
290
-
291
- name : Build Channels Windows
292
- runs-on : windows-2022
293
- env :
294
- OS : windows
295
- strategy :
296
- fail-fast : true
297
- matrix :
298
- toolchain : [
299
- 1.19.0,
300
- 1.24.0,
301
- 1.25.0,
302
- 1.30.0,
303
- stable,
304
- ]
305
- steps :
306
- - uses : actions/checkout@v4
307
- - name : Self-update rustup
308
- run : rustup self update
309
- shell : bash
310
- - name : Execute build.sh
311
- run : LIBC_CI=1 TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.sh
312
- shell : bash
313
-
314
- check_cfg :
315
- permissions :
316
- actions : write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds)
317
- contents : read # to fetch code (actions/checkout)
318
-
319
- name : " Check #[cfg]s"
320
- runs-on : ubuntu-22.04
321
- steps :
322
- - uses : rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
323
- with :
324
- github_token : " ${{ secrets.GITHUB_TOKEN }}"
325
- - uses : actions/checkout@v4
326
- - name : Setup Rust toolchain
327
- run : TOOLCHAIN=nightly sh ./ci/install-rust.sh
328
- - name : Build with check-cfg
329
- run : LIBC_CI=1 LIBC_CHECK_CFG=1 cargo build -Z unstable-options -Z check-cfg
330
-
331
35
# These jobs doesn't actually test anything, but they're only used to tell
332
36
# bors the build completed, as there is no practical way to detect when a
333
37
# workflow is successful listening to webhooks only.
@@ -339,16 +43,7 @@ jobs:
339
43
if : github.event.pusher.name == 'bors' && success()
340
44
runs-on : ubuntu-22.04
341
45
needs : [
342
- docker_linux_tier1,
343
46
docker_linux_tier2,
344
- # docker_linux_build_std,
345
- macos,
346
- windows,
347
- style_check,
348
- docker_switch,
349
- build_channels_linux,
350
- build_channels_macos,
351
- build_channels_windows,
352
47
]
353
48
354
49
steps :
@@ -360,16 +55,7 @@ jobs:
360
55
if : github.event.pusher.name == 'bors' && (failure() || cancelled())
361
56
runs-on : ubuntu-22.04
362
57
needs : [
363
- docker_linux_tier1,
364
58
docker_linux_tier2,
365
- # docker_linux_build_std,
366
- macos,
367
- windows,
368
- style_check,
369
- docker_switch,
370
- build_channels_linux,
371
- build_channels_macos,
372
- build_channels_windows,
373
59
]
374
60
375
61
steps :
0 commit comments