From 5a2777cdd28ff9ba773b6a609342e5c36cada71a Mon Sep 17 00:00:00 2001 From: Florian Engelhardt Date: Fri, 12 Jul 2024 12:29:52 +0200 Subject: [PATCH] add PHP 8.4 --- .github/workflows/prof_correctness.yml | 2 +- .gitlab/ci-images.yml | 4 ++++ .../ci/alpine_compile_extension/docker-compose.yml | 13 +++++++++++++ dockerfiles/ci/bookworm/docker-compose.yml | 12 ++++++++++++ dockerfiles/ci/buster/docker-compose.yml | 11 +++++++++++ dockerfiles/ci/centos/7/docker-compose.yml | 11 +++++++++++ dockerfiles/ci/windows/docker-compose.yml | 12 ++++++++++++ loader/dd_library_loader.c | 1 + tooling/bin/generate-final-artifact.sh | 6 +++--- tooling/bin/generate-ssi-package.sh | 2 +- 10 files changed, 69 insertions(+), 5 deletions(-) diff --git a/.github/workflows/prof_correctness.yml b/.github/workflows/prof_correctness.yml index aa3c8f1d1a5..77c2c0405e4 100644 --- a/.github/workflows/prof_correctness.yml +++ b/.github/workflows/prof_correctness.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php-version: [8.1, 8.2, 8.3] + php-version: [8.1, 8.2, 8.3, 8.4] phpts: [nts, zts] include: - phpts: zts diff --git a/.gitlab/ci-images.yml b/.gitlab/ci-images.yml index 706d1e9c3bc..b2130f42ce9 100644 --- a/.gitlab/ci-images.yml +++ b/.gitlab/ci-images.yml @@ -20,6 +20,7 @@ CentOS: matrix: - PHP_VERSION: - base + - php-8.4 - php-8.3 - php-8.2 - php-8.1 @@ -46,6 +47,7 @@ Alpine Compile Extension: matrix: - PHP_VERSION: - base-alpine + - 8.4-alpine - 8.3-alpine - 8.2-alpine - 8.1-alpine @@ -72,6 +74,7 @@ Ubuntu Bookworm: matrix: - PHP_VERSION: - base + - php-8.4 - php-8.3 - php-8.2 - php-8.1 @@ -100,6 +103,7 @@ Ubuntu Buster: matrix: - PHP_VERSION: - base + - php-8.4 - php-8.3 - php-8.2 - php-8.1 diff --git a/dockerfiles/ci/alpine_compile_extension/docker-compose.yml b/dockerfiles/ci/alpine_compile_extension/docker-compose.yml index 31d034a4008..5e2ac449682 100644 --- a/dockerfiles/ci/alpine_compile_extension/docker-compose.yml +++ b/dockerfiles/ci/alpine_compile_extension/docker-compose.yml @@ -121,3 +121,16 @@ services: php_api: 20230831 volumes: - ../../:/app + + 8.4-alpine: + image: datadog/dd-trace-ci:php-compile-extension-alpine-8.4 + build: + context: . + x-bake: *bake + args: + php_version: 8.4.0 + php_url: https://downloads.php.net/~saki/php-8.4.0alpha1.tar.gz + php_sha: 200fc03de5bf34bc621a24fce061bf3ec8d4d2fc8a676ed9b3f94ad129f69eab + php_api: 20230901 + volumes: + - ../../:/app diff --git a/dockerfiles/ci/bookworm/docker-compose.yml b/dockerfiles/ci/bookworm/docker-compose.yml index 7919c55546f..b0f1219ac74 100644 --- a/dockerfiles/ci/bookworm/docker-compose.yml +++ b/dockerfiles/ci/bookworm/docker-compose.yml @@ -13,6 +13,18 @@ services: args: &build-base BUILD_BASE: datadog/dd-trace-ci:bookworm-$BOOKWORM_NEXT_VERSION + php-8.4: + image: datadog/dd-trace-ci:php-8.4_bookworm-$BOOKWORM_NEXT_VERSION + build: + context: . + dockerfile: php-8.4/Dockerfile + x-bake: *bake + args: + <<: *build-base + phpVersion: "8.4" + phpTarGzUrl: https://downloads.php.net/~saki/php-8.4.0alpha1.tar.gz + phpSha256Hash: "200fc03de5bf34bc621a24fce061bf3ec8d4d2fc8a676ed9b3f94ad129f69eab" + php-8.3: image: datadog/dd-trace-ci:php-8.3_bookworm-$BOOKWORM_NEXT_VERSION build: diff --git a/dockerfiles/ci/buster/docker-compose.yml b/dockerfiles/ci/buster/docker-compose.yml index 9ca7767fa5f..c3fa05e6fd3 100644 --- a/dockerfiles/ci/buster/docker-compose.yml +++ b/dockerfiles/ci/buster/docker-compose.yml @@ -11,6 +11,17 @@ services: - linux/arm64 - linux/amd64 + php-8.4: + image: datadog/dd-trace-ci:php-8.4_buster + build: + context: . + dockerfile: php-8.4/Dockerfile + x-bake: *bake + args: + phpVersion: "8.4" + phpTarGzUrl: https://downloads.php.net/~saki/php-8.4.0alpha1.tar.gz + phpSha256Hash: "200fc03de5bf34bc621a24fce061bf3ec8d4d2fc8a676ed9b3f94ad129f69eab" + php-8.3: image: datadog/dd-trace-ci:php-8.3_buster build: diff --git a/dockerfiles/ci/centos/7/docker-compose.yml b/dockerfiles/ci/centos/7/docker-compose.yml index cdedb1d81bd..700022f8b94 100644 --- a/dockerfiles/ci/centos/7/docker-compose.yml +++ b/dockerfiles/ci/centos/7/docker-compose.yml @@ -109,3 +109,14 @@ services: phpTarGzUrl: https://www.php.net/distributions/php-8.3.9.tar.gz phpSha256Hash: "f484dec6ee005c83f899af02fc021e1bc3b1d7b3f143ca062ef66b0fcee96566" image: 'datadog/dd-trace-ci:php-8.3_centos-7' + + php-8.4: + build: + context: . + dockerfile: php.Dockerfile + x-bake: *bake + args: + phpVersion: "8.4" + phpTarGzUrl: https://downloads.php.net/~saki/php-8.4.0alpha1.tar.gz + phpSha256Hash: "200fc03de5bf34bc621a24fce061bf3ec8d4d2fc8a676ed9b3f94ad129f69eab" + image: 'datadog/dd-trace-ci:php-8.4_centos-7' diff --git a/dockerfiles/ci/windows/docker-compose.yml b/dockerfiles/ci/windows/docker-compose.yml index 337cc390bce..33472d009d5 100644 --- a/dockerfiles/ci/windows/docker-compose.yml +++ b/dockerfiles/ci/windows/docker-compose.yml @@ -59,6 +59,18 @@ services: vsVersion: "vs16" sdkVersion: "2.2.0" + php-8.4: + image: datadog/dd-trace-ci:php-8.4_windows + build: + platforms: + - windows/amd64 + context: . + args: + phpVersion: "8.4.0" + vsVersion: "vs16" + phpTarGzUrl: https://downloads.php.net/~saki/php-8.4.0alpha1.tar.gz + phpSha256Hash: "200fc03de5bf34bc621a24fce061bf3ec8d4d2fc8a676ed9b3f94ad129f69eab" + php-8.3: image: datadog/dd-trace-ci:php-8.3_windows build: diff --git a/loader/dd_library_loader.c b/loader/dd_library_loader.c index c973e5c7a4a..184b9675bcf 100644 --- a/loader/dd_library_loader.c +++ b/loader/dd_library_loader.c @@ -557,6 +557,7 @@ static int ddloader_api_no_check(int api_no) { case 420210902: // 8.1 case 420220829: // 8.2 case 420230831: // 8.3 + case 420230901: // 8.4 break; default: diff --git a/tooling/bin/generate-final-artifact.sh b/tooling/bin/generate-final-artifact.sh index 606d87176f9..4d1adfa981f 100755 --- a/tooling/bin/generate-final-artifact.sh +++ b/tooling/bin/generate-final-artifact.sh @@ -33,7 +33,7 @@ for architecture in "${architectures[@]}"; do tmp_folder_final_musl_trace=$tmp_folder_final_musl/dd-library-php/trace tmp_folder_final_windows_trace=$tmp_folder_final_windows/dd-library-php/trace - php_apis=(20190902 20200930 20210902 20220829 20230831) + php_apis=(20190902 20200930 20210902 20220829 20230831 20230901) if [[ -z ${DDTRACE_MAKE_PACKAGES_ASAN:-} ]]; then php_apis+=(20151012 20160303 20170718 20180731) fi @@ -75,7 +75,7 @@ for architecture in "${architectures[@]}"; do tar -xf $tmp_folder_profiling_archive -C $tmp_folder_profiling # Extension - php_apis=(20160303 20170718 20180731 20190902 20200930 20210902 20220829 20230831) + php_apis=(20160303 20170718 20180731 20190902 20200930 20210902 20220829 20230831 20230901) for version in "${php_apis[@]}" do mkdir -v -p \ @@ -117,7 +117,7 @@ for architecture in "${architectures[@]}"; do tmp_folder_final_musl_appsec=$tmp_folder_final_musl/dd-library-php/appsec # Extensions - php_apis=(20151012 20160303 20170718 20180731 20190902 20200930 20210902 20220829 20230831); + php_apis=(20151012 20160303 20170718 20180731 20190902 20200930 20210902 20220829 20230831 20230901); for php_api in "${php_apis[@]}"; do mkdir -p \ ${tmp_folder_final_gnu_appsec}/ext/$php_api \ diff --git a/tooling/bin/generate-ssi-package.sh b/tooling/bin/generate-ssi-package.sh index be57e6a7797..407f32de3e3 100755 --- a/tooling/bin/generate-ssi-package.sh +++ b/tooling/bin/generate-ssi-package.sh @@ -41,7 +41,7 @@ for architecture in "${architectures[@]}"; do # Trace ######################## - php_apis=(20151012 20160303 20170718 20180731 20190902 20200930 20210902 20220829 20230831) + php_apis=(20151012 20160303 20170718 20180731 20190902 20200930 20210902 20220829 20230831 20230901) for php_api in "${php_apis[@]}"; do mkdir -p ${gnu}/trace/ext/$php_api ${musl}/trace/ext/$php_api # gnu