DO NOT MERGE tart experiment#18196
Draft
chagui wants to merge 11 commits into
Draft
Conversation
Split "build macos" into separate "build macos amd64" and "build macos arm64" jobs so the arm64 job can use the macos:sonoma-tart runner tag with a tart VM image while amd64 continues on the dedicated sonoma runners. - Extract .build_macos_base template with shared macOS build logic - Set MACOSX_DEPLOYMENT_TARGET=14.7 for consistent binary targeting - Add setopt shwordsplit for zsh compatibility on Tart VMs - Move "os tests macos" to tart runners testing arm64 wheels - Update "ddtrace package" needs to reference both new job names Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The runner-wrapped script section swallows the multi-line script's stdout/stderr, hiding the actual failure. Disable the feature flag on this job so output streams inline.
- Split `build macos arm64` into two parallel jobs via the same PYTHON_VERSIONS matrix structure used by amd64 (3.9-3.11 / 3.12-3.14). - Disable FF_SCRIPT_SECTIONS only on the arm64 job — the runner-managed script-section wrapper conflicts with zsh `setopt shwordsplit`. - Document MACOSX_DEPLOYMENT_TARGET: the tart VM image may run a different minor macOS version than the broader fleet.
Tart VMs are ephemeral, so local-disk sccache gets wiped between jobs and every build recompiles C/C++/Rust from scratch. Point sccache at the shared dd-sccache-storage-us1-ddbuild-io bucket (the one the Tart IAM role has access to) so the arm64 job gets cross-job cache reuse.
Split .build_macos_base's shared script across the two arch jobs so each can carry the logic it actually needs: - build macos amd64: keeps the straightforward build loop. - build macos arm64: adds `setopt shwordsplit` for zsh on the tart VM and pre-fetches IAM credentials from $AWS_EC2_METADATA_SERVICE_ENDPOINT, exporting them as static AWS_* env vars. sccache's reqsign credential loader hardcodes the IMDS IP (169.254.169.254) and ignores the endpoint env var, so it can't reach the tart iam-proxy on its own. The base template now only carries shared variables, not a script.
The runner's script-section wrapper breaks the multi-line script on the zsh-default tart VM (same pattern that affected build macos arm64). Disable the feature flag on this job too. Also drop the speculative setopt comment from build macos arm64 — the root cause isn't specific to setopt.
…IONS Hoist the shared macOS wheel build loop into .build_macos_base.script so both "build macos amd64" and "build macos arm64" inherit one canonical script. arm64's zsh-specific setopt + IMDS-creds setup moves into before_script so the shared build loop runs in the runner's native shell. Adds inline comments noting that tart VMs default to zsh and that FF_SCRIPT_SECTIONS is disabled because GitLab's collapsible log-section wrapper is incompatible with zsh. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Both "build macos amd64" and "build macos arm64" use the same PYTHON_VERSIONS matrix now, so move it into the shared base template and drop the stale "amd64 runners are slower" comment. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Codeowners resolved as |
BenchmarksBenchmark execution time: 2026-05-20 20:23:20 Comparing candidate commit 288769a in PR branch Found 0 performance improvements and 5 performance regressions! Performance is the same for 614 metrics, 10 unstable metrics. scenario:iastaspects-lstrip_noaspect
scenario:iastaspects-stringio_noaspect
scenario:iastaspectsospath-ospathbasename_aspect
scenario:span-start
scenario:telemetryaddmetric-1-count-metric-1-times
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚨 DO NOT MERGE 🚨