@@ -28,6 +28,7 @@ name: CI
28
28
- " **"
29
29
permissions :
30
30
contents : read
31
+ packages : write
31
32
defaults :
32
33
run :
33
34
shell : bash
42
43
CI_JOB_NAME : " ${{ matrix.name }}"
43
44
CARGO_REGISTRIES_CRATES_IO_PROTOCOL : sparse
44
45
HEAD_SHA : " ${{ github.event.pull_request.head.sha || github.sha }}"
46
+ DOCKER_TOKEN : " ${{ secrets.GITHUB_TOKEN }}"
45
47
SCCACHE_BUCKET : rust-lang-ci-sccache2
46
48
TOOLSTATE_REPO : " https://github.com/rust-lang-nursery/rust-toolstate"
47
49
CACHE_DOMAIN : ci-caches.rust-lang.org
@@ -56,16 +58,27 @@ jobs:
56
58
- name : mingw-check-tidy
57
59
os : ubuntu-20.04-4core-16gb
58
60
env : {}
59
- - name : x86_64-gnu-llvm-16
61
+ - name : x86_64-gnu-llvm-17
60
62
env :
61
63
ENABLE_GCC_CODEGEN : " 1"
62
64
os : ubuntu-20.04-16core-64gb
63
65
- name : x86_64-gnu-tools
64
66
os : ubuntu-20.04-16core-64gb
65
67
env : {}
68
+ defaults :
69
+ run :
70
+ shell : " ${{ contains(matrix.os, 'windows') && 'msys2 {0}' || 'bash' }}"
66
71
timeout-minutes : 600
67
72
runs-on : " ${{ matrix.os }}"
68
73
steps :
74
+ - if : " contains(matrix.os, 'windows')"
75
+
76
+ with :
77
+ msystem : " ${{ contains(matrix.name, 'i686') && 'mingw32' || 'mingw64' }}"
78
+ update : false
79
+ release : true
80
+ path-type : inherit
81
+ install : " make dos2unix diffutils\n "
69
82
- name : disable git crlf conversion
70
83
run : git config --global core.autocrlf false
71
84
- name : checkout the source code
@@ -143,7 +156,7 @@ jobs:
143
156
run : src/ci/scripts/verify-stable-version-number.sh
144
157
if : success() && !env.SKIP_JOB
145
158
- name : run the build
146
- run : src/ci/scripts/run-build-from-ci.sh
159
+ run : src/ci/scripts/run-build-from-ci.sh 2>&1
147
160
env :
148
161
AWS_ACCESS_KEY_ID : " ${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
149
162
AWS_SECRET_ACCESS_KEY : " ${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
@@ -153,7 +166,7 @@ jobs:
153
166
run : src/ci/scripts/create-doc-artifacts.sh
154
167
if : success() && !env.SKIP_JOB
155
168
- name : upload artifacts to github
156
- uses : actions/upload-artifact@v3
169
+ uses : actions/upload-artifact@v4
157
170
with :
158
171
name : " ${{ env.DOC_ARTIFACT_NAME }}"
159
172
path : obj/artifacts/doc
@@ -172,6 +185,7 @@ jobs:
172
185
CI_JOB_NAME : " ${{ matrix.name }}"
173
186
CARGO_REGISTRIES_CRATES_IO_PROTOCOL : sparse
174
187
HEAD_SHA : " ${{ github.event.pull_request.head.sha || github.sha }}"
188
+ DOCKER_TOKEN : " ${{ secrets.GITHUB_TOKEN }}"
175
189
SCCACHE_BUCKET : rust-lang-ci-sccache2
176
190
DEPLOY_BUCKET : rust-lang-ci2
177
191
TOOLSTATE_REPO : " https://github.com/rust-lang-nursery/rust-toolstate"
@@ -221,6 +235,9 @@ jobs:
221
235
- name : dist-loongarch64-linux
222
236
os : ubuntu-20.04-8core-32gb
223
237
env : {}
238
+ - name : dist-ohos
239
+ os : ubuntu-20.04-8core-32gb
240
+ env : {}
224
241
- name : dist-powerpc-linux
225
242
os : ubuntu-20.04-8core-32gb
226
243
env : {}
@@ -289,19 +306,20 @@ jobs:
289
306
os : ubuntu-20.04-4core-16gb
290
307
env : {}
291
308
- name : x86_64-gnu-integration
292
- os : ubuntu-20.04-16core-64gb
293
- env : {}
309
+ env :
310
+ CI_ONLY_WHEN_CHANNEL : nightly
311
+ os : ubuntu-20.04-8core-32gb
294
312
- name : x86_64-gnu-debug
295
313
os : ubuntu-20.04-8core-32gb
296
314
env : {}
297
315
- name : x86_64-gnu-distcheck
298
316
os : ubuntu-20.04-8core-32gb
299
317
env : {}
300
- - name : x86_64-gnu-llvm-17
318
+ - name : x86_64-gnu-llvm-18
301
319
env :
302
320
RUST_BACKTRACE : 1
303
321
os : ubuntu-20.04-8core-32gb
304
- - name : x86_64-gnu-llvm-16
322
+ - name : x86_64-gnu-llvm-17
305
323
env :
306
324
RUST_BACKTRACE : 1
307
325
os : ubuntu-20.04-8core-32gb
@@ -315,10 +333,10 @@ jobs:
315
333
- name : dist-x86_64-apple
316
334
env :
317
335
SCRIPT : " ./x.py dist bootstrap --include-default-paths --host=x86_64-apple-darwin --target=x86_64-apple-darwin"
318
- RUST_CONFIGURE_ARGS : " --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false --set rust.lto=thin "
336
+ RUST_CONFIGURE_ARGS : " --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set rust.lto=thin --set rust.codegen-units=1 "
319
337
RUSTC_RETRY_LINKER_ON_SEGFAULT : 1
320
338
MACOSX_DEPLOYMENT_TARGET : 10.12
321
- SELECT_XCODE : /Applications/Xcode_13.4 .1.app
339
+ SELECT_XCODE : /Applications/Xcode_14.3 .1.app
322
340
NO_LLVM_ASSERTIONS : 1
323
341
NO_DEBUG_ASSERTIONS : 1
324
342
NO_OVERFLOW_CHECKS : 1
@@ -328,32 +346,34 @@ jobs:
328
346
- name : dist-apple-various
329
347
env :
330
348
SCRIPT : " ./x.py dist bootstrap --include-default-paths --host='' --target=aarch64-apple-ios,x86_64-apple-ios,aarch64-apple-ios-sim"
331
- RUST_CONFIGURE_ARGS : " --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false "
349
+ RUST_CONFIGURE_ARGS : " --enable-sanitizers --enable-profiler --set rust.jemalloc"
332
350
RUSTC_RETRY_LINKER_ON_SEGFAULT : 1
333
351
MACOSX_DEPLOYMENT_TARGET : 10.12
334
- SELECT_XCODE : /Applications/Xcode_13.4 .1.app
352
+ SELECT_XCODE : /Applications/Xcode_14.3 .1.app
335
353
NO_LLVM_ASSERTIONS : 1
336
354
NO_DEBUG_ASSERTIONS : 1
337
355
NO_OVERFLOW_CHECKS : 1
338
356
os : macos-13
339
357
- name : x86_64-apple-1
340
358
env :
341
359
SCRIPT : " ./x.py --stage 2 test --skip tests/ui --skip tests/rustdoc --skip tests/run-make-fulldeps"
342
- RUST_CONFIGURE_ARGS : " --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false "
360
+ RUST_CONFIGURE_ARGS : " --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc"
343
361
RUSTC_RETRY_LINKER_ON_SEGFAULT : 1
344
362
MACOSX_DEPLOYMENT_TARGET : 10.12
345
363
MACOSX_STD_DEPLOYMENT_TARGET : 10.12
364
+ SELECT_XCODE : /Applications/Xcode_14.3.1.app
346
365
NO_LLVM_ASSERTIONS : 1
347
366
NO_DEBUG_ASSERTIONS : 1
348
367
NO_OVERFLOW_CHECKS : 1
349
368
os : macos-13
350
369
- name : x86_64-apple-2
351
370
env :
352
371
SCRIPT : " ./x.py --stage 2 test tests/ui tests/rustdoc tests/run-make-fulldeps"
353
- RUST_CONFIGURE_ARGS : " --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false "
372
+ RUST_CONFIGURE_ARGS : " --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc"
354
373
RUSTC_RETRY_LINKER_ON_SEGFAULT : 1
355
374
MACOSX_DEPLOYMENT_TARGET : 10.12
356
375
MACOSX_STD_DEPLOYMENT_TARGET : 10.12
376
+ SELECT_XCODE : /Applications/Xcode_14.3.1.app
357
377
NO_LLVM_ASSERTIONS : 1
358
378
NO_DEBUG_ASSERTIONS : 1
359
379
NO_OVERFLOW_CHECKS : 1
@@ -363,28 +383,28 @@ jobs:
363
383
SCRIPT : " ./x.py dist bootstrap --include-default-paths --host=aarch64-apple-darwin --target=aarch64-apple-darwin"
364
384
RUST_CONFIGURE_ARGS : " --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false --set rust.lto=thin"
365
385
RUSTC_RETRY_LINKER_ON_SEGFAULT : 1
366
- SELECT_XCODE : /Applications/Xcode_13.4 .1.app
386
+ SELECT_XCODE : /Applications/Xcode_14.3 .1.app
367
387
USE_XCODE_CLANG : 1
368
388
MACOSX_DEPLOYMENT_TARGET : 11.0
369
389
MACOSX_STD_DEPLOYMENT_TARGET : 11.0
370
390
NO_LLVM_ASSERTIONS : 1
371
391
NO_DEBUG_ASSERTIONS : 1
372
392
NO_OVERFLOW_CHECKS : 1
373
393
DIST_REQUIRE_ALL_TOOLS : 1
374
- os : macos-13-xlarge
394
+ os : macos-14
375
395
- name : aarch64-apple
376
396
env :
377
397
SCRIPT : " ./x.py --stage 2 test --host=aarch64-apple-darwin --target=aarch64-apple-darwin"
378
- RUST_CONFIGURE_ARGS : " --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false "
398
+ RUST_CONFIGURE_ARGS : " --enable-sanitizers --enable-profiler --set rust.jemalloc"
379
399
RUSTC_RETRY_LINKER_ON_SEGFAULT : 1
380
- SELECT_XCODE : /Applications/Xcode_13.4 .1.app
400
+ SELECT_XCODE : /Applications/Xcode_14.3 .1.app
381
401
USE_XCODE_CLANG : 1
382
402
MACOSX_DEPLOYMENT_TARGET : 11.0
383
403
MACOSX_STD_DEPLOYMENT_TARGET : 11.0
384
404
NO_LLVM_ASSERTIONS : 1
385
405
NO_DEBUG_ASSERTIONS : 1
386
406
NO_OVERFLOW_CHECKS : 1
387
- os : macos-13-xlarge
407
+ os : macos-14
388
408
- name : x86_64-msvc
389
409
env :
390
410
RUST_CONFIGURE_ARGS : " --build=x86_64-pc-windows-msvc --enable-profiler"
@@ -418,7 +438,7 @@ jobs:
418
438
os : windows-2019-8core-32gb
419
439
- name : dist-x86_64-msvc
420
440
env :
421
- RUST_CONFIGURE_ARGS : " --build=x86_64-pc-windows-msvc --host=x86_64-pc-windows-msvc --target=x86_64-pc-windows-msvc --enable-full-tools --enable-profiler"
441
+ RUST_CONFIGURE_ARGS : " --build=x86_64-pc-windows-msvc --host=x86_64-pc-windows-msvc --target=x86_64-pc-windows-msvc --enable-full-tools --enable-profiler --set rust.codegen-units=1 "
422
442
SCRIPT : python x.py build --set rust.debug=true opt-dist && PGO_HOST=x86_64-pc-windows-msvc ./build/x86_64-pc-windows-msvc/stage0-tools-bin/opt-dist windows-ci -- python x.py dist bootstrap --include-default-paths
423
443
DIST_REQUIRE_ALL_TOOLS : 1
424
444
os : windows-2019-8core-32gb
@@ -455,9 +475,20 @@ jobs:
455
475
RUST_CONFIGURE_ARGS : " --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler"
456
476
SCRIPT : python x.py dist bootstrap --include-default-paths
457
477
os : windows-2019-8core-32gb
478
+ defaults :
479
+ run :
480
+ shell : " ${{ contains(matrix.os, 'windows') && 'msys2 {0}' || 'bash' }}"
458
481
timeout-minutes : 600
459
482
runs-on : " ${{ matrix.os }}"
460
483
steps :
484
+ - if : " contains(matrix.os, 'windows')"
485
+
486
+ with :
487
+ msystem : " ${{ contains(matrix.name, 'i686') && 'mingw32' || 'mingw64' }}"
488
+ update : false
489
+ release : true
490
+ path-type : inherit
491
+ install : " make dos2unix diffutils\n "
461
492
- name : disable git crlf conversion
462
493
run : git config --global core.autocrlf false
463
494
- name : checkout the source code
@@ -535,7 +566,7 @@ jobs:
535
566
run : src/ci/scripts/verify-stable-version-number.sh
536
567
if : success() && !env.SKIP_JOB
537
568
- name : run the build
538
- run : src/ci/scripts/run-build-from-ci.sh
569
+ run : src/ci/scripts/run-build-from-ci.sh 2>&1
539
570
env :
540
571
AWS_ACCESS_KEY_ID : " ${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
541
572
AWS_SECRET_ACCESS_KEY : " ${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
@@ -545,7 +576,7 @@ jobs:
545
576
run : src/ci/scripts/create-doc-artifacts.sh
546
577
if : success() && !env.SKIP_JOB
547
578
- name : upload artifacts to github
548
- uses : actions/upload-artifact@v3
579
+ uses : actions/upload-artifact@v4
549
580
with :
550
581
name : " ${{ env.DOC_ARTIFACT_NAME }}"
551
582
path : obj/artifacts/doc
@@ -565,6 +596,7 @@ jobs:
565
596
CI_JOB_NAME : " ${{ matrix.name }}"
566
597
CARGO_REGISTRIES_CRATES_IO_PROTOCOL : sparse
567
598
HEAD_SHA : " ${{ github.event.pull_request.head.sha || github.sha }}"
599
+ DOCKER_TOKEN : " ${{ secrets.GITHUB_TOKEN }}"
568
600
SCCACHE_BUCKET : rust-lang-ci-sccache2
569
601
DEPLOY_BUCKET : rust-lang-ci2
570
602
TOOLSTATE_REPO : " https://github.com/rust-lang-nursery/rust-toolstate"
@@ -582,9 +614,20 @@ jobs:
582
614
env :
583
615
CODEGEN_BACKENDS : " llvm,cranelift"
584
616
os : ubuntu-20.04-16core-64gb
617
+ defaults :
618
+ run :
619
+ shell : " ${{ contains(matrix.os, 'windows') && 'msys2 {0}' || 'bash' }}"
585
620
timeout-minutes : 600
586
621
runs-on : " ${{ matrix.os }}"
587
622
steps :
623
+ - if : " contains(matrix.os, 'windows')"
624
+
625
+ with :
626
+ msystem : " ${{ contains(matrix.name, 'i686') && 'mingw32' || 'mingw64' }}"
627
+ update : false
628
+ release : true
629
+ path-type : inherit
630
+ install : " make dos2unix diffutils\n "
588
631
- name : disable git crlf conversion
589
632
run : git config --global core.autocrlf false
590
633
- name : checkout the source code
@@ -662,7 +705,7 @@ jobs:
662
705
run : src/ci/scripts/verify-stable-version-number.sh
663
706
if : success() && !env.SKIP_JOB
664
707
- name : run the build
665
- run : src/ci/scripts/run-build-from-ci.sh
708
+ run : src/ci/scripts/run-build-from-ci.sh 2>&1
666
709
env :
667
710
AWS_ACCESS_KEY_ID : " ${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
668
711
AWS_SECRET_ACCESS_KEY : " ${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
@@ -672,7 +715,7 @@ jobs:
672
715
run : src/ci/scripts/create-doc-artifacts.sh
673
716
if : success() && !env.SKIP_JOB
674
717
- name : upload artifacts to github
675
- uses : actions/upload-artifact@v3
718
+ uses : actions/upload-artifact@v4
676
719
with :
677
720
name : " ${{ env.DOC_ARTIFACT_NAME }}"
678
721
path : obj/artifacts/doc
0 commit comments