Right-size macOS PR runners (#64923)

## Summary

- add the 6 vCPU / 14 GB Namespace mac-small runner to workflow
generation
- use it for all macOS clippy jobs, visual-test binary compilation, and
run_tests remote-server checks
- keep macOS tests, bundles, and other release jobs on mac-large

The matching mac-small Namespace profile is already configured with the
same Sequoia image and cache settings as mac-large.

## Testing

- cargo test -p xtask
- cargo xtask workflows
- actionlint -color
- git diff --check

Release Notes:

- N/A

---------

Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
Piotr Osiewicz 2026-09-29 12:08:05 +00:00 • committed by GitHub
parent 14dd03e896
commit 9307bb7dc5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 10 additions and 8 deletions

View file

@ -32,6 +32,7 @@ self-hosted-runner:
- namespace-profile-8x32-ubuntu-2004-arm-m4
# Namespace mac
- namespace-profile-mac-large
- namespace-profile-mac-small
# Self Hosted Runners
- self-mini-macos
- self-32vcpu-windows-2022

View file

@ -164,7 +164,7 @@ jobs:
timeout-minutes: 60
clippy_mac:
if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
runs-on: namespace-profile-mac-large
runs-on: namespace-profile-mac-small
steps:
- name: steps::checkout_repo
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd

View file

@ -265,7 +265,7 @@ jobs:
- orchestrate
- check_style
if: needs.orchestrate.outputs.run_tests == 'true' && github.event_name != 'merge_group'
runs-on: namespace-profile-mac-large
runs-on: namespace-profile-mac-small
steps:
- name: steps::checkout_repo
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
@ -297,7 +297,7 @@ jobs:
- orchestrate
- check_style
if: needs.orchestrate.outputs.run_tests == 'true' && github.event_name != 'merge_group'
runs-on: namespace-profile-mac-large
runs-on: namespace-profile-mac-small
steps:
- name: steps::checkout_repo
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
@ -628,7 +628,7 @@ jobs:
- orchestrate
- check_style
if: needs.orchestrate.outputs.run_tests == 'true' && github.event_name != 'merge_group'
runs-on: namespace-profile-mac-large
runs-on: namespace-profile-mac-small
steps:
- name: steps::checkout_repo
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
@ -906,7 +906,7 @@ jobs:
- orchestrate
- check_style
if: needs.orchestrate.outputs.run_tests == 'true' && github.event_name != 'merge_group'
runs-on: namespace-profile-mac-large
runs-on: namespace-profile-mac-small
steps:
- name: steps::checkout_repo
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd

View file

@ -545,7 +545,7 @@ fn check_remote_server(platform: Platform, arch: Arch) -> NamedJob {
let runner = match (platform, arch) {
(Platform::Linux, Arch::X86_64) => runners::LINUX_LARGE,
(Platform::Linux, Arch::AARCH64) => runners::LINUX_ARM_BUNDLER,
(Platform::Mac, _) => runners::MAC_DEFAULT,
(Platform::Mac, _) => runners::MAC_SMALL,
(Platform::Windows, _) => runners::WINDOWS_DEFAULT,
};
let command = format!(
@ -628,7 +628,7 @@ pub(crate) fn clippy(platform: Platform, arch: Option<Arch>, harden: bool) -> Na
let runner = match platform {
Platform::Windows => runners::WINDOWS_DEFAULT,
Platform::Linux => runners::LINUX_DEFAULT,
Platform::Mac => runners::MAC_DEFAULT,
Platform::Mac => runners::MAC_SMALL,
};
let mut job = release_job(&[])
.runs_on(runner)
@ -741,7 +741,7 @@ fn build_visual_tests_binary() -> NamedJob {
named::job(
Job::default()
.runs_on(runners::MAC_DEFAULT)
.runs_on(runners::MAC_SMALL)
.add_step(steps::checkout_repo())
.add_step(steps::setup_cargo_config(Platform::Mac))
.add_step(steps::cache_rust_dependencies_namespace())

View file

@ -14,6 +14,7 @@ pub const LINUX_ARM_BUNDLER: Runner = Runner("namespace-profile-8x32-ubuntu-2004
pub const LINUX_LARGE_RAM: Runner = Runner("namespace-profile-8x32-ubuntu-2404");
pub const MAC_DEFAULT: Runner = Runner("namespace-profile-mac-large");
pub const MAC_SMALL: Runner = Runner("namespace-profile-mac-small");
pub const WINDOWS_DEFAULT: Runner = Runner("self-32vcpu-windows-2022");
pub struct Runner(&'static str);