@@ -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 : {}
@@ -291,18 +308,18 @@ jobs:
291
308
- name : x86_64-gnu-integration
292
309
env :
293
310
CI_ONLY_WHEN_CHANNEL : nightly
294
- os : ubuntu-20.04-16core-64gb
311
+ os : ubuntu-20.04-8core-32gb
295
312
- name : x86_64-gnu-debug
296
313
os : ubuntu-20.04-8core-32gb
297
314
env : {}
298
315
- name : x86_64-gnu-distcheck
299
316
os : ubuntu-20.04-8core-32gb
300
317
env : {}
301
- - name : x86_64-gnu-llvm-17
318
+ - name : x86_64-gnu-llvm-18
302
319
env :
303
320
RUST_BACKTRACE : 1
304
321
os : ubuntu-20.04-8core-32gb
305
- - name : x86_64-gnu-llvm-16
322
+ - name : x86_64-gnu-llvm-17
306
323
env :
307
324
RUST_BACKTRACE : 1
308
325
os : ubuntu-20.04-8core-32gb
@@ -316,10 +333,10 @@ jobs:
316
333
- name : dist-x86_64-apple
317
334
env :
318
335
SCRIPT : " ./x.py dist bootstrap --include-default-paths --host=x86_64-apple-darwin --target=x86_64-apple-darwin"
319
- 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 "
320
337
RUSTC_RETRY_LINKER_ON_SEGFAULT : 1
321
338
MACOSX_DEPLOYMENT_TARGET : 10.12
322
- SELECT_XCODE : /Applications/Xcode_13.4 .1.app
339
+ SELECT_XCODE : /Applications/Xcode_14.3 .1.app
323
340
NO_LLVM_ASSERTIONS : 1
324
341
NO_DEBUG_ASSERTIONS : 1
325
342
NO_OVERFLOW_CHECKS : 1
@@ -329,51 +346,65 @@ jobs:
329
346
- name : dist-apple-various
330
347
env :
331
348
SCRIPT : " ./x.py dist bootstrap --include-default-paths --host='' --target=aarch64-apple-ios,x86_64-apple-ios,aarch64-apple-ios-sim"
332
- 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"
333
350
RUSTC_RETRY_LINKER_ON_SEGFAULT : 1
334
351
MACOSX_DEPLOYMENT_TARGET : 10.12
335
- SELECT_XCODE : /Applications/Xcode_13.4 .1.app
352
+ SELECT_XCODE : /Applications/Xcode_14.3 .1.app
336
353
NO_LLVM_ASSERTIONS : 1
337
354
NO_DEBUG_ASSERTIONS : 1
338
355
NO_OVERFLOW_CHECKS : 1
339
356
os : macos-13
340
357
- name : x86_64-apple-1
341
358
env :
342
359
SCRIPT : " ./x.py --stage 2 test --skip tests/ui --skip tests/rustdoc --skip tests/run-make-fulldeps"
343
- 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"
344
361
RUSTC_RETRY_LINKER_ON_SEGFAULT : 1
345
362
MACOSX_DEPLOYMENT_TARGET : 10.12
346
363
MACOSX_STD_DEPLOYMENT_TARGET : 10.12
364
+ SELECT_XCODE : /Applications/Xcode_14.3.1.app
347
365
NO_LLVM_ASSERTIONS : 1
348
366
NO_DEBUG_ASSERTIONS : 1
349
367
NO_OVERFLOW_CHECKS : 1
350
368
os : macos-13
351
369
- name : x86_64-apple-2
352
370
env :
353
371
SCRIPT : " ./x.py --stage 2 test tests/ui tests/rustdoc tests/run-make-fulldeps"
354
- 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"
355
373
RUSTC_RETRY_LINKER_ON_SEGFAULT : 1
356
374
MACOSX_DEPLOYMENT_TARGET : 10.12
357
375
MACOSX_STD_DEPLOYMENT_TARGET : 10.12
376
+ SELECT_XCODE : /Applications/Xcode_14.3.1.app
358
377
NO_LLVM_ASSERTIONS : 1
359
378
NO_DEBUG_ASSERTIONS : 1
360
379
NO_OVERFLOW_CHECKS : 1
361
380
os : macos-13
362
381
- name : dist-aarch64-apple
363
382
env :
364
- SCRIPT : " ./x.py dist bootstrap --include-default-paths --stage 2 "
365
- RUST_CONFIGURE_ARGS : " --build=x86_64-apple-darwin --host=aarch64-apple-darwin --target=aarch64-apple-darwin -- enable-full-tools --enable-sanitizers --enable-profiler --disable-docs -- set rust.jemalloc --set llvm.ninja=false"
383
+ SCRIPT : " ./x.py dist bootstrap --include-default-paths --host=aarch64-apple-darwin --target=aarch64-apple-darwin "
384
+ RUST_CONFIGURE_ARGS : " --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false --set rust.lto=thin "
366
385
RUSTC_RETRY_LINKER_ON_SEGFAULT : 1
367
- SELECT_XCODE : /Applications/Xcode_13.4 .1.app
386
+ SELECT_XCODE : /Applications/Xcode_14.3 .1.app
368
387
USE_XCODE_CLANG : 1
369
388
MACOSX_DEPLOYMENT_TARGET : 11.0
370
389
MACOSX_STD_DEPLOYMENT_TARGET : 11.0
371
390
NO_LLVM_ASSERTIONS : 1
372
391
NO_DEBUG_ASSERTIONS : 1
373
392
NO_OVERFLOW_CHECKS : 1
374
393
DIST_REQUIRE_ALL_TOOLS : 1
375
- JEMALLOC_SYS_WITH_LG_PAGE : 14
376
- os : macos-13
394
+ os : macos-14
395
+ - name : aarch64-apple
396
+ env :
397
+ SCRIPT : " ./x.py --stage 2 test --host=aarch64-apple-darwin --target=aarch64-apple-darwin"
398
+ RUST_CONFIGURE_ARGS : " --enable-sanitizers --enable-profiler --set rust.jemalloc"
399
+ RUSTC_RETRY_LINKER_ON_SEGFAULT : 1
400
+ SELECT_XCODE : /Applications/Xcode_14.3.1.app
401
+ USE_XCODE_CLANG : 1
402
+ MACOSX_DEPLOYMENT_TARGET : 11.0
403
+ MACOSX_STD_DEPLOYMENT_TARGET : 11.0
404
+ NO_LLVM_ASSERTIONS : 1
405
+ NO_DEBUG_ASSERTIONS : 1
406
+ NO_OVERFLOW_CHECKS : 1
407
+ os : macos-14
377
408
- name : x86_64-msvc
378
409
env :
379
410
RUST_CONFIGURE_ARGS : " --build=x86_64-pc-windows-msvc --enable-profiler"
@@ -407,7 +438,7 @@ jobs:
407
438
os : windows-2019-8core-32gb
408
439
- name : dist-x86_64-msvc
409
440
env :
410
- 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 "
411
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
412
443
DIST_REQUIRE_ALL_TOOLS : 1
413
444
os : windows-2019-8core-32gb
@@ -444,9 +475,20 @@ jobs:
444
475
RUST_CONFIGURE_ARGS : " --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler"
445
476
SCRIPT : python x.py dist bootstrap --include-default-paths
446
477
os : windows-2019-8core-32gb
478
+ defaults :
479
+ run :
480
+ shell : " ${{ contains(matrix.os, 'windows') && 'msys2 {0}' || 'bash' }}"
447
481
timeout-minutes : 600
448
482
runs-on : " ${{ matrix.os }}"
449
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 "
450
492
- name : disable git crlf conversion
451
493
run : git config --global core.autocrlf false
452
494
- name : checkout the source code
@@ -524,7 +566,7 @@ jobs:
524
566
run : src/ci/scripts/verify-stable-version-number.sh
525
567
if : success() && !env.SKIP_JOB
526
568
- name : run the build
527
- run : src/ci/scripts/run-build-from-ci.sh
569
+ run : src/ci/scripts/run-build-from-ci.sh 2>&1
528
570
env :
529
571
AWS_ACCESS_KEY_ID : " ${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
530
572
AWS_SECRET_ACCESS_KEY : " ${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
@@ -534,7 +576,7 @@ jobs:
534
576
run : src/ci/scripts/create-doc-artifacts.sh
535
577
if : success() && !env.SKIP_JOB
536
578
- name : upload artifacts to github
537
- uses : actions/upload-artifact@v3
579
+ uses : actions/upload-artifact@v4
538
580
with :
539
581
name : " ${{ env.DOC_ARTIFACT_NAME }}"
540
582
path : obj/artifacts/doc
@@ -554,6 +596,7 @@ jobs:
554
596
CI_JOB_NAME : " ${{ matrix.name }}"
555
597
CARGO_REGISTRIES_CRATES_IO_PROTOCOL : sparse
556
598
HEAD_SHA : " ${{ github.event.pull_request.head.sha || github.sha }}"
599
+ DOCKER_TOKEN : " ${{ secrets.GITHUB_TOKEN }}"
557
600
SCCACHE_BUCKET : rust-lang-ci-sccache2
558
601
DEPLOY_BUCKET : rust-lang-ci2
559
602
TOOLSTATE_REPO : " https://github.com/rust-lang-nursery/rust-toolstate"
@@ -571,9 +614,20 @@ jobs:
571
614
env :
572
615
CODEGEN_BACKENDS : " llvm,cranelift"
573
616
os : ubuntu-20.04-16core-64gb
617
+ defaults :
618
+ run :
619
+ shell : " ${{ contains(matrix.os, 'windows') && 'msys2 {0}' || 'bash' }}"
574
620
timeout-minutes : 600
575
621
runs-on : " ${{ matrix.os }}"
576
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 "
577
631
- name : disable git crlf conversion
578
632
run : git config --global core.autocrlf false
579
633
- name : checkout the source code
@@ -651,7 +705,7 @@ jobs:
651
705
run : src/ci/scripts/verify-stable-version-number.sh
652
706
if : success() && !env.SKIP_JOB
653
707
- name : run the build
654
- run : src/ci/scripts/run-build-from-ci.sh
708
+ run : src/ci/scripts/run-build-from-ci.sh 2>&1
655
709
env :
656
710
AWS_ACCESS_KEY_ID : " ${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
657
711
AWS_SECRET_ACCESS_KEY : " ${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
@@ -661,7 +715,7 @@ jobs:
661
715
run : src/ci/scripts/create-doc-artifacts.sh
662
716
if : success() && !env.SKIP_JOB
663
717
- name : upload artifacts to github
664
- uses : actions/upload-artifact@v3
718
+ uses : actions/upload-artifact@v4
665
719
with :
666
720
name : " ${{ env.DOC_ARTIFACT_NAME }}"
667
721
path : obj/artifacts/doc
0 commit comments