From 913c03f837c0ff46587a0d8e4ecf99f041cb2165 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Wed, 8 Jul 2026 17:58:14 +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 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e173f9a6..401737df 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -200,7 +200,8 @@ build-linux: build-macos: stage: build dependencies: [] - tags: [macos:sonoma, specific:true] # Use AMI dd-sdk-cpp-sonoma, w/ Xcode 15.3.0, AppleClang 15 + tags: [macos:tart] # Use tart VM dd-sdk-cpp-sonoma, w/ Xcode 15.3.0, AppleClang 15 + image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-cpp-sonoma-latest" parallel: # Ensure that all targets build on macOS matrix: @@ -229,7 +230,8 @@ build-macos: test-macos: stage: build dependencies: [] - tags: [macos:sonoma, specific:true] # Use AMI dd-sdk-cpp-sonoma + tags: [macos:tart] # Use tart VM dd-sdk-cpp-sonoma + image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-cpp-sonoma-latest" script: - python -m venv .venv && .venv/bin/python -m pip install -e '.[integration-test]' - > @@ -321,7 +323,8 @@ package-linux: package-macos: stage: package dependencies: [] - tags: [macos:sonoma, specific:true] # Use AMI dd-sdk-cpp-sonoma, w/ Xcode 15.3.0, AppleClang 15 + tags: [macos:tart] # Use tart VM dd-sdk-cpp-sonoma, w/ Xcode 15.3.0, AppleClang 15 + image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-cpp-sonoma-latest" parallel: matrix: # macos-{arch}-clang-libc++-shared-release From 22a4eb3a4b5dd71a5f1535cee70c1a3d75bdeab6 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Wed, 8 Jul 2026 18:52:08 +0000 Subject: [PATCH 2/3] test: match VirtualMac model on tart VMs; drop tart-VM tag comments 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,"). 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) --- .gitlab-ci.yml | 6 +++--- tests/impl/core/platform/system_info_test.cpp | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 401737df..c4662821 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -200,7 +200,7 @@ build-linux: build-macos: stage: build dependencies: [] - tags: [macos:tart] # Use tart VM dd-sdk-cpp-sonoma, w/ Xcode 15.3.0, AppleClang 15 + tags: [macos:tart] image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-cpp-sonoma-latest" parallel: # Ensure that all targets build on macOS @@ -230,7 +230,7 @@ build-macos: test-macos: stage: build dependencies: [] - tags: [macos:tart] # Use tart VM dd-sdk-cpp-sonoma + tags: [macos:tart] image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-cpp-sonoma-latest" script: - python -m venv .venv && .venv/bin/python -m pip install -e '.[integration-test]' @@ -323,7 +323,7 @@ package-linux: package-macos: stage: package dependencies: [] - tags: [macos:tart] # Use tart VM dd-sdk-cpp-sonoma, w/ Xcode 15.3.0, AppleClang 15 + tags: [macos:tart] image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-cpp-sonoma-latest" parallel: matrix: diff --git a/tests/impl/core/platform/system_info_test.cpp b/tests/impl/core/platform/system_info_test.cpp index 74b41039..a7eb26c5 100644 --- a/tests/impl/core/platform/system_info_test.cpp +++ b/tests/impl/core/platform/system_info_test.cpp @@ -185,9 +185,10 @@ TEST_CASE("SystemInfo", "[unit][platform-system-info]") { // And the brand is "Apple" REQUIRE(device_info.brand == "Apple"); - // And the model starts with "Mac" (if not empty) + // And the model starts with "VirtualMac" (if not empty); CI runs in + // Apple Virtualization VMs, which report hw.model as "VirtualMac,". if (!device_info.model.empty()) { - REQUIRE(device_info.model.find("Mac") == 0); + REQUIRE(device_info.model.find("VirtualMac") == 0); } // And the name is an alphabetical prefix of the model (if both are present) From 92bceb1ce448d305e3b3155cd63e82a281fc1447 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Fri, 10 Jul 2026 20:13:07 +0000 Subject: [PATCH 3/3] ci: initialize pyenv so python is available on tart VM 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) --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c4662821..239f43bd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -233,6 +233,8 @@ test-macos: tags: [macos:tart] image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-sdk-cpp-sonoma-latest" script: + - export PYENV_ROOT="$HOME/.pyenv" + - export PATH="$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH" - python -m venv .venv && .venv/bin/python -m pip install -e '.[integration-test]' - > cmake