Skip to content

ci: migrate macOS jobs to tart VM runner#317

Draft
alee1246 wants to merge 3 commits into
developfrom
alee1246/CIEXE/migrate-to-tart-runners
Draft

ci: migrate macOS jobs to tart VM runner#317
alee1246 wants to merge 3 commits into
developfrom
alee1246/CIEXE/migrate-to-tart-runners

Conversation

@alee1246

@alee1246 alee1246 commented Jul 8, 2026

Copy link
Copy Markdown

Summary

Migrate the macOS GitLab CI jobs (build-macos, test-macos, package-macos) from dedicated macos:sonoma / specific:true runners to virtualized macos:tart runners, using the repo-specific tart VM image (dd-sdk-cpp-sonoma).

VM image: packer/macos-vm/team/dd-sdk-cpp-sonoma.pkr.hcl486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-cpp-sonoma-latest

Motivation

The virtualized tart runners have a number of benefits over dedicated macOS runners:

  • Better isolation between workloads — each job runs in a fresh VM
  • Decoupled host toolchain — the host is independent of each team's toolchain requirements
  • Concurrency — two jobs can run simultaneously on the same mac2.metal host
  • Higher utilization of mac2.metal hosts → cost reduction from needing fewer instances
  • Faster provisioning and teardown vs. the dedicated runner lifecycle

Changes

File Change
.gitlab-ci.yml Switch build-macos, test-macos, and package-macos tags from macos:sonoma / specific:true to macos:tart and pin the repo-specific tart VM image

Test plan

  • Manually trigger the pipeline and verify build-macos, test-macos, and package-macos pass on the tart runner

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@datadog-datadog-us1-prod

This comment has been minimized.

alee1246 and others added 2 commits July 8, 2026 18:52
The SystemInfo test asserted hw.model starts with "Mac", which holds on
bare-metal Macs but not in the Apple Virtualization VMs the tart runners
use (they report "VirtualMac<N>,<M>"). Since all macOS jobs now run in
VMs, assert the "VirtualMac" prefix. Also remove the now-redundant
"# Use tart VM ..." comments on the job tags.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
test-macos ran python via a pyenv shim, but pyenv is initialized only in
~/.zshrc, which the tart runner's non-interactive shell does not source,
so "python" was not found. Put the pyenv shims on PATH in the job.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant