Skip to content

Commit fbb2e83

Browse files
committed
Merge tag 'php-8.3.25' into was-8.3.x
Tag for php-8.3.25
2 parents 08b0b29 + f729a64 commit fbb2e83

File tree

80 files changed

+1355
-148
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+1355
-148
lines changed

.github/actions/apt-x32/action.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ runs:
66
run: |
77
set -x
88
9+
OPCACHE_TLS_TESTS_DEPS="gcc clang lld"
10+
911
export DEBIAN_FRONTEND=noninteractive
1012
dpkg --add-architecture i386
1113
apt-get update -y | true
@@ -50,4 +52,5 @@ runs:
5052
re2c \
5153
unzip \
5254
wget \
53-
zlib1g-dev:i386
55+
zlib1g-dev:i386 \
56+
$OPCACHE_TLS_TESTS_DEPS

.github/actions/apt-x64/action.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ runs:
66
run: |
77
set -x
88
9+
OPCACHE_TLS_TESTS_DEPS="gcc clang lld"
10+
911
export DEBIAN_FRONTEND=noninteractive
1012
1113
# Install sudo in Docker for consistent actions
@@ -73,4 +75,5 @@ runs:
7375
libqdbm-dev \
7476
libjpeg-dev \
7577
libpng-dev \
76-
libfreetype6-dev
78+
libfreetype6-dev \
79+
$OPCACHE_TLS_TESTS_DEPS

.github/actions/brew/action.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,14 @@ runs:
1111
code=" keg.link\(verbose: verbose\?"
1212
sudo sed -Ei '' "s/$code.*/$code, overwrite: true\)/" "$formula_installer"
1313
14+
# Some packages exist on x86 but not arm, or vice versa.
15+
# Install them with reinstall to avoid warnings.
16+
brew reinstall autoconf webp tidy-html5 libzip libsodium icu4c
1417
brew install \
1518
bison \
1619
re2c
1720
brew install \
21+
aspell \
1822
bzip2 \
1923
enchant \
2024
libffi \

.github/actions/configure-macos/action.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ runs:
1010
run: |
1111
set -x
1212
BREW_OPT="$(brew --prefix)"/opt
13-
export PATH="/usr/local/opt/bison/bin:$PATH"
14-
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/[email protected]/lib/pkgconfig"
15-
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/curl/lib/pkgconfig"
16-
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/krb5/lib/pkgconfig"
17-
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/libffi/lib/pkgconfig"
18-
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/libxml2/lib/pkgconfig"
19-
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/libxslt/lib/pkgconfig"
20-
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/zlib/lib/pkgconfig"
21-
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/icu4c/lib/pkgconfig"
13+
export PATH="$BREW_OPT/bison/bin:$PATH"
14+
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BREW_OPT/[email protected]/lib/pkgconfig"
15+
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BREW_OPT/curl/lib/pkgconfig"
16+
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BREW_OPT/krb5/lib/pkgconfig"
17+
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BREW_OPT/libffi/lib/pkgconfig"
18+
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BREW_OPT/libxml2/lib/pkgconfig"
19+
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BREW_OPT/libxslt/lib/pkgconfig"
20+
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BREW_OPT/zlib/lib/pkgconfig"
21+
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BREW_OPT/icu4c/lib/pkgconfig"
2222
sed -i -e 's/Requires.private:.*//g' "$BREW_OPT/curl/lib/pkgconfig/libcurl.pc"
2323
./buildconf --force
2424
./configure \
@@ -28,8 +28,8 @@ runs:
2828
--enable-fpm \
2929
--with-pdo-mysql=mysqlnd \
3030
--with-mysqli=mysqlnd \
31-
--with-pgsql=/usr/local/opt/libpq \
32-
--with-pdo-pgsql=/usr/local/opt/libpq \
31+
--with-pgsql="$BREW_OPT"/libpq \
32+
--with-pdo-pgsql="$BREW_OPT"/libpq \
3333
--with-pdo-sqlite \
3434
--without-pear \
3535
--enable-gd \
@@ -42,25 +42,25 @@ runs:
4242
--enable-soap \
4343
--enable-xmlreader \
4444
--with-xsl \
45-
--with-tidy=/usr/local/opt/tidy-html5 \
45+
--with-tidy="$BREW_OPT"/tidy-html5 \
4646
--with-libxml \
4747
--enable-sysvsem \
4848
--enable-sysvshm \
4949
--enable-shmop \
5050
--enable-pcntl \
51-
--with-readline=/usr/local/opt/readline \
51+
--with-readline="$BREW_OPT"/readline \
5252
--enable-mbstring \
5353
--with-curl \
54-
--with-gettext=/usr/local/opt/gettext \
54+
--with-gettext="$BREW_OPT"/gettext \
5555
--enable-sockets \
56-
--with-bz2=/usr/local/opt/bzip2 \
56+
--with-bz2="$BREW_OPT"/bzip2 \
5757
--with-openssl \
58-
--with-gmp=/usr/local/opt/gmp \
59-
--with-iconv=/usr/local/opt/libiconv \
58+
--with-gmp="$BREW_OPT"/gmp \
59+
--with-iconv="$BREW_OPT"/libiconv \
6060
--enable-bcmath \
6161
--enable-calendar \
6262
--enable-ftp \
63-
--with-pspell=/usr/local/opt/aspell \
63+
--with-pspell="$BREW_OPT"/aspell \
6464
--with-kerberos \
6565
--enable-sysvmsg \
6666
--with-ffi \
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
name: Extra tests
2+
runs:
3+
using: composite
4+
steps:
5+
- shell: sh
6+
run: |
7+
sapi/cli/php run-extra-tests.php

.github/actions/freebsd/action.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,25 @@ inputs:
33
configurationParameters:
44
default: ''
55
required: false
6+
runExtraTests:
7+
default: false
8+
required: false
69
runs:
710
using: composite
811
steps:
912
- name: FreeBSD
1013
uses: vmactions/freebsd-vm@v1
1114
with:
12-
release: '13.3'
15+
release: '13.5'
1316
usesh: true
1417
copyback: false
1518
# Temporarily disable sqlite, as FreeBSD ships it with disabled double quotes. We'll need to fix our tests.
1619
# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269889
1720
prepare: |
1821
cd $GITHUB_WORKSPACE
1922
23+
OPCACHE_TLS_TESTS_DEPS="gcc"
24+
2025
kldload accf_http
2126
pkg install -y \
2227
autoconf \
@@ -41,9 +46,11 @@ runs:
4146
webp \
4247
libavif \
4348
`#sqlite3` \
44-
curl
49+
curl \
50+
$OPCACHE_TLS_TESTS_DEPS
4551
4652
./buildconf -f
53+
CC=clang CXX=clang++ \
4754
./configure \
4855
--prefix=/usr/local \
4956
--enable-debug \
@@ -107,3 +114,7 @@ runs:
107114
--show-slow 1000 \
108115
--set-timeout 120 \
109116
-d zend_extension=opcache.so
117+
118+
if test "${{ inputs.runExtraTests }}" = "true"; then
119+
sapi/cli/php run-extra-tests.php
120+
fi

.github/actions/verify-generated-files/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ runs:
55
- shell: bash
66
run: |
77
set -x
8-
[[ "$OSTYPE" == "darwin"* ]] && export PATH="/usr/local/opt/bison/bin:$PATH"
8+
[[ "$OSTYPE" == "darwin"* ]] && export PATH="$(brew --prefix)/opt/bison/bin:$PATH"
99
scripts/dev/credits
1010
scripts/dev/genfiles
1111
Zend/zend_vm_gen.php

.github/scripts/setup-slapd.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ olcTLSCertificateKeyFile: /etc/ldap/ssl/server.key
7272
add: olcTLSVerifyClient
7373
olcTLSVerifyClient: never
7474
-
75+
add: olcTLSProtocolMin
76+
olcTLSProtocolMin: 3.3
77+
-
7578
add: olcAuthzRegexp
7679
olcAuthzRegexp: uid=usera,cn=digest-md5,cn=auth cn=usera,dc=my-domain,dc=com
7780
-

.github/scripts/windows/find-target-branch.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
for /f "usebackq tokens=3" %%i in (`findstr PHP_MAJOR_VERSION main\php_version.h`) do set BRANCH=%%i
44
for /f "usebackq tokens=3" %%i in (`findstr PHP_MINOR_VERSION main\php_version.h`) do set BRANCH=%BRANCH%.%%i
55

6-
if /i "%BRANCH%" equ "8.4" (
6+
if /i "%BRANCH%" equ "8.5" (
77
set BRANCH=master
88
)

.github/workflows/nightly.yml

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ jobs:
8585
with:
8686
runTestsParameters: >-
8787
--asan -x
88+
- name: Extra tests
89+
uses: ./.github/actions/extra-tests
8890
ALPINE:
8991
if: inputs.run_alpine
9092
name: ALPINE_X64_ASAN_UBSAN_DEBUG_ZTS
@@ -134,6 +136,8 @@ jobs:
134136
--asan -x
135137
-d zend_extension=opcache.so
136138
-d opcache.enable_cli=1
139+
- name: Extra tests
140+
uses: ./.github/actions/extra-tests
137141
- name: Notify Slack
138142
if: failure()
139143
uses: ./.github/actions/notify-slack
@@ -266,6 +270,8 @@ jobs:
266270
${{ matrix.run_tests_parameters }}
267271
-d zend_extension=opcache.so
268272
-d opcache.enable_cli=1
273+
- name: Extra tests
274+
uses: ./.github/actions/extra-tests
269275
- name: Verify generated files are up to date
270276
uses: ./.github/actions/verify-generated-files
271277
- name: Notify Slack
@@ -355,6 +361,8 @@ jobs:
355361
${{ matrix.run_tests_parameters }}
356362
-d zend_extension=opcache.so
357363
-d opcache.enable_cli=1
364+
- name: Extra tests
365+
uses: ./.github/actions/extra-tests
358366
- name: Notify Slack
359367
if: failure()
360368
uses: ./.github/actions/notify-slack
@@ -414,6 +422,8 @@ jobs:
414422
runTestsParameters: >-
415423
-d zend_extension=opcache.so
416424
-d opcache.enable_cli=1
425+
- name: Extra tests
426+
uses: ./.github/actions/extra-tests
417427
- name: Verify generated files are up to date
418428
uses: ./.github/actions/verify-generated-files
419429
- name: Notify Slack
@@ -555,14 +565,17 @@ jobs:
555565
repositories="amp cache dns file http parallel parser pipeline process serialization socket sync websocket-client websocket-server"
556566
X=0
557567
for repository in $repositories; do
558-
printf "Testing amp/%s\n" "$repository"
568+
echo "::group::$repository"
559569
git clone "https://github.com/amphp/$repository.git" "amphp-$repository" --depth 1
560570
cd "amphp-$repository"
561571
git rev-parse HEAD
562572
php /usr/bin/composer install --no-progress --ignore-platform-req=php+
573+
EXIT_CODE=0
563574
vendor/bin/phpunit || EXIT_CODE=$?
575+
echo -e "\n::endgroup::"
564576
if [ ${EXIT_CODE:-0} -gt 128 ]; then
565577
X=1;
578+
echo "Failed"
566579
fi
567580
cd ..
568581
done
@@ -586,14 +599,17 @@ jobs:
586599
repositories="async cache child-process datagram dns event-loop promise promise-stream promise-timer stream"
587600
X=0
588601
for repository in $repositories; do
589-
printf "Testing reactphp/%s\n" "$repository"
602+
echo "::group::$repository"
590603
git clone "https://github.com/reactphp/$repository.git" "reactphp-$repository" --depth 1
591604
cd "reactphp-$repository"
592605
git rev-parse HEAD
593606
php /usr/bin/composer install --no-progress --ignore-platform-req=php+
607+
EXIT_CODE=0
594608
vendor/bin/phpunit || EXIT_CODE=$?
609+
echo -e "\n::endgroup::"
595610
if [ $[EXIT_CODE:-0} -gt 128 ]; then
596611
X=1;
612+
echo "Failed"
597613
fi
598614
cd ..
599615
done
@@ -618,15 +634,19 @@ jobs:
618634
php /usr/bin/composer install --no-progress --ignore-platform-req=php+
619635
php ./phpunit install
620636
# Test causes a heap-buffer-overflow but I cannot reproduce it locally...
621-
php -r '$c = file_get_contents("src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php"); $c = str_replace("public function testSanitizeDeepNestedString()", "/** @group skip */\n public function testSanitizeDeepNestedString()", $c); file_put_contents("src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php", $c);'
637+
php -r '$c = file_get_contents("src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php"); $c = str_replace("public function testSanitizeDeepNestedString()", "#[\\PHPUnit\\Framework\\Attributes\\Group('"'"'skip'"'"')]\n public function testSanitizeDeepNestedString()", $c); file_put_contents("src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php", $c);'
622638
# Buggy FFI test in Symfony, see https://github.com/symfony/symfony/issues/47668
623-
php -r '$c = file_get_contents("src/Symfony/Component/VarDumper/Tests/Caster/FFICasterTest.php"); $c = str_replace("public function testCastNonTrailingCharPointer()", "/** @group skip */\n public function testCastNonTrailingCharPointer()", $c); file_put_contents("src/Symfony/Component/VarDumper/Tests/Caster/FFICasterTest.php", $c);'
639+
php -r '$c = file_get_contents("src/Symfony/Component/VarDumper/Tests/Caster/FFICasterTest.php"); $c = str_replace("public function testCastNonTrailingCharPointer()", "#[\\PHPUnit\\Framework\\Attributes\\Group('"'"'skip'"'"')]\n public function testCastNonTrailingCharPointer()", $c); file_put_contents("src/Symfony/Component/VarDumper/Tests/Caster/FFICasterTest.php", $c);'
624640
export SYMFONY_DEPRECATIONS_HELPER=max[total]=999
625641
X=0
626642
for component in $(find src/Symfony -mindepth 2 -type f -name phpunit.xml.dist -printf '%h\n'); do
627-
php ./phpunit $component --exclude-group tty,benchmark,intl-data,transient --exclude-group skip || EXIT_CODE=$?
643+
echo "::group::$component"
644+
EXIT_CODE=0
645+
php ./phpunit $component --exclude-group tty --exclude-group benchmark --exclude-group intl-data --exclude-group transient --exclude-group skip || EXIT_CODE=$?
646+
echo -e "\n::endgroup::"
628647
if [ ${EXIT_CODE:-0} -gt 128 ]; then
629648
X=1;
649+
echo "Failed"
630650
fi
631651
done
632652
exit $X
@@ -1066,6 +1086,7 @@ jobs:
10661086
- zts: ${{ !inputs.run_freebsd_zts && true || '*never*' }}
10671087
name: "FREEBSD_${{ matrix.zts && 'ZTS' || 'NTS' }}"
10681088
runs-on: ubuntu-latest
1089+
timeout-minutes: 50
10691090
steps:
10701091
- name: git checkout
10711092
uses: actions/checkout@v4
@@ -1076,3 +1097,4 @@ jobs:
10761097
with:
10771098
configurationParameters: >-
10781099
--${{ matrix.zts && 'enable' || 'disable' }}-zts
1100+
runExtraTests: true

0 commit comments

Comments
 (0)