Support local build testing on ARM Mac (.NET, PHP, Python)#6495
Open
Support local build testing on ARM Mac (.NET, PHP, Python)#6495
Conversation
- PHP: Strip startup warnings from version string to fix semantic_version parsing - PHP: Conditionally enable profiling based on bundle contents - C++: Use TARGETARCH ARG for multi-arch base image selection - .NET: Conditionally set LD_PRELOAD via entrypoint to avoid x64-only .so crash on ARM Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Contributor
|
|
Dockerfile heredoc syntax requires BuildKit which may not be available in all CI environments. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
bm1549
added a commit
that referenced
this pull request
Mar 13, 2026
Use Docker's TARGETARCH build arg instead of hardcoding amd64 in the C++ parametric base image tag, so the image builds correctly on ARM (Apple Silicon) as well. Split out from #6495. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
5 tasks
The multi-arch TARGETARCH change for the C++ parametric Dockerfile has been moved to a separate PR (#6498) to keep this PR focused on .NET, PHP, and Python ARM Mac support. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
✨ Fix all issues with BitsAI or with Cursor
|
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.
Motivation
Running parametric tests with locally built tracer libraries on ARM Mac (Apple Silicon) fails due to several hardcoded x86_64 assumptions. These changes make the build infrastructure more robust for partial/local builds and multi-arch environments.
Changes
PHP version warning stripping (
utils/_context/component_version.py): StripWarning:lines from the PHP version string before parsing. When PHP loads a bundle missing optional.sofiles (e.g.datadog-profiling.so), it emits warnings to stdout that get captured inSYSTEM_TESTS_LIBRARY_VERSION, breakingsemantic_versionparsing.PHP conditional profiling (
utils/build/docker/php/common/install_ddtrace.sh): Check whether the bundle tar.gz actually containsdatadog-profilingbefore passing--enable-profilingtodatadog-setup.php. Local builds may not include profiling support, and the flag causes a hard error when the extension is missing..NET conditional LD_PRELOAD (
utils/build/docker/dotnet/parametric/Dockerfile): Replace the staticENV LD_PRELOAD=...x64.sowith an entrypoint wrapper that checks for the file's existence at runtime. TheApiWrapper.x64.sois x86_64-only and crashes the container immediately on ARM.Note: The C++ multi-arch base image change has been split out to #6498.
Workflow
🚀 Once your PR is reviewed and the CI green, you can merge it!
🛟 #apm-shared-testing 🛟
Reviewer checklist
tests/ormanifests/is modified ? I have the approval from R&P teambuild-XXX-imagelabel is present🤖 Generated with Claude Code