Skip to content

Commit d79c667

Browse files
authored
Merge branch 'master' into leiyks/fix-ci-valgrind-and-openssl-xfail
2 parents a4edd57 + 7e0ef30 commit d79c667

26 files changed

Lines changed: 188 additions & 140 deletions

.github/workflows/prof_asan.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
CARGO_TARGET_DIR: /tmp/build-cargo
1717
RUST_TOOLCHAIN: nightly-2025-06-13
1818
container:
19-
image: datadog/dd-trace-ci:php-${{matrix.php-version}}_bookworm-6
19+
image: datadog/dd-trace-ci:php-${{matrix.php-version}}_bookworm-7
2020
# https://docs.github.com/en/actions/creating-actions/dockerfile-support-for-github-actions#user
2121
options: --user root --privileged
2222

@@ -49,7 +49,7 @@ jobs:
4949
set -eux
5050
switch-php nts-asan
5151
cd profiling
52-
export CC=clang-17
52+
export CC=clang-19
5353
export CFLAGS='-fsanitize=address -fno-omit-frame-pointer'
5454
export LDFLAGS='-fsanitize=address -shared-libasan'
5555
export RUSTC_LINKER=lld-17

.gitlab/build-profiler.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ fi
1717
# /usr/lib/llvm20/lib/clang/20/include/arm_neon.h:6374:25: error: incompatible constant for this __builtin_neon function
1818
# etc.
1919
if [ -f /sbin/apk ] && [ $(uname -m) = "aarch64" ]; then
20-
ln -sf ../lib/llvm17/bin/clang /usr/bin/clang
20+
ln -sf ../lib/llvm19/bin/clang /usr/bin/clang
2121
fi
2222

2323
# On CentOS 7 aarch64, clang's resource dir isn't on the default include path,

.gitlab/ci-images.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ CentOS:
3434
- php-7.0
3535
script:
3636
- cd dockerfiles/ci/centos/7
37-
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_TOKEN" $CI_REGISTRY
37+
- echo "$CI_REGISTRY_TOKEN" | docker login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY"
3838
- docker buildx bake --no-cache --pull --push $PHP_VERSION
3939

4040
Alpine:
@@ -63,7 +63,7 @@ Alpine:
6363
- 7.0-alpine
6464
script:
6565
- cd dockerfiles/ci/alpine_compile_extension
66-
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_TOKEN" $CI_REGISTRY
66+
- echo "$CI_REGISTRY_TOKEN" | docker login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY"
6767
- docker buildx bake --no-cache --pull --push $PHP_VERSION
6868

6969
Bookworm:
@@ -94,7 +94,7 @@ Bookworm:
9494
- php-7.0
9595
script:
9696
- cd dockerfiles/ci/bookworm
97-
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_TOKEN" $CI_REGISTRY
97+
- echo "$CI_REGISTRY_TOKEN" | docker login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY"
9898
- docker buildx bake --no-cache --pull --push $PHP_VERSION
9999

100100
Buster:
@@ -125,5 +125,5 @@ Buster:
125125
- php-7.0
126126
script:
127127
- cd dockerfiles/ci/buster
128-
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_TOKEN" $CI_REGISTRY
128+
- echo "$CI_REGISTRY_TOKEN" | docker login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY"
129129
- docker buildx bake --no-cache --pull --push $PHP_VERSION

.gitlab/generate-appsec.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,13 @@
7171
image: registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-6
7272
variables:
7373
KUBERNETES_CPU_REQUEST: 3
74-
KUBERNETES_MEMORY_REQUEST: 4Gi
75-
KUBERNETES_MEMORY_LIMIT: 4Gi
74+
KUBERNETES_CPU_LIMIT: 3
75+
KUBERNETES_MEMORY_REQUEST: 6Gi
76+
KUBERNETES_MEMORY_LIMIT: 6Gi
77+
KUBERNETES_HELPER_CPU_REQUEST: 1
78+
KUBERNETES_HELPER_CPU_LIMIT: 1
79+
KUBERNETES_HELPER_MEMORY_REQUEST: 3Gi
80+
KUBERNETES_HELPER_MEMORY_LIMIT: 3Gi
7681
parallel:
7782
matrix:
7883
- PHP_MAJOR_MINOR: *all_minor_major_targets

.gitlab/generate-package.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@
4848
$asan_build_platforms = [
4949
[
5050
"triplet" => "x86_64-unknown-linux-gnu",
51-
"image_template" => "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-%s_bookworm-6",
51+
"image_template" => "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-%s_bookworm-7",
5252
"arch" => "amd64",
5353
"host_os" => "linux-gnu",
5454
],
5555
[
5656
"triplet" => "aarch64-unknown-linux-gnu",
57-
"image_template" => "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-%s_bookworm-6",
57+
"image_template" => "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-%s_bookworm-7",
5858
"arch" => "arm64",
5959
"host_os" => "linux-gnu",
6060
]
@@ -319,7 +319,7 @@
319319

320320
"pecl build":
321321
stage: tracing
322-
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-7.4_bookworm-6"
322+
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-7.4_bookworm-7"
323323
tags: [ "arch:amd64" ]
324324
needs: [ "prepare code" ]
325325
script:
@@ -369,7 +369,7 @@
369369
<?php foreach ($arch_targets as $arch): ?>
370370
"aggregate tracing extension: [<?= $arch ?>]":
371371
stage: tracing
372-
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-7.4_bookworm-6"
372+
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-7.4_bookworm-7"
373373
tags: [ "arch:amd64" ]
374374
script: ls ./
375375
variables:
@@ -1136,7 +1136,7 @@
11361136

11371137
"pecl tests":
11381138
stage: verify
1139-
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_VERSION}_bookworm-6"
1139+
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_VERSION}_bookworm-7"
11401140
tags: [ "arch:amd64" ]
11411141
services:
11421142
- !reference [.services, request-replayer]
@@ -1307,7 +1307,7 @@
13071307
variables:
13081308
VALGRIND: false
13091309
ARCH: "<?= $arch ?>"
1310-
CONTAINER_SUFFIX: bookworm-6
1310+
CONTAINER_SUFFIX: bookworm-7
13111311
needs:
13121312
- job: "package loader: [<?= $arch ?>]"
13131313
artifacts: true

.gitlab/generate-profiler.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
IMAGE_SUFFIX: _centos-7
4444
script:
4545
- if [ -d '/opt/rh/devtoolset-7' ]; then set +eo pipefail; source scl_source enable devtoolset-7; set -eo pipefail; fi
46-
- if [ -f /sbin/apk ] && [ $(uname -m) = "aarch64" ]; then ln -sf ../lib/llvm17/bin/clang /usr/bin/clang; fi
46+
- if [ -f /sbin/apk ] && [ $(uname -m) = "aarch64" ]; then ln -sf ../lib/llvm19/bin/clang /usr/bin/clang; fi
4747
- if [ -d '/opt/rh/devtoolset-7' ] && [ "$(uname -m)" = "aarch64" ]; then export BINDGEN_EXTRA_CLANG_ARGS="-I$(clang --print-resource-dir)/include"; fi
4848

4949
- cd profiling
@@ -83,7 +83,7 @@
8383
"clippy NTS":
8484
stage: test
8585
tags: [ "arch:amd64" ]
86-
image: registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-6
86+
image: registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-7
8787
variables:
8888
KUBERNETES_CPU_REQUEST: 5
8989
KUBERNETES_MEMORY_REQUEST: 3Gi
@@ -102,7 +102,7 @@
102102
"Cargo test":
103103
stage: test
104104
tags: [ "arch:amd64" ]
105-
image: registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-8.5_bookworm-5
105+
image: registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-8.5_bookworm-7
106106
variables:
107107
KUBERNETES_CPU_REQUEST: 5
108108
KUBERNETES_MEMORY_REQUEST: 3Gi

.gitlab/generate-shared.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
- IMAGE:
2222
- "datadog/dd-trace-ci:centos-7"
2323
- "datadog/dd-trace-ci:php-compile-extension-alpine"
24-
- "datadog/dd-trace-ci:bookworm-6"
24+
- "datadog/dd-trace-ci:bookworm-7"
2525
script:
2626
- if [ -f "/opt/libuv/lib/pkgconfig/libuv.pc" ]; then export PKG_CONFIG_PATH="/opt/libuv/lib/pkgconfig:$PKG_CONFIG_PATH"; fi
2727
- if [ -d "/opt/catch2" ]; then export CMAKE_PREFIX_PATH=/opt/catch2; fi
@@ -45,7 +45,7 @@
4545
"C components UBSAN":
4646
tags: [ "arch:amd64" ]
4747
stage: test
48-
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:bookworm-6"
48+
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:bookworm-7"
4949
needs: []
5050
script:
5151
- if [ -f "/opt/libuv/lib/pkgconfig/libuv.pc" ]; then export PKG_CONFIG_PATH="/opt/libuv/lib/pkgconfig:$PKG_CONFIG_PATH"; fi
@@ -69,7 +69,7 @@
6969
"Build & Test Tea":
7070
tags: [ "arch:amd64" ]
7171
stage: build
72-
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-6"
72+
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-7"
7373
parallel:
7474
matrix:
7575
- PHP_MAJOR_MINOR: *no_asan_minor_major_targets
@@ -98,7 +98,7 @@
9898
.tea_test:
9999
tags: [ "arch:amd64" ]
100100
stage: test
101-
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-6"
101+
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-7"
102102
interruptible: true
103103
rules:
104104
- if: $CI_COMMIT_BRANCH == "master"
@@ -122,7 +122,7 @@
122122
needs: []
123123
variables:
124124
PHP_MAJOR_MINOR: "<?= $all_minor_major_targets[count($all_minor_major_targets) - 1] ?>"
125-
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-6"
125+
image: "registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-7"
126126
script:
127127
- |
128128
if ! command -v cc >/dev/null 2>&1 && ! command -v clang >/dev/null 2>&1 && ! command -v gcc >/dev/null 2>&1; then
@@ -157,6 +157,9 @@
157157
extends: .tea_test
158158
variables:
159159
PHP_MAJOR_MINOR: "<?= $major_minor ?>"
160+
<?php if ($switch_php_version == "debug-zts-asan"): ?>
161+
ASAN_OPTIONS: "detect_stack_use_after_return=0"
162+
<?php endif; ?>
160163
needs:
161164
- job: "Build & Test Tea"
162165
parallel:

.gitlab/generate-tracer.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ function before_script_steps($with_docker_auth = false) {
6767
"compile extension: debug":
6868
stage: compile
6969
tags: [ "arch:${ARCH}" ]
70-
image: registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-6
70+
image: registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-7
7171
parallel:
7272
matrix:
7373
- PHP_MAJOR_MINOR: *all_minor_major_targets
@@ -187,7 +187,7 @@ function before_script_steps($with_docker_auth = false) {
187187
.base_test:
188188
stage: test
189189
tags: [ "arch:${ARCH}" ]
190-
image: registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-6
190+
image: registry.ddbuild.io/images/mirror/datadog/dd-trace-ci:php-${PHP_MAJOR_MINOR}_bookworm-7
191191
timeout: 60m
192192
interruptible: true
193193
rules:
@@ -311,6 +311,7 @@ function before_script_steps($with_docker_auth = false) {
311311
PHP_MAJOR_MINOR: "<?= $major_minor ?>"
312312
ARCH: "amd64"
313313
TEST_PHP_JUNIT: "${CI_PROJECT_DIR}/tmp/build_extension/artifacts/tests/php-tests.xml"
314+
ASAN_OPTIONS: "abort_on_error=1:disable_coredump=0:unmap_shadow_on_exit=1:detect_stack_use_after_return=0"
314315
script:
315316
- mkdir -p "${CI_PROJECT_DIR}/tmp/build_extension/artifacts/tests"
316317
- make test_c_observer

appsec/cmake/clang-format.cmake

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
set(_LLVM17_FORMAT /opt/homebrew/opt/llvm@17/bin/clang-format)
2-
if(EXISTS ${_LLVM17_FORMAT})
3-
set(CLANG_FORMAT ${_LLVM17_FORMAT})
4-
message(STATUS "Using Homebrew LLVM 17 clang-format: ${CLANG_FORMAT}")
1+
set(_LLVM19_FORMAT /opt/homebrew/opt/llvm@19/bin/clang-format)
2+
if(EXISTS ${_LLVM19_FORMAT})
3+
set(CLANG_FORMAT ${_LLVM19_FORMAT})
4+
message(STATUS "Using Homebrew LLVM 19 clang-format: ${CLANG_FORMAT}")
55
else()
6-
find_program(_CF_VERSIONED clang-format-17)
6+
find_program(_CF_VERSIONED clang-format-19)
77
if(NOT _CF_VERSIONED STREQUAL _CF_VERSIONED-NOTFOUND)
88
set(CLANG_FORMAT ${_CF_VERSIONED})
99
else()
@@ -14,15 +14,15 @@ else()
1414
OUTPUT_VARIABLE _CF_VERSION
1515
OUTPUT_STRIP_TRAILING_WHITESPACE
1616
ERROR_QUIET)
17-
if(_CF_VERSION MATCHES " 17\\.")
17+
if(_CF_VERSION MATCHES " 19\\.")
1818
set(CLANG_FORMAT ${_CF_UNVERSIONED})
1919
endif()
2020
endif()
2121
endif()
2222
if(NOT CLANG_FORMAT)
2323
set(CLANG_FORMAT ${CMAKE_CURRENT_LIST_DIR}/clang-tools/clang-format)
2424
if(NOT EXISTS ${CLANG_FORMAT})
25-
message(STATUS "Cannot find clang-format version 17, either set CLANG_FORMAT or make it discoverable")
25+
message(STATUS "Cannot find clang-format version 19, either set CLANG_FORMAT or make it discoverable")
2626
return()
2727
endif()
2828
message(STATUS "Using Docker-based clang-format wrapper: ${CLANG_FORMAT}")

appsec/cmake/clang-tidy.cmake

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
# Prefer a locally installed LLVM 17 run-clang-tidy (e.g. via brew install llvm@17)
1+
# Prefer a locally installed LLVM 19 run-clang-tidy (e.g. via brew install llvm@19)
22
# over the Docker-based wrapper, since native execution avoids SDK incompatibilities.
3-
set(_LLVM17_BIN /opt/homebrew/opt/llvm@17/bin)
4-
set(_LLVM17_TIDY ${_LLVM17_BIN}/run-clang-tidy)
3+
set(_LLVM19_BIN /opt/homebrew/opt/llvm@19/bin)
4+
set(_LLVM19_TIDY ${_LLVM19_BIN}/run-clang-tidy)
55
set(CLANG_TIDY_BINARY_OPT "")
6-
if(EXISTS ${_LLVM17_TIDY})
7-
set(CLANG_TIDY ${_LLVM17_TIDY})
8-
set(CLANG_TIDY_BINARY_OPT -clang-tidy-binary ${_LLVM17_BIN}/clang-tidy)
9-
message(STATUS "Using Homebrew LLVM 17 run-clang-tidy: ${CLANG_TIDY}")
6+
if(EXISTS ${_LLVM19_TIDY})
7+
set(CLANG_TIDY ${_LLVM19_TIDY})
8+
set(CLANG_TIDY_BINARY_OPT -clang-tidy-binary ${_LLVM19_BIN}/clang-tidy)
9+
message(STATUS "Using Homebrew LLVM 19 run-clang-tidy: ${CLANG_TIDY}")
1010
else()
11-
find_program(_RCT_VERSIONED run-clang-tidy-17)
11+
find_program(_RCT_VERSIONED run-clang-tidy-19)
1212
if(NOT _RCT_VERSIONED STREQUAL _RCT_VERSIONED-NOTFOUND)
1313
set(CLANG_TIDY ${_RCT_VERSIONED})
14-
find_program(_CT_VERSIONED clang-tidy-17)
14+
find_program(_CT_VERSIONED clang-tidy-19)
1515
if(NOT _CT_VERSIONED STREQUAL _CT_VERSIONED-NOTFOUND)
1616
set(CLANG_TIDY_BINARY_OPT -clang-tidy-binary ${_CT_VERSIONED})
1717
endif()
@@ -37,7 +37,7 @@ else()
3737
if(NOT CLANG_TIDY)
3838
set(CLANG_TIDY ${CMAKE_CURRENT_LIST_DIR}/clang-tools/run-clang-tidy)
3939
if(NOT EXISTS ${CLANG_TIDY})
40-
message(STATUS "Cannot find clang-tidy version 17, either set CLANG_TIDY or make it discoverable")
40+
message(STATUS "Cannot find clang-tidy version 19, either set CLANG_TIDY or make it discoverable")
4141
return()
4242
endif()
4343
message(STATUS "Using Docker-based run-clang-tidy wrapper: ${CLANG_TIDY}")

0 commit comments

Comments
 (0)