Skip to content

ci(build): use bash instead of zsh on tart macOS runners#18987

Open
alee1246 wants to merge 2 commits into
mainfrom
alee1246/CIEXE/tart-bash-shell
Open

ci(build): use bash instead of zsh on tart macOS runners#18987
alee1246 wants to merge 2 commits into
mainfrom
alee1246/CIEXE/tart-bash-shell

Conversation

@alee1246

@alee1246 alee1246 commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Description

Follow-up to #17501. It was requested in the past to use bash over zsh in the jobs using that tart runners.

Sets TART_EXECUTOR_SHELL="/bin/bash -l" on the tart macOS jobs so the gitlab-tart-executor runs bash instead of the VM's default zsh.

This removes the zsh-specific workarounds that were added when the tart runners were introduced:

  • setopt shwordsplit in build macos arm64's before_script
  • FF_SCRIPT_SECTIONS: "false" on build macos arm64 and os tests macos (disabled because GitLab's collapsible script-section wrapper was incompatible with zsh)

Also renames the runner tag from macos:sonoma-tart to macos:tart.

Testing

  • CI pipeline passes with build macos arm64 and os tests macos running under bash on macos:tart runners

Additional Notes

CI-only change, no user-facing impact — will add the changelog/no-changelog label.

🤖 Generated with Claude Code

Set TART_EXECUTOR_SHELL=/bin/bash so the tart-executor runs jobs with
bash rather than the VM's default zsh, per
https://github.com/cirruslabs/gitlab-tart-executor. This removes the
need for the zsh-specific workarounds added when tart runners were
introduced (setopt shwordsplit, disabling FF_SCRIPT_SECTIONS).

Also renames the runner tag from macos:sonoma-tart to macos:tart.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@alee1246 alee1246 added the changelog/no-changelog A changelog entry is not required for this PR. label Jul 10, 2026
@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Jul 10, 2026

Copy link
Copy Markdown

Circular import analysis

⚠️ Existing circular imports

There are 4974 circular imports that already exist on the base branch and have not been changed by this PR.

Show existing cycles (showing 5 of 4974 shortest)
ddtrace.internal.datastreams -> ddtrace.internal.datastreams.aiokafka -> ddtrace.internal.datastreams
ddtrace.internal.core -> ddtrace._trace.span -> ddtrace.internal.core
ddtrace.internal.datastreams -> ddtrace.internal.datastreams.botocore -> ddtrace.internal.datastreams
ddtrace.internal.datastreams -> ddtrace.internal.datastreams.google_cloud_pubsub -> ddtrace.internal.datastreams
ddtrace.internal.datastreams -> ddtrace.internal.datastreams.kafka -> ddtrace.internal.datastreams

To see all cycles, download the cycles-base.json and cycles-pr.json artifacts from this CI job and run:

uv run --script scripts/import-analysis/cycles.py compare cycles-base.json cycles-pr.json

@cit-pr-commenter-54b7da

Copy link
Copy Markdown

Codeowners resolved as

.gitlab/multi-os-tests.yml                                              @DataDog/python-guild @DataDog/apm-core-python
.gitlab/package.yml                                                     @DataDog/python-guild @DataDog/apm-core-python

@datadog-prod-us1-5

datadog-prod-us1-5 Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Tests

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

🔄 Datadog retried 8 tests - 8 passed on retry View in Datadog

🚧 6 tests that failed were ignored due to quarantine View in Datadog

🔄 Datadog auto-retried 1 job - 1 passed on retry View in Datadog

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

Plain /bin/bash runs non-interactive/non-login under the executor's SSH
exec channel and skips ~/.bash_profile, so Homebrew's PATH setup never
gets sourced and brew is missing. Passing -l makes bash a login shell.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@pr-commenter

pr-commenter Bot commented Jul 10, 2026

Copy link
Copy Markdown

Benchmarks

Benchmark execution time: 2026-07-10 18:54:07

Comparing candidate commit 4b8e682 in PR branch alee1246/CIEXE/tart-bash-shell with baseline commit 67093e6 in branch main.

Found 0 performance improvements and 5 performance regressions! Performance is the same for 614 metrics, 10 unstable metrics.

scenario:iastaspects-stringio_noaspect

  • 🟥 execution_time [+37.224µs; +42.854µs] or [+9.826%; +11.313%]

scenario:iastaspectsospath-ospathbasename_aspect

  • 🟥 execution_time [+90.159µs; +100.943µs] or [+20.993%; +23.504%]

scenario:iastaspectssplit-rsplit_aspect

  • 🟥 execution_time [+13.100µs; +20.426µs] or [+8.617%; +13.437%]

scenario:span-start

  • 🟥 execution_time [+1.201ms; +1.390ms] or [+7.764%; +8.988%]

scenario:telemetryaddmetric-1-count-metric-1-times

  • 🟥 execution_time [+161.542ns; +191.027ns] or [+7.412%; +8.765%]

@alee1246 alee1246 marked this pull request as ready for review July 10, 2026 19:03
@alee1246 alee1246 requested review from a team as code owners July 10, 2026 19:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/no-changelog A changelog entry is not required for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants