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