From e3cc1bd382992bbd27d5252937a51e5d6db39bda Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Wed, 8 Jul 2026 17:58:16 +0000 Subject: [PATCH 1/3] ci: migrate macOS jobs to tart VM runner Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitlab-ci.yml | 21 ++++++++++++++------- benchmarks/.benchmarks-ci.yml | 3 ++- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 36485cb44..cd716776d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -45,7 +45,8 @@ stages: # TESTS test:lint: - tags: ['macos:sonoma', 'specific:true'] + tags: ['macos:tart'] + image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-reactnative-sonoma-latest" stage: test rules: - if: '$BUILD_BENCHMARK != "true"' @@ -55,7 +56,8 @@ test:lint: - yarn run lint test:js: - tags: ['macos:sonoma', 'specific:true'] + tags: ['macos:tart'] + image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-reactnative-sonoma-latest" stage: test rules: - if: '$BUILD_BENCHMARK != "true"' @@ -66,7 +68,8 @@ test:js: - NODE_OPTIONS='-r dd-trace/ci/init' DD_ENV=ci DD_SERVICE=dd-sdk-reactnative yarn test test:build: - tags: ['macos:sonoma', 'specific:true'] + tags: ['macos:tart'] + image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-reactnative-sonoma-latest" stage: test rules: - if: '$BUILD_BENCHMARK != "true"' @@ -76,7 +79,8 @@ test:build: - yarn prepare test:native-android: - tags: ['macos:sonoma', 'specific:true'] + tags: ['macos:tart'] + image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-reactnative-sonoma-latest" stage: test rules: - if: '$BUILD_BENCHMARK != "true"' @@ -94,7 +98,8 @@ test:native-android: - (cd packages/internal-testing-tools/android && ./gradlew build -PDdSdkReactNative_minSdkVersion=24 -PDatadogInternalTesting_minSdkVersion=24) test:native-ios: - tags: ['macos:sonoma', 'specific:true'] + tags: ['macos:tart'] + image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-reactnative-sonoma-latest" stage: test rules: - if: '$BUILD_BENCHMARK != "true"' @@ -105,7 +110,8 @@ test:native-ios: - set -o pipefail && xcodebuild -workspace example/ios/DdSdkReactNativeExample.xcworkspace -scheme DatadogSDKReactNative test -destination "platform=iOS Simulator,OS=17.4,name=iPhone 15 Pro Max" | xcbeautify test:native-ios-sr: - tags: ['macos:sonoma', 'specific:true'] + tags: ['macos:tart'] + image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-reactnative-sonoma-latest" stage: test rules: - if: '$BUILD_BENCHMARK != "true"' @@ -116,7 +122,8 @@ test:native-ios-sr: - set -o pipefail && xcodebuild -workspace example/ios/DdSdkReactNativeExample.xcworkspace -scheme DatadogSDKReactNativeSessionReplay test -destination "platform=iOS Simulator,OS=17.4,name=iPhone 15 Pro Max" | xcbeautify test:native-ios-newarch: - tags: ['macos:sonoma', 'specific:true'] + tags: ['macos:tart'] + image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-reactnative-sonoma-latest" stage: test rules: - if: '$BUILD_BENCHMARK != "true"' diff --git a/benchmarks/.benchmarks-ci.yml b/benchmarks/.benchmarks-ci.yml index 54d851ddf..ce712dcad 100644 --- a/benchmarks/.benchmarks-ci.yml +++ b/benchmarks/.benchmarks-ci.yml @@ -60,7 +60,8 @@ stages: build-and-upload:app: stage: build-and-upload - tags: ['macos:sonoma', 'specific:true'] + tags: ['macos:tart'] + image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-reactnative-sonoma-latest" script: - !reference [.snippets, install-node] - !reference [.snippets, install-android-sdk] From 5510a33e08396e98d79c8319fb7221b714958695 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Wed, 8 Jul 2026 18:56:34 +0000 Subject: [PATCH 2/3] ci: make Java discoverable for sdkmanager on tart VMs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- .gitlab-ci.yml | 5 +++++ benchmarks/.benchmarks-ci.yml | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cd716776d..b7780dd3f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,6 +25,11 @@ stages: install-jdk-17: - brew install openjdk@17 install-android-sdk: + # sdkmanager needs a Java runtime. openjdk@17 is keg-only and the VM only + # exports JAVA_HOME/PATH in ~/.zshrc, which the tart runner's non-interactive + # shell does not source, so make Java discoverable here. + - export JAVA_HOME="/opt/homebrew/opt/openjdk@17" + - export PATH="$JAVA_HOME/bin:$PATH" - curl -sSL -o commandlinetools.zip https://dl.google.com/android/repository/$ANDROID_SDK_VERSION.zip - rm -rf ~/android_sdk - rm -rf ~/cmdline-tools diff --git a/benchmarks/.benchmarks-ci.yml b/benchmarks/.benchmarks-ci.yml index ce712dcad..3c1c5eabd 100644 --- a/benchmarks/.benchmarks-ci.yml +++ b/benchmarks/.benchmarks-ci.yml @@ -36,6 +36,11 @@ stages: install-jdk-17: - brew install openjdk@17 install-android-sdk: + # sdkmanager needs a Java runtime. openjdk@17 is keg-only and the VM only + # exports JAVA_HOME/PATH in ~/.zshrc, which the tart runner's non-interactive + # shell does not source, so make Java discoverable here. + - export JAVA_HOME="/opt/homebrew/opt/openjdk@17" + - export PATH="$JAVA_HOME/bin:$PATH" - curl -sSL -o commandlinetools.zip https://dl.google.com/android/repository/$ANDROID_SDK_VERSION.zip - rm -rf ~/android_sdk - rm -rf ~/cmdline-tools From 635e1be649e74da0f81cdb0c1ff10ebec7d5a6a9 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Wed, 8 Jul 2026 18:57:02 +0000 Subject: [PATCH 3/3] ci: drop explanatory comments from install-android-sdk java export Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitlab-ci.yml | 3 --- benchmarks/.benchmarks-ci.yml | 3 --- 2 files changed, 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b7780dd3f..56c7c0b08 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,9 +25,6 @@ stages: install-jdk-17: - brew install openjdk@17 install-android-sdk: - # sdkmanager needs a Java runtime. openjdk@17 is keg-only and the VM only - # exports JAVA_HOME/PATH in ~/.zshrc, which the tart runner's non-interactive - # shell does not source, so make Java discoverable here. - export JAVA_HOME="/opt/homebrew/opt/openjdk@17" - export PATH="$JAVA_HOME/bin:$PATH" - curl -sSL -o commandlinetools.zip https://dl.google.com/android/repository/$ANDROID_SDK_VERSION.zip diff --git a/benchmarks/.benchmarks-ci.yml b/benchmarks/.benchmarks-ci.yml index 3c1c5eabd..d0b23a1d7 100644 --- a/benchmarks/.benchmarks-ci.yml +++ b/benchmarks/.benchmarks-ci.yml @@ -36,9 +36,6 @@ stages: install-jdk-17: - brew install openjdk@17 install-android-sdk: - # sdkmanager needs a Java runtime. openjdk@17 is keg-only and the VM only - # exports JAVA_HOME/PATH in ~/.zshrc, which the tart runner's non-interactive - # shell does not source, so make Java discoverable here. - export JAVA_HOME="/opt/homebrew/opt/openjdk@17" - export PATH="$JAVA_HOME/bin:$PATH" - curl -sSL -o commandlinetools.zip https://dl.google.com/android/repository/$ANDROID_SDK_VERSION.zip