From ace2528e3729df938e7d64434ad0e283cb5ef861 Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Tue, 30 Sep 2025 09:52:14 -0400 Subject: [PATCH 01/10] Update XCode version for `dist-apple-various` to match other runners --- src/ci/github-actions/jobs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 4384ec7676975..9c876e2eb1d69 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -446,7 +446,8 @@ auto: # FIXME(madsmtm): This might be redundant, as we're not building host tooling here (?) MACOSX_DEPLOYMENT_TARGET: 10.12 MACOSX_STD_DEPLOYMENT_TARGET: 10.12 - SELECT_XCODE: /Applications/Xcode_15.2.app + SELECT_XCODE: /Applications/Xcode_15.4.app + USE_XCODE_CLANG: 1 <<: *job-macos - name: dist-aarch64-apple From 40219a8f2ffb890741bc324b6b6d8aefa82efc49 Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Tue, 30 Sep 2025 09:34:34 -0400 Subject: [PATCH 02/10] Update macOS runners to macOS 15 --- src/ci/github-actions/jobs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 9c876e2eb1d69..3427743a18362 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -23,7 +23,7 @@ runners: <<: *base-job - &job-macos - os: macos-14 + os: macos-15 <<: *base-job - &job-windows From f66a8e0ecb2cf03cfac78f4e1fb5aafb08be32b4 Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Tue, 30 Sep 2025 09:42:02 -0400 Subject: [PATCH 03/10] Extract common macOS XCode environment --- src/ci/github-actions/jobs.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 3427743a18362..130b2f9dd5071 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -90,6 +90,10 @@ envs: pr: PR_CI_JOB: 1 + env-macos-xcode: &env-macos-xcode + SELECT_XCODE: /Applications/Xcode_15.4.app + USE_XCODE_CLANG: 1 + jobs: dist-x86_64-linux: &job-dist-x86_64-linux name: dist-x86_64-linux @@ -430,8 +434,7 @@ auto: # Ensure that host tooling is built to support our minimum support macOS version. MACOSX_DEPLOYMENT_TARGET: 10.12 MACOSX_STD_DEPLOYMENT_TARGET: 10.12 - SELECT_XCODE: /Applications/Xcode_15.4.app - USE_XCODE_CLANG: 1 + <<: *env-macos-xcode DIST_REQUIRE_ALL_TOOLS: 1 CODEGEN_BACKENDS: llvm,cranelift <<: *job-macos @@ -446,8 +449,7 @@ auto: # FIXME(madsmtm): This might be redundant, as we're not building host tooling here (?) MACOSX_DEPLOYMENT_TARGET: 10.12 MACOSX_STD_DEPLOYMENT_TARGET: 10.12 - SELECT_XCODE: /Applications/Xcode_15.4.app - USE_XCODE_CLANG: 1 + <<: *env-macos-xcode <<: *job-macos - name: dist-aarch64-apple @@ -468,8 +470,7 @@ auto: # supports the hardware. MACOSX_DEPLOYMENT_TARGET: 11.0 MACOSX_STD_DEPLOYMENT_TARGET: 11.0 - SELECT_XCODE: /Applications/Xcode_15.4.app - USE_XCODE_CLANG: 1 + <<: *env-macos-xcode DIST_REQUIRE_ALL_TOOLS: 1 CODEGEN_BACKENDS: llvm,cranelift <<: *job-macos @@ -483,12 +484,11 @@ auto: --enable-sanitizers --enable-profiler --set rust.jemalloc - SELECT_XCODE: /Applications/Xcode_15.4.app - USE_XCODE_CLANG: 1 # Aarch64 tooling only needs to support macOS 11.0 and up as nothing else # supports the hardware, so only need to test it there. MACOSX_DEPLOYMENT_TARGET: 11.0 MACOSX_STD_DEPLOYMENT_TARGET: 11.0 + <<: *env-macos-xcode <<: *job-macos ###################### From 8956907ccf4072796be2a8ed930204d0923a4233 Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Tue, 30 Sep 2025 09:45:49 -0400 Subject: [PATCH 04/10] Extract common macOS x86_64 target environment --- src/ci/github-actions/jobs.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 130b2f9dd5071..9f92c70f0c265 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -94,6 +94,12 @@ envs: SELECT_XCODE: /Applications/Xcode_15.4.app USE_XCODE_CLANG: 1 + # Ensure that host tooling is tested on our minimum supported macOS + # version. + env-macos-x86_64-target: &env-macos-x86_64-target + MACOSX_DEPLOYMENT_TARGET: 10.12 + MACOSX_STD_DEPLOYMENT_TARGET: 10.12 + jobs: dist-x86_64-linux: &job-dist-x86_64-linux name: dist-x86_64-linux @@ -431,10 +437,7 @@ auto: --set rust.jemalloc --set rust.lto=thin --set rust.codegen-units=1 - # Ensure that host tooling is built to support our minimum support macOS version. - MACOSX_DEPLOYMENT_TARGET: 10.12 - MACOSX_STD_DEPLOYMENT_TARGET: 10.12 - <<: *env-macos-xcode + <<: [*env-macos-x86_64-target, *env-macos-xcode] DIST_REQUIRE_ALL_TOOLS: 1 CODEGEN_BACKENDS: llvm,cranelift <<: *job-macos @@ -445,11 +448,8 @@ auto: # Mac Catalyst cannot currently compile the sanitizer: # https://github.com/rust-lang/rust/issues/129069 RUST_CONFIGURE_ARGS: --enable-sanitizers --enable-profiler --set rust.jemalloc --set target.aarch64-apple-ios-macabi.sanitizers=false --set target.x86_64-apple-ios-macabi.sanitizers=false - # Ensure that host tooling is built to support our minimum support macOS version. - # FIXME(madsmtm): This might be redundant, as we're not building host tooling here (?) - MACOSX_DEPLOYMENT_TARGET: 10.12 - MACOSX_STD_DEPLOYMENT_TARGET: 10.12 - <<: *env-macos-xcode + # FIXME(madsmtm): Setting the target might be redundant, as we're not building host tooling here (?) + <<: [*env-macos-x86_64-target, *env-macos-xcode] <<: *job-macos - name: dist-aarch64-apple From 5a9eb7568b97905fbbbf2b464e70d8836b5a94f3 Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Tue, 30 Sep 2025 09:48:43 -0400 Subject: [PATCH 05/10] Extract common macOS aarch64 target environment --- src/ci/github-actions/jobs.yml | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 9f92c70f0c265..de716aaef6bd7 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -100,6 +100,12 @@ envs: MACOSX_DEPLOYMENT_TARGET: 10.12 MACOSX_STD_DEPLOYMENT_TARGET: 10.12 + # Aarch64 tooling only needs to support macOS 11.0 as this is the + # first OS version to support the hardware. + env-macos-aarch64-target: &env-macos-aarch64-target + MACOSX_DEPLOYMENT_TARGET: 11.0 + MACOSX_STD_DEPLOYMENT_TARGET: 11.0 + jobs: dist-x86_64-linux: &job-dist-x86_64-linux name: dist-x86_64-linux @@ -466,11 +472,7 @@ auto: --set rust.jemalloc --set rust.lto=thin --set rust.codegen-units=1 - # Aarch64 tooling only needs to support macOS 11.0 and up as nothing else - # supports the hardware. - MACOSX_DEPLOYMENT_TARGET: 11.0 - MACOSX_STD_DEPLOYMENT_TARGET: 11.0 - <<: *env-macos-xcode + <<: [*env-macos-aarch64-target, *env-macos-xcode] DIST_REQUIRE_ALL_TOOLS: 1 CODEGEN_BACKENDS: llvm,cranelift <<: *job-macos @@ -484,11 +486,7 @@ auto: --enable-sanitizers --enable-profiler --set rust.jemalloc - # Aarch64 tooling only needs to support macOS 11.0 and up as nothing else - # supports the hardware, so only need to test it there. - MACOSX_DEPLOYMENT_TARGET: 11.0 - MACOSX_STD_DEPLOYMENT_TARGET: 11.0 - <<: *env-macos-xcode + <<: [*env-macos-aarch64-target, *env-macos-xcode] <<: *job-macos ###################### From dd242daa595701c77815b7abb8648f86fbac9011 Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Tue, 30 Sep 2025 12:05:29 -0400 Subject: [PATCH 06/10] Reformat macOS aarch64 test invocation --- src/ci/github-actions/jobs.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index de716aaef6bd7..fe9642d010b40 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -479,9 +479,17 @@ auto: - name: aarch64-apple env: - SCRIPT: > - ./x.py --stage 2 test --host=aarch64-apple-darwin --target=aarch64-apple-darwin && - ./x.py --stage 2 test --host=aarch64-apple-darwin --target=aarch64-apple-darwin src/tools/cargo + SCRIPT: >- + ./x.py test + --stage 2 + --host=aarch64-apple-darwin + --target=aarch64-apple-darwin + && + ./x.py test + --stage 2 + --host=aarch64-apple-darwin + --target=aarch64-apple-darwin + src/tools/cargo RUST_CONFIGURE_ARGS: >- --enable-sanitizers --enable-profiler From 2bde2453ea83b6c48e84548506f2d2ac1d845a1f Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Tue, 30 Sep 2025 12:21:17 -0400 Subject: [PATCH 07/10] Resume testing macOS x86_64 --- src/ci/github-actions/jobs.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index fe9642d010b40..f0b8eaf4fc5ab 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -26,6 +26,10 @@ runners: os: macos-15 <<: *base-job + - &job-macos-x86_64 + os: macos-15-intel + <<: *base-job + - &job-windows os: windows-2025 <<: *base-job @@ -448,6 +452,26 @@ auto: CODEGEN_BACKENDS: llvm,cranelift <<: *job-macos + - name: x86_64-apple + env: + SCRIPT: >- + ./x.py test + --stage 2 + --host=x86_64-apple-darwin + --target=x86_64-apple-darwin + && + ./x.py test + --stage 2 + --host=x86_64-apple-darwin + --target=x86_64-apple-darwin + src/tools/cargo + RUST_CONFIGURE_ARGS: >- + --enable-profiler + --enable-sanitizers + --set rust.jemalloc + <<: [*env-macos-x86_64-target, *env-macos-xcode] + <<: *job-macos-x86_64 + - name: dist-apple-various env: SCRIPT: ./x.py dist bootstrap --include-default-paths --host='' --target=aarch64-apple-ios,x86_64-apple-ios,aarch64-apple-ios-sim,aarch64-apple-ios-macabi,x86_64-apple-ios-macabi From aa71ea2b72878fecac9fbc0082e21aff9c3bd60c Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Tue, 30 Sep 2025 12:59:49 -0400 Subject: [PATCH 08/10] xcode 26 -- coupled with macos15 update! --- src/ci/github-actions/jobs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index f0b8eaf4fc5ab..061564bc4a088 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -95,7 +95,7 @@ envs: PR_CI_JOB: 1 env-macos-xcode: &env-macos-xcode - SELECT_XCODE: /Applications/Xcode_15.4.app + SELECT_XCODE: /Applications/Xcode_26.app USE_XCODE_CLANG: 1 # Ensure that host tooling is tested on our minimum supported macOS From 2e07bf5fe0a4d375753cd248e53f9b4e8963b123 Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Tue, 30 Sep 2025 16:28:22 -0400 Subject: [PATCH 09/10] no llvm to download... yet --- src/ci/github-actions/jobs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 061564bc4a088..7930757045cda 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -459,6 +459,7 @@ auto: --stage 2 --host=x86_64-apple-darwin --target=x86_64-apple-darwin + --set llvm.download-ci-llvm=false && ./x.py test --stage 2 From 6e9307f1b958b94f7b947db2dc6a7bf84220420f Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Fri, 3 Oct 2025 09:32:24 -0400 Subject: [PATCH 10/10] no check --- src/ci/github-actions/jobs.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 7930757045cda..9312f4293ff01 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -470,6 +470,11 @@ auto: --enable-profiler --enable-sanitizers --set rust.jemalloc + # The x86_64 macOS builders are relatively slow, so we disable + # extra assertions/checks to get back a bit of speed. + NO_LLVM_ASSERTIONS: 1 + NO_DEBUG_ASSERTIONS: 1 + NO_OVERFLOW_CHECKS: 1 <<: [*env-macos-x86_64-target, *env-macos-xcode] <<: *job-macos-x86_64