diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 4384ec7676975..9312f4293ff01 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -23,7 +23,11 @@ runners: <<: *base-job - &job-macos - os: macos-14 + os: macos-15 + <<: *base-job + + - &job-macos-x86_64 + os: macos-15-intel <<: *base-job - &job-windows @@ -90,6 +94,22 @@ envs: pr: PR_CI_JOB: 1 + env-macos-xcode: &env-macos-xcode + SELECT_XCODE: /Applications/Xcode_26.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 + + # 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 @@ -427,26 +447,45 @@ 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 - SELECT_XCODE: /Applications/Xcode_15.4.app - USE_XCODE_CLANG: 1 + <<: [*env-macos-x86_64-target, *env-macos-xcode] DIST_REQUIRE_ALL_TOOLS: 1 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 + --set llvm.download-ci-llvm=false + && + ./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 + # 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 + - 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 # 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 - SELECT_XCODE: /Applications/Xcode_15.2.app + # 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 @@ -463,31 +502,29 @@ 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 - SELECT_XCODE: /Applications/Xcode_15.4.app - USE_XCODE_CLANG: 1 + <<: [*env-macos-aarch64-target, *env-macos-xcode] DIST_REQUIRE_ALL_TOOLS: 1 CODEGEN_BACKENDS: llvm,cranelift <<: *job-macos - 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 --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-aarch64-target, *env-macos-xcode] <<: *job-macos ######################