From 9938ed81b8a4e0d554deb754ee880802d7542e9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Desgroppes?= Date: Thu, 5 Jun 2025 10:26:14 +0200 Subject: [PATCH 1/6] Add macOS build for AArch64/ARM64 This is the payload for adding macOS "native" build support for the AArch64/ARM64 architecture to the Agent, that is by removing the need for Rosetta 2 translation at runtime. Groundwork enabling the present payload: - DataDog/integrations-core#20455 - DataDog/integrations-core#20577 - DataDog/integrations-core#20699 - DataDog/omnibus-ruby#239 - DataDog/omnibus-ruby#240 - DataDog/datadog-agent#38498 - DataDog/datadog-agent#39082 - DataDog/agent-release-management#364 Some earlier scouting: - DataDog/integrations-core#19193 (credits to @Pythyu) - DataDog/omnibus-software#553 (credits to @Pythyu) - DataDog/datadog-agent#31787 (credits to @Pythyu) - DataDog/ci-platform-machine-images#321 Some follow-ups: - DataDog/datadog-agent-dev#137 - DataDog/datadog-agent-buildimages#888 - DataDog/datadog-agent#38446 - DataDog/integrations-core#20812 - DataDog/integrations-core#20815 - DataDog/integrations-core#20645 - Datadog/ci-platform-machine-images#343 - DataDog/agent-release-management#365 --- .gitlab/.ci-linters.yml | 2 ++ .gitlab/deploy_packages/nix.yml | 20 +++++++++++++++---- .../functional_test/static_quality_gate.yml | 2 ++ .gitlab/lint/macos.yml | 9 +++------ .gitlab/package_build/dmg.yml | 11 ++++++++-- .gitlab/source_test/macos.yml | 17 +++++----------- .../datadog-agent-integrations-py3.rb | 2 +- omnibus/config/software/datadog-agent.rb | 3 ++- omnibus/config/software/openssl3.rb | 2 +- omnibus/config/software/python3.rb | 2 +- pkg/process/checks/host_info_test.go | 2 +- pkg/serverless/metrics/metric_test.go | 4 ++-- pkg/serverless/proxy/proxy_test.go | 2 +- ...os-build-for-aarch64-767531f392e77140.yaml | 11 ++++++++++ tasks/omnibus.py | 2 +- 15 files changed, 58 insertions(+), 33 deletions(-) create mode 100644 releasenotes/notes/add-macos-build-for-aarch64-767531f392e77140.yaml diff --git a/.gitlab/.ci-linters.yml b/.gitlab/.ci-linters.yml index 6bf140fbe61831..5d36e3d298fa74 100644 --- a/.gitlab/.ci-linters.yml +++ b/.gitlab/.ci-linters.yml @@ -30,6 +30,7 @@ needs-rules: - lint_linux-arm64 - lint_linux-x64 - lint_macos_gitlab_amd64 + - lint_macos_gitlab_arm64 - new-e2e-eks-cleanup-on-failure - protobuf_test - publish_winget_7_x64 @@ -39,6 +40,7 @@ needs-rules: - tests_ebpf_arm64 - tests_ebpf_x64 - tests_macos_gitlab_amd64 + - tests_macos_gitlab_arm64 - tests_windows_secagent_x64 - tests_windows_sysprobe_x64 - trigger_auto_staging_release diff --git a/.gitlab/deploy_packages/nix.yml b/.gitlab/deploy_packages/nix.yml index 1fd7d41af5dc9d..fff31bc24a5886 100644 --- a/.gitlab/deploy_packages/nix.yml +++ b/.gitlab/deploy_packages/nix.yml @@ -146,17 +146,29 @@ deploy_packages_dogstatsd_suse_rpm-x64-7: variables: PACKAGE_ARCH: x86_64 -deploy_packages_dmg-x64-a7: +.deploy_packages_dmg: rules: !reference [.on_deploy] stage: deploy_packages image: registry.ddbuild.io/ci/datadog-agent-buildimages/gitlab_agent_deploy$CI_IMAGE_GITLAB_AGENT_DEPLOY_SUFFIX:$CI_IMAGE_GITLAB_AGENT_DEPLOY - tags: ["arch:amd64"] - needs: ["agent_dmg-x64-a7"] before_script: - ls $OMNIBUS_PACKAGE_DIR script: - - $S3_CP_CMD --recursive --exclude "*" --include "datadog-agent-7*.dmg" $OMNIBUS_PACKAGE_DIR $S3_RELEASE_ARTIFACTS_URI/dmg/x86_64/ + - $S3_CP_CMD --recursive --exclude "*" --include "datadog-agent-7*.dmg" $OMNIBUS_PACKAGE_DIR $S3_RELEASE_ARTIFACTS_URI/dmg/$PACKAGE_ARCH/ + +deploy_packages_dmg-x64-a7: + extends: .deploy_packages_dmg + tags: ["arch:amd64"] + needs: ["agent_dmg-x64-a7"] + variables: + PACKAGE_ARCH: x86_64 + +deploy_packages_dmg-arm64-a7: + extends: .deploy_packages_dmg + tags: ["arch:arm64"] + needs: ["agent_dmg-arm64-a7"] + variables: + PACKAGE_ARCH: arm64 # deploy dogstatsd x64, non-static binary to staging bucket deploy_staging_dsd: diff --git a/.gitlab/functional_test/static_quality_gate.yml b/.gitlab/functional_test/static_quality_gate.yml index b2d80d8b7a0745..a4533c5f58ad5f 100644 --- a/.gitlab/functional_test/static_quality_gate.yml +++ b/.gitlab/functional_test/static_quality_gate.yml @@ -51,6 +51,8 @@ static_quality_gates: - windows_msi_and_bosh_zip_x64-a7 # - job: agent_dmg-x64-a7 # optional: True + # - job: agent_dmg-arm64-a7 + # optional: True # script: - !reference [.login_to_docker_readonly_crane] diff --git a/.gitlab/lint/macos.yml b/.gitlab/lint/macos.yml index 4f5100159e40f4..4135356d80934c 100644 --- a/.gitlab/lint/macos.yml +++ b/.gitlab/lint/macos.yml @@ -6,6 +6,9 @@ include: stage: lint extends: .macos_gitlab needs: ["go_deps", "go_tools_deps"] + rules: + - !reference [.except_mergequeue] + - when: on_success script: - !reference [.retrieve_linux_go_deps] - !reference [.retrieve_linux_go_tools_deps] @@ -14,13 +17,7 @@ include: lint_macos_gitlab_amd64: extends: .lint_macos_gitlab tags: ["macos:ventura-amd64", "specific:true"] - rules: - - !reference [.except_mergequeue] - - when: on_success lint_macos_gitlab_arm64: extends: .lint_macos_gitlab - rules: - - !reference [.on_main] - - !reference [.manual] tags: ["macos:ventura-arm64", "specific:true"] diff --git a/.gitlab/package_build/dmg.yml b/.gitlab/package_build/dmg.yml index d28d3233b466ea..63b742ea08d712 100644 --- a/.gitlab/package_build/dmg.yml +++ b/.gitlab/package_build/dmg.yml @@ -23,9 +23,8 @@ export GOMODCACHE=~/gomodcache mkdir -p $GOMODCACHE -agent_dmg-x64-a7: +.agent_dmg: stage: package_build - tags: ["macos:ventura-amd64", "specific:true"] needs: ["go_mod_tidy_check"] rules: - !reference [.on_macos_gui_change] @@ -71,3 +70,11 @@ agent_dmg-x64-a7: - !reference [.macos_setup_cache] - bash .gitlab/package_build/build_agent_dmg.sh - !reference [.upload_sbom_artifacts] + +agent_dmg-x64-a7: + extends: .agent_dmg + tags: ["macos:ventura-amd64", "specific:true"] + +agent_dmg-arm64-a7: + extends: .agent_dmg + tags: ["macos:ventura-arm64", "specific:true"] diff --git a/.gitlab/source_test/macos.yml b/.gitlab/source_test/macos.yml index 768132296de6dd..1f8655597bc8b8 100644 --- a/.gitlab/source_test/macos.yml +++ b/.gitlab/source_test/macos.yml @@ -21,6 +21,11 @@ include: - if [[ "$FAST_TESTS" == "true" ]]; then FAST_TESTS_FLAG="--only-impacted-packages"; fi - dda inv -- -e test --rerun-fails=2 --race --profile --cpus 12 --result-json $TEST_OUTPUT_FILE --junit-tar "junit-${CI_JOB_NAME}.tgz" $FAST_TESTS_FLAG --test-washer --coverage - dda inv -- -e invoke-unit-tests + after_script: + - !reference [.vault_login] + - !reference [.select_python_env_commands] + - !reference [.upload_junit_source] + - !reference [.upload_coverage] artifacts: expire_in: 2 weeks when: always @@ -35,19 +40,7 @@ include: tests_macos_gitlab_amd64: extends: .tests_macos_gitlab tags: ["macos:ventura-amd64", "specific:true"] - after_script: - - !reference [.vault_login] - - !reference [.select_python_env_commands] - - !reference [.upload_junit_source] - - !reference [.upload_coverage] tests_macos_gitlab_arm64: extends: .tests_macos_gitlab - rules: - !reference [.manual] tags: ["macos:ventura-arm64", "specific:true"] - after_script: - - !reference [.vault_login] - - !reference [.select_python_env_commands] - - !reference [.upload_junit_source] - - !reference [.upload_coverage] diff --git a/omnibus/config/software/datadog-agent-integrations-py3.rb b/omnibus/config/software/datadog-agent-integrations-py3.rb index 1c25ca4cf22738..583ffd34b3322d 100644 --- a/omnibus/config/software/datadog-agent-integrations-py3.rb +++ b/omnibus/config/software/datadog-agent-integrations-py3.rb @@ -86,7 +86,7 @@ when linux_target? arm_target? ? "linux-aarch64" : "linux-x86_64" when osx_target? - "macos-x86_64" + arm_target? ? "macos-aarch64" : "macos-x86_64" when windows_target? "windows-x86_64" end + "_#{python_version}.txt" diff --git a/omnibus/config/software/datadog-agent.rb b/omnibus/config/software/datadog-agent.rb index 7bf2c89eaced4d..b1e2a8d23f6fcb 100644 --- a/omnibus/config/software/datadog-agent.rb +++ b/omnibus/config/software/datadog-agent.rb @@ -256,7 +256,8 @@ systray_build_dir = "#{project_dir}/comp/core/gui/guiimpl/systray" # Target OSX 10.10 (it brings significant changes to Cocoa and Foundation APIs, and older versions of OSX are EOL'ed) # Add @executable_path/../Frameworks to rpath to find the swift libs in the Frameworks folder. - command 'swiftc -O -swift-version "5" -target "x86_64-apple-macosx10.10" -Xlinker \'-rpath\' -Xlinker \'@executable_path/../Frameworks\' Sources/*.swift -o gui', cwd: systray_build_dir + target = arm_target? ? 'arm64-apple-macosx11.0' : 'x86_64-apple-macosx10.10' + command "swiftc -O -swift-version \"5\" -target \"#{target}\" -Xlinker '-rpath' -Xlinker '@executable_path/../Frameworks' Sources/*.swift -o gui", cwd: systray_build_dir copy "#{systray_build_dir}/gui", "#{app_temp_dir}/MacOS/" copy "#{systray_build_dir}/agent.png", "#{app_temp_dir}/MacOS/" end diff --git a/omnibus/config/software/openssl3.rb b/omnibus/config/software/openssl3.rb index cdadb6f8f318ea..53fecebb806f2e 100644 --- a/omnibus/config/software/openssl3.rb +++ b/omnibus/config/software/openssl3.rb @@ -60,7 +60,7 @@ configure_args = [] if mac_os_x? configure_cmd = "./Configure" - configure_args << "darwin64-x86_64-cc" + configure_args << "darwin64-#{arm_target? ? "arm64" : "x86_64"}-cc" elsif windows? configure_cmd = "perl.exe ./Configure" configure_args << (windows_arch_i386? ? "mingw" : "mingw64") diff --git a/omnibus/config/software/python3.rb b/omnibus/config/software/python3.rb index 4d869290527ee1..010b8fbd23c519 100644 --- a/omnibus/config/software/python3.rb +++ b/omnibus/config/software/python3.rb @@ -32,7 +32,7 @@ if mac_os_x? python_configure_options.push("--enable-ipv6", - "--with-universal-archs=intel", + "--with-universal-archs=#{arm_target? ? "universal2" : "intel"}", "--enable-shared") elsif linux_target? python_configure_options.push("--enable-shared", diff --git a/pkg/process/checks/host_info_test.go b/pkg/process/checks/host_info_test.go index eb733d3431f5a2..b858fd58263ccf 100644 --- a/pkg/process/checks/host_info_test.go +++ b/pkg/process/checks/host_info_test.go @@ -100,7 +100,7 @@ func TestGetHostnameFromCmd(t *testing.T) { } func TestResolveHostname(t *testing.T) { - if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && runtime.GOARCH == "amd64" { + if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && (runtime.GOARCH == "amd64" || runtime.GOARCH == "arm64") { t.Skip("TestResolveHostname is known to fail on the macOS Gitlab runners because of the already running Agent") } osHostname, err := os.Hostname() diff --git a/pkg/serverless/metrics/metric_test.go b/pkg/serverless/metrics/metric_test.go index 460d0930da2656..e61a6c91bb6ab9 100644 --- a/pkg/serverless/metrics/metric_test.go +++ b/pkg/serverless/metrics/metric_test.go @@ -39,7 +39,7 @@ func TestMain(m *testing.M) { } func TestStartDoesNotBlock(t *testing.T) { - if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && runtime.GOARCH == "amd64" { + if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && (runtime.GOARCH == "amd64" || runtime.GOARCH == "arm64") { t.Skip("TestStartDoesNotBlock is known to fail on the macOS Gitlab runners because of the already running Agent") } mockConfig := configmock.New(t) @@ -118,7 +118,7 @@ func TestStartWithProxy(t *testing.T) { } func TestRaceFlushVersusAddSample(t *testing.T) { - if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && runtime.GOARCH == "amd64" { + if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && (runtime.GOARCH == "amd64" || runtime.GOARCH == "arm64") { t.Skip("TestRaceFlushVersusAddSample is known to fail on the macOS Gitlab runners because of the already running Agent") } metricAgent := &ServerlessMetricAgent{ diff --git a/pkg/serverless/proxy/proxy_test.go b/pkg/serverless/proxy/proxy_test.go index 8bd014ea7de172..9194b09c183d0b 100644 --- a/pkg/serverless/proxy/proxy_test.go +++ b/pkg/serverless/proxy/proxy_test.go @@ -69,7 +69,7 @@ func (tp *testProcessorResponseError) GetExecutionInfo() *invocationlifecycle.Ex } func TestProxyResponseValid(t *testing.T) { - if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && runtime.GOARCH == "amd64" { + if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && (runtime.GOARCH == "amd64" || runtime.GOARCH == "arm64") { t.Skip("TestProxyResponseValid is known to fail on the macOS Gitlab runners because of the already running Agent") } // fake the runtime API running on 5001 diff --git a/releasenotes/notes/add-macos-build-for-aarch64-767531f392e77140.yaml b/releasenotes/notes/add-macos-build-for-aarch64-767531f392e77140.yaml new file mode 100644 index 00000000000000..872f83c0803924 --- /dev/null +++ b/releasenotes/notes/add-macos-build-for-aarch64-767531f392e77140.yaml @@ -0,0 +1,11 @@ +# Each section from every release note are combined when the +# CHANGELOG.rst is rendered. So the text needs to be worded so that +# it does not depend on any information only available in another +# section. This may mean repeating some details, but each section +# must be readable independently of the other. +# +# Each section note must be formatted as reStructuredText. +--- +enhancements: + - | + Add macOS build for AArch64/ARM64. diff --git a/tasks/omnibus.py b/tasks/omnibus.py index 2842053bbc8a10..fa4c411436b89e 100644 --- a/tasks/omnibus.py +++ b/tasks/omnibus.py @@ -110,7 +110,7 @@ def get_omnibus_env( if sys.platform == 'darwin': # Target MacOS 10.12 - env['MACOSX_DEPLOYMENT_TARGET'] = '10.12' + env['MACOSX_DEPLOYMENT_TARGET'] = '11.0' if os.uname().machine == "arm64" else '10.12' if skip_sign: env['SKIP_SIGN_MAC'] = 'true' From 46a9ebbed137b79749bb15b76b5447111d1e1316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Desgroppes?= Date: Tue, 15 Jul 2025 17:14:22 +0200 Subject: [PATCH 2/6] Remove commented out jobs This is to address: https://github.com/DataDog/datadog-agent/pull/37676#discussion_r2192238875 --- .gitlab/functional_test/static_quality_gate.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.gitlab/functional_test/static_quality_gate.yml b/.gitlab/functional_test/static_quality_gate.yml index a4533c5f58ad5f..7d491ccf655e6e 100644 --- a/.gitlab/functional_test/static_quality_gate.yml +++ b/.gitlab/functional_test/static_quality_gate.yml @@ -49,11 +49,6 @@ static_quality_gates: - iot_agent_rpm-armhf - iot_agent_suse-x64 - windows_msi_and_bosh_zip_x64-a7 - # - job: agent_dmg-x64-a7 - # optional: True - # - job: agent_dmg-arm64-a7 - # optional: True - # script: - !reference [.login_to_docker_readonly_crane] # `datadog-ci` relies on `DATADOG_API_KEY` so we get that here. From 8d427b11bdab0b52f33f1a706255c9b6ae82fa05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Desgroppes?= Date: Tue, 15 Jul 2025 17:25:52 +0200 Subject: [PATCH 3/6] Move DMG deploy template to `deploy_common.yml` This is to address: (both) - https://github.com/DataDog/datadog-agent/pull/37676#discussion_r2192246476 - https://github.com/DataDog/datadog-agent/pull/37676#discussion_r2192250329 --- .gitlab/deploy_packages/deploy_common.yml | 11 +++++++++++ .gitlab/deploy_packages/nix.yml | 16 ++-------------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/.gitlab/deploy_packages/deploy_common.yml b/.gitlab/deploy_packages/deploy_common.yml index e51fcc123d4e60..748d473035a9d8 100644 --- a/.gitlab/deploy_packages/deploy_common.yml +++ b/.gitlab/deploy_packages/deploy_common.yml @@ -24,6 +24,17 @@ variables: MAJOR_VERSION: 7 +.deploy_packages_dmg-7: + stage: deploy_packages + rules: + !reference [.on_deploy] + image: registry.ddbuild.io/ci/datadog-agent-buildimages/gitlab_agent_deploy$CI_IMAGE_GITLAB_AGENT_DEPLOY_SUFFIX:$CI_IMAGE_GITLAB_AGENT_DEPLOY + tags: ["arch:amd64"] + before_script: + - ls $OMNIBUS_PACKAGE_DIR + script: + - $S3_CP_CMD --recursive --exclude "*" --include "datadog-agent-7*.dmg" $OMNIBUS_PACKAGE_DIR $S3_RELEASE_ARTIFACTS_URI/dmg/$PACKAGE_ARCH/ + .deploy_packages_rpm: resource_group: rpm_bucket image: registry.ddbuild.io/ci/datadog-agent-buildimages/gitlab_agent_deploy$CI_IMAGE_GITLAB_AGENT_DEPLOY_SUFFIX:$CI_IMAGE_GITLAB_AGENT_DEPLOY diff --git a/.gitlab/deploy_packages/nix.yml b/.gitlab/deploy_packages/nix.yml index fff31bc24a5886..74340e988ea229 100644 --- a/.gitlab/deploy_packages/nix.yml +++ b/.gitlab/deploy_packages/nix.yml @@ -146,26 +146,14 @@ deploy_packages_dogstatsd_suse_rpm-x64-7: variables: PACKAGE_ARCH: x86_64 -.deploy_packages_dmg: - rules: - !reference [.on_deploy] - stage: deploy_packages - image: registry.ddbuild.io/ci/datadog-agent-buildimages/gitlab_agent_deploy$CI_IMAGE_GITLAB_AGENT_DEPLOY_SUFFIX:$CI_IMAGE_GITLAB_AGENT_DEPLOY - before_script: - - ls $OMNIBUS_PACKAGE_DIR - script: - - $S3_CP_CMD --recursive --exclude "*" --include "datadog-agent-7*.dmg" $OMNIBUS_PACKAGE_DIR $S3_RELEASE_ARTIFACTS_URI/dmg/$PACKAGE_ARCH/ - deploy_packages_dmg-x64-a7: - extends: .deploy_packages_dmg - tags: ["arch:amd64"] + extends: .deploy_packages_dmg-7 needs: ["agent_dmg-x64-a7"] variables: PACKAGE_ARCH: x86_64 deploy_packages_dmg-arm64-a7: - extends: .deploy_packages_dmg - tags: ["arch:arm64"] + extends: .deploy_packages_dmg-7 needs: ["agent_dmg-arm64-a7"] variables: PACKAGE_ARCH: arm64 From bb22591930271ec6be44796badff7590c4285c00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Desgroppes?= Date: Tue, 15 Jul 2025 17:30:13 +0200 Subject: [PATCH 4/6] Extend skipped tests for `darwin` to all its archs This is to address: https://github.com/DataDog/datadog-agent/pull/37676#discussion_r2192259372 --- pkg/process/checks/host_info_test.go | 2 +- pkg/serverless/daemon/daemon_test.go | 2 +- pkg/serverless/metrics/metric_test.go | 4 ++-- pkg/serverless/proxy/proxy_test.go | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/process/checks/host_info_test.go b/pkg/process/checks/host_info_test.go index b858fd58263ccf..90a827159e485d 100644 --- a/pkg/process/checks/host_info_test.go +++ b/pkg/process/checks/host_info_test.go @@ -100,7 +100,7 @@ func TestGetHostnameFromCmd(t *testing.T) { } func TestResolveHostname(t *testing.T) { - if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && (runtime.GOARCH == "amd64" || runtime.GOARCH == "arm64") { + if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" { t.Skip("TestResolveHostname is known to fail on the macOS Gitlab runners because of the already running Agent") } osHostname, err := os.Hostname() diff --git a/pkg/serverless/daemon/daemon_test.go b/pkg/serverless/daemon/daemon_test.go index dab72e9d4c6cf4..2dfa2447cf0173 100644 --- a/pkg/serverless/daemon/daemon_test.go +++ b/pkg/serverless/daemon/daemon_test.go @@ -185,7 +185,7 @@ func TestSetTraceTagOk(t *testing.T) { } func TestOutOfOrderInvocations(t *testing.T) { - if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && runtime.GOARCH == "amd64" { + if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" { t.Skip("TestOutOfOrderInvocations is known to fail on the macOS Gitlab runners because of the already running Agent") } port := testutil.FreeTCPPort(t) diff --git a/pkg/serverless/metrics/metric_test.go b/pkg/serverless/metrics/metric_test.go index e61a6c91bb6ab9..04ed35d6408f60 100644 --- a/pkg/serverless/metrics/metric_test.go +++ b/pkg/serverless/metrics/metric_test.go @@ -39,7 +39,7 @@ func TestMain(m *testing.M) { } func TestStartDoesNotBlock(t *testing.T) { - if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && (runtime.GOARCH == "amd64" || runtime.GOARCH == "arm64") { + if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" { t.Skip("TestStartDoesNotBlock is known to fail on the macOS Gitlab runners because of the already running Agent") } mockConfig := configmock.New(t) @@ -118,7 +118,7 @@ func TestStartWithProxy(t *testing.T) { } func TestRaceFlushVersusAddSample(t *testing.T) { - if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && (runtime.GOARCH == "amd64" || runtime.GOARCH == "arm64") { + if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" { t.Skip("TestRaceFlushVersusAddSample is known to fail on the macOS Gitlab runners because of the already running Agent") } metricAgent := &ServerlessMetricAgent{ diff --git a/pkg/serverless/proxy/proxy_test.go b/pkg/serverless/proxy/proxy_test.go index 9194b09c183d0b..d461c4000d9a19 100644 --- a/pkg/serverless/proxy/proxy_test.go +++ b/pkg/serverless/proxy/proxy_test.go @@ -69,7 +69,7 @@ func (tp *testProcessorResponseError) GetExecutionInfo() *invocationlifecycle.Ex } func TestProxyResponseValid(t *testing.T) { - if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" && (runtime.GOARCH == "amd64" || runtime.GOARCH == "arm64") { + if os.Getenv("CI") == "true" && runtime.GOOS == "darwin" { t.Skip("TestProxyResponseValid is known to fail on the macOS Gitlab runners because of the already running Agent") } // fake the runtime API running on 5001 From 588f0619b5e33ee169145edbc934f95d4f4c63f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Desgroppes?= Date: Mon, 21 Jul 2025 17:12:28 +0200 Subject: [PATCH 5/6] Remove useless `-7` suffix This is to address: https://github.com/DataDog/datadog-agent/pull/37676#discussion_r2219375760 --- .gitlab/deploy_packages/deploy_common.yml | 2 +- .gitlab/deploy_packages/nix.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab/deploy_packages/deploy_common.yml b/.gitlab/deploy_packages/deploy_common.yml index 748d473035a9d8..4eec585e24fbb6 100644 --- a/.gitlab/deploy_packages/deploy_common.yml +++ b/.gitlab/deploy_packages/deploy_common.yml @@ -24,7 +24,7 @@ variables: MAJOR_VERSION: 7 -.deploy_packages_dmg-7: +.deploy_packages_dmg: stage: deploy_packages rules: !reference [.on_deploy] diff --git a/.gitlab/deploy_packages/nix.yml b/.gitlab/deploy_packages/nix.yml index 74340e988ea229..f726904f728eaf 100644 --- a/.gitlab/deploy_packages/nix.yml +++ b/.gitlab/deploy_packages/nix.yml @@ -147,13 +147,13 @@ deploy_packages_dogstatsd_suse_rpm-x64-7: PACKAGE_ARCH: x86_64 deploy_packages_dmg-x64-a7: - extends: .deploy_packages_dmg-7 + extends: .deploy_packages_dmg needs: ["agent_dmg-x64-a7"] variables: PACKAGE_ARCH: x86_64 deploy_packages_dmg-arm64-a7: - extends: .deploy_packages_dmg-7 + extends: .deploy_packages_dmg needs: ["agent_dmg-arm64-a7"] variables: PACKAGE_ARCH: arm64 From 7372415ae40a599912ffc4723be048218aaf12c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Desgroppes?= Date: Mon, 21 Jul 2025 17:10:57 +0200 Subject: [PATCH 6/6] Remove redundant comment This is to address: https://github.com/DataDog/datadog-agent/pull/37676#discussion_r2219484524 --- tasks/omnibus.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tasks/omnibus.py b/tasks/omnibus.py index fa4c411436b89e..8815614d7215bf 100644 --- a/tasks/omnibus.py +++ b/tasks/omnibus.py @@ -109,7 +109,6 @@ def get_omnibus_env( env[key] = value if sys.platform == 'darwin': - # Target MacOS 10.12 env['MACOSX_DEPLOYMENT_TARGET'] = '11.0' if os.uname().machine == "arm64" else '10.12' if skip_sign: