Skip to content

ci: migrate macOS jobs to tart VM runner#1335

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

ci: migrate macOS jobs to tart VM runner#1335
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 from dedicated macos:sonoma / specific:true runners to virtualized macos:tart runners, using the repo-specific tart VM image (dd-sdk-reactnative-sonoma).

Migrated jobs: test:lint, test:js, test:build, test:native-android, test:native-ios, test:native-ios-sr, test:native-ios-newarch, and build-and-upload:app (benchmarks pipeline).

VM image: packer/macos-vm/team/dd-sdk-reactnative-sonoma.pkr.hcl486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-reactnative-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 all test:* job tags from macos:sonoma / specific:true to macos:tart and pin the repo-specific tart VM image
benchmarks/.benchmarks-ci.yml Switch build-and-upload:app tags to macos:tart and pin the repo-specific tart VM image

Test plan

  • Manually trigger the pipeline and verify the test:* jobs pass on the tart runner
  • Trigger a benchmark pipeline and verify build-and-upload:app passes on the tart runner

🤖 Generated with Claude Code

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

datadog-official Bot commented Jul 8, 2026

Copy link
Copy Markdown

Tests

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 635e1be | Docs | Datadog PR Page | Give us feedback!

alee1246 and others added 2 commits July 8, 2026 18:56
The test:native-android job (and benchmarks build-and-upload:app) failed
with "Unable to locate a Java Runtime" when running sdkmanager. Java 17
is installed in the tart VM image, but openjdk@17 is keg-only and the
image only exports JAVA_HOME/PATH in ~/.zshrc — which the tart runner's
non-interactive shell does not source. Export JAVA_HOME/PATH in the
install-android-sdk snippet so sdkmanager can find Java.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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