Skip to content

Commit 8f63fc0

Browse files
committed
Auto merge of rust-lang#120543 - ehuss:macos-ninja, r=Mark-Simulacrum
CI: Use ninja on apple builders This switches the apple builders to use ninja when building LLVM. My hope is that this should resolve the timeouts we have been experiencing since December. My theory is that something in the image update from [Dec 20](actions/runner-images@dec20a5) is causing an issue with our build (or, perhaps more remotely, some [update to LLVM itself](https://github.com/rust-lang/rust/commits/master/src/llvm-project)). The symptoms are that during the LLVM build it just hangs just before the install step. The last thing it prints is `[100%] Built target llvm-reduce` and then just hangs. Normally the next part should be `Install the project...` where it starts installing LLVM. I'm able to reproduce this without too much difficulty. I've been testing ninja, and it seems to be working better (however, my test isn't quite equivalent, since I'm getting sccache misses, and I can't update the S3 bucket). Installing ninja takes about 7 to 10 seconds, so it shouldn't impact things. I can't determine if it will affect the overall build timing due to not being able to test with a warm S3 cache.
2 parents b11fbfb + 2aebe6c commit 8f63fc0

File tree

3 files changed

+10
-9
lines changed

3 files changed

+10
-9
lines changed

.github/workflows/ci.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ jobs:
319319
- name: dist-x86_64-apple
320320
env:
321321
SCRIPT: "./x.py dist bootstrap --include-default-paths --host=x86_64-apple-darwin --target=x86_64-apple-darwin"
322-
RUST_CONFIGURE_ARGS: "--enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false --set rust.lto=thin"
322+
RUST_CONFIGURE_ARGS: "--enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set rust.lto=thin"
323323
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
324324
MACOSX_DEPLOYMENT_TARGET: 10.12
325325
SELECT_XCODE: /Applications/Xcode_13.4.1.app
@@ -332,7 +332,7 @@ jobs:
332332
- name: dist-apple-various
333333
env:
334334
SCRIPT: "./x.py dist bootstrap --include-default-paths --host='' --target=aarch64-apple-ios,x86_64-apple-ios,aarch64-apple-ios-sim"
335-
RUST_CONFIGURE_ARGS: "--enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false"
335+
RUST_CONFIGURE_ARGS: "--enable-sanitizers --enable-profiler --set rust.jemalloc"
336336
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
337337
MACOSX_DEPLOYMENT_TARGET: 10.12
338338
SELECT_XCODE: /Applications/Xcode_13.4.1.app
@@ -343,7 +343,7 @@ jobs:
343343
- name: x86_64-apple-1
344344
env:
345345
SCRIPT: "./x.py --stage 2 test --skip tests/ui --skip tests/rustdoc --skip tests/run-make-fulldeps"
346-
RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false"
346+
RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc"
347347
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
348348
MACOSX_DEPLOYMENT_TARGET: 10.12
349349
MACOSX_STD_DEPLOYMENT_TARGET: 10.12
@@ -354,7 +354,7 @@ jobs:
354354
- name: x86_64-apple-2
355355
env:
356356
SCRIPT: "./x.py --stage 2 test tests/ui tests/rustdoc tests/run-make-fulldeps"
357-
RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false"
357+
RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc"
358358
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
359359
MACOSX_DEPLOYMENT_TARGET: 10.12
360360
MACOSX_STD_DEPLOYMENT_TARGET: 10.12
@@ -365,7 +365,7 @@ jobs:
365365
- name: dist-aarch64-apple
366366
env:
367367
SCRIPT: "./x.py dist bootstrap --include-default-paths --stage 2"
368-
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"
368+
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"
369369
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
370370
SELECT_XCODE: /Applications/Xcode_13.4.1.app
371371
USE_XCODE_CLANG: 1

src/ci/github-actions/ci.yml

+3-4
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ jobs:
511511
- name: dist-x86_64-apple
512512
env:
513513
SCRIPT: ./x.py dist bootstrap --include-default-paths --host=x86_64-apple-darwin --target=x86_64-apple-darwin
514-
RUST_CONFIGURE_ARGS: --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false --set rust.lto=thin
514+
RUST_CONFIGURE_ARGS: --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set rust.lto=thin
515515
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
516516
MACOSX_DEPLOYMENT_TARGET: 10.12
517517
SELECT_XCODE: /Applications/Xcode_13.4.1.app
@@ -525,7 +525,7 @@ jobs:
525525
- name: dist-apple-various
526526
env:
527527
SCRIPT: ./x.py dist bootstrap --include-default-paths --host='' --target=aarch64-apple-ios,x86_64-apple-ios,aarch64-apple-ios-sim
528-
RUST_CONFIGURE_ARGS: --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false
528+
RUST_CONFIGURE_ARGS: --enable-sanitizers --enable-profiler --set rust.jemalloc
529529
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
530530
MACOSX_DEPLOYMENT_TARGET: 10.12
531531
SELECT_XCODE: /Applications/Xcode_13.4.1.app
@@ -537,7 +537,7 @@ jobs:
537537
- name: x86_64-apple-1
538538
env: &env-x86_64-apple-tests
539539
SCRIPT: ./x.py --stage 2 test --skip tests/ui --skip tests/rustdoc --skip tests/run-make-fulldeps
540-
RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false
540+
RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc
541541
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
542542
MACOSX_DEPLOYMENT_TARGET: 10.12
543543
MACOSX_STD_DEPLOYMENT_TARGET: 10.12
@@ -565,7 +565,6 @@ jobs:
565565
--enable-profiler
566566
--disable-docs
567567
--set rust.jemalloc
568-
--set llvm.ninja=false
569568
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
570569
SELECT_XCODE: /Applications/Xcode_13.4.1.app
571570
USE_XCODE_CLANG: 1

src/ci/scripts/install-ninja.sh

+2
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,6 @@ if isWindows; then
1313
rm ninja.zip
1414
ciCommandSetEnv "RUST_CONFIGURE_ARGS" "${RUST_CONFIGURE_ARGS} --enable-ninja"
1515
ciCommandAddPath "$(pwd)/ninja"
16+
elif isMacOS; then
17+
brew install ninja
1618
fi

0 commit comments

Comments
 (0)