Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 59 additions & 18 deletions src/ci/github-actions/jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ runners:
os: macos-15 # macOS 15 Arm64
<<: *base-job

- &job-macos-x86_64
os: macos-15-intel
<<: *base-job

- &job-windows
os: windows-2025
<<: *base-job
Expand Down Expand Up @@ -90,6 +94,18 @@ envs:
pr:
PR_CI_JOB: 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
Expand Down Expand Up @@ -456,14 +472,39 @@ 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
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer
<<: *env-macos-x86_64-target
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
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer
# 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
<<: *job-macos-x86_64

- name: dist-apple-various
env:
# Build and distribute the standard library for these targets.
Expand Down Expand Up @@ -494,11 +535,9 @@ auto:
--set target.aarch64-apple-tvos-sim.profiler=false
--set target.aarch64-apple-watchos.profiler=false
--set target.aarch64-apple-watchos-sim.profiler=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
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer
# FIXME(madsmtm): Setting the target might be redundant, as we're not building host tooling here (?)
<<: *env-macos-x86_64-target
<<: *job-macos

- name: dist-aarch64-apple
Expand All @@ -515,29 +554,31 @@ 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
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer
<<: *env-macos-aarch64-target
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
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer
# 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
<<: *job-macos

######################
Expand Down
Loading