Skip to content

Commit 13ef06c

Browse files
committed
Merge branch 'master' into closure-in-cost-expr
2 parents 48c241c + 53df3ae commit 13ef06c

File tree

581 files changed

+7934
-3307
lines changed

Some content is hidden

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

581 files changed

+7934
-3307
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
/ext/random @TimWolla @zeriyoshi
4646
/ext/session @Girgias
4747
/ext/simplexml @nielsdos
48+
/ext/soap @nielsdos
4849
/ext/sockets @devnexen
4950
/ext/spl @Girgias
5051
/ext/standard @bukka

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,11 @@ runs:
3333
libsodium-dev:i386 \
3434
libsqlite3-dev:i386 \
3535
libssl-dev:i386 \
36-
libtidy-dev:i386 \
3736
libwebp-dev:i386 \
3837
libxml2-dev:i386 \
3938
libxml2-dev:i386 \
4039
libxpm-dev:i386 \
4140
libxslt1-dev:i386 \
42-
libzip-dev:i386 \
4341
locales \
4442
make \
4543
pkg-config:i386 \

.github/actions/brew/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ runs:
1313
1414
# Some packages exist on x86 but not arm, or vice versa.
1515
# Install them with reinstall to avoid warnings.
16-
brew reinstall autoconf webp tidy-html5 libzip libsodium icu4c
16+
brew reinstall autoconf webp tidy-html5 libzip libsodium icu4c curl
1717
brew install \
1818
bison \
1919
re2c

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ runs:
1010
run: |
1111
set -x
1212
13+
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/i386-linux-gnu/pkgconfig"
1314
./buildconf --force
1415
export CFLAGS="-m32 -msse2"
1516
export CXXFLAGS="-m32 -msse2"
@@ -33,12 +34,10 @@ runs:
3334
--with-freetype \
3435
--with-xpm \
3536
--enable-exif \
36-
--with-zip \
3737
--with-zlib \
3838
--enable-soap \
3939
--enable-xmlreader \
4040
--with-xsl \
41-
--with-tidy \
4241
--enable-sysvsem \
4342
--enable-sysvshm \
4443
--enable-shmop \

.github/nightly_matrix.php

Lines changed: 13 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<?php
22

33
const BRANCHES = [
4-
['name' => 'master', 'ref' => 'master', 'version' => ['major' => 8, 'minor' => 5]],
5-
['name' => 'PHP-8.4', 'ref' => 'PHP-8.4', 'version' => ['major' => 8, 'minor' => 4]],
6-
['name' => 'PHP-8.3', 'ref' => 'PHP-8.3', 'version' => ['major' => 8, 'minor' => 3]],
7-
['name' => 'PHP-8.2', 'ref' => 'PHP-8.2', 'version' => ['major' => 8, 'minor' => 2]],
8-
['name' => 'PHP-8.1', 'ref' => 'PHP-8.1', 'version' => ['major' => 8, 'minor' => 1]],
4+
['ref' => 'master', 'version' => [8, 5]],
5+
['ref' => 'PHP-8.4', 'version' => [8, 4]],
6+
['ref' => 'PHP-8.3', 'version' => [8, 3]],
7+
['ref' => 'PHP-8.2', 'version' => [8, 2]],
8+
['ref' => 'PHP-8.1', 'version' => [8, 1]],
99
];
1010

1111
function get_branch_commit_cache_file_path(): string {
@@ -36,142 +36,30 @@ function get_branches() {
3636
return $changed_branches;
3737
}
3838

39-
function get_matrix_include(array $branches) {
40-
$jobs = [];
41-
foreach ($branches as $branch) {
42-
$jobs[] = [
43-
'name' => '_ASAN_UBSAN',
44-
'branch' => $branch,
45-
'debug' => true,
46-
'zts' => true,
47-
'configuration_parameters' => "CFLAGS='-fsanitize=undefined,address -DZEND_TRACK_ARENA_ALLOC' LDFLAGS='-fsanitize=undefined,address'",
48-
'run_tests_parameters' => '--asan',
49-
'test_function_jit' => false,
50-
'asan' => true,
51-
];
52-
$jobs[] = [
53-
'name' => '_REPEAT',
54-
'branch' => $branch,
55-
'debug' => true,
56-
'zts' => false,
57-
'run_tests_parameters' => '--repeat 2',
58-
'timeout_minutes' => 360,
59-
'test_function_jit' => true,
60-
'asan' => false,
61-
];
62-
$jobs[] = [
63-
'name' => '_VARIATION',
64-
'branch' => $branch,
65-
'debug' => true,
66-
'zts' => true,
67-
'configuration_parameters' => "CFLAGS='-DZEND_RC_DEBUG=1 -DPROFITABILITY_CHECKS=0 -DZEND_VERIFY_FUNC_INFO=1 -DZEND_VERIFY_TYPE_INFERENCE'",
68-
'run_tests_parameters' => '-d zend_test.observer.enabled=1 -d zend_test.observer.show_output=0',
69-
'timeout_minutes' => 360,
70-
'test_function_jit' => true,
71-
'asan' => false,
72-
];
73-
}
74-
return $jobs;
75-
}
76-
77-
function get_windows_matrix_include(array $branches) {
78-
$jobs = [];
79-
foreach ($branches as $branch) {
80-
$jobs[] = [
81-
'branch' => $branch,
82-
'x64' => true,
83-
'zts' => true,
84-
'opcache' => true,
85-
];
86-
$jobs[] = [
87-
'branch' => $branch,
88-
'x64' => false,
89-
'zts' => false,
90-
'opcache' => false,
91-
];
92-
}
93-
return $jobs;
94-
}
95-
96-
function get_macos_matrix_include(array $branches) {
97-
$jobs = [];
98-
foreach ($branches as $branch) {
99-
foreach([true, false] as $debug) {
100-
foreach([true, false] as $zts) {
101-
$jobs[] = [
102-
'branch' => $branch,
103-
'debug' => $debug,
104-
'zts' => $zts,
105-
'os' => in_array($branch['name'], ['master', 'PHP-8.4'], true) ? '13' : '12',
106-
'arch' => 'X64',
107-
'test_jit' => true,
108-
];
109-
if ($branch['version']['minor'] >= 4 || $branch['version']['major'] >= 9) {
110-
$jobs[] = [
111-
'branch' => $branch,
112-
'debug' => $debug,
113-
'zts' => $zts,
114-
'os' => '14',
115-
'arch' => 'ARM64',
116-
'test_jit' => !$zts,
117-
];
118-
}
119-
}
120-
}
121-
}
122-
return $jobs;
123-
}
124-
125-
function get_alpine_matrix_include(array $branches) {
126-
$jobs = [];
127-
foreach ($branches as $branch) {
128-
if ([$branch['version']['major'], $branch['version']['minor']] < [8, 4]) {
129-
continue;
130-
}
131-
$jobs[] = [
132-
'name' => '_ASAN_UBSAN',
133-
'branch' => $branch,
134-
'debug' => true,
135-
'zts' => true,
136-
'asan' => true,
137-
'test_jit' => true,
138-
'configuration_parameters' => "CFLAGS='-fsanitize=undefined,address -fno-sanitize=function -DZEND_TRACK_ARENA_ALLOC' LDFLAGS='-fsanitize=undefined,address -fno-sanitize=function' CC=clang-17 CXX=clang++-17",
139-
'run_tests_parameters' => '--asan -x',
140-
];
141-
}
142-
return $jobs;
143-
}
144-
14539
function get_current_version(): array {
14640
$file = dirname(__DIR__) . '/main/php_version.h';
14741
$content = file_get_contents($file);
14842
preg_match('(^#define PHP_MAJOR_VERSION (?<num>\d+)$)m', $content, $matches);
149-
$major = $matches['num'];
43+
$major = (int) $matches['num'];
15044
preg_match('(^#define PHP_MINOR_VERSION (?<num>\d+)$)m', $content, $matches);
151-
$minor = $matches['num'];
152-
return ['major' => $major, 'minor' => $minor];
45+
$minor = (int) $matches['num'];
46+
return [$major, $minor];
15347
}
15448

15549
$trigger = $argv[1] ?? 'schedule';
15650
$attempt = (int) ($argv[2] ?? 1);
157-
$discard_cache = ($trigger === 'schedule' && $attempt !== 1) || $trigger === 'workflow_dispatch';
51+
$monday = date('w', time()) === '1';
52+
$discard_cache = $monday
53+
|| ($trigger === 'schedule' && $attempt !== 1)
54+
|| $trigger === 'workflow_dispatch';
15855
if ($discard_cache) {
15956
@unlink(get_branch_commit_cache_file_path());
16057
}
16158
$branch = $argv[3] ?? 'master';
162-
16359
$branches = $branch === 'master'
16460
? get_branches()
165-
: [['name' => strtoupper($branch), 'ref' => $branch, 'version' => get_current_version()]];
166-
$matrix_include = get_matrix_include($branches);
167-
$windows_matrix_include = get_windows_matrix_include($branches);
168-
$macos_matrix_include = get_macos_matrix_include($branches);
169-
$alpine_matrix_include = get_alpine_matrix_include($branches);
61+
: [['ref' => $branch, 'version' => get_current_version()]];
17062

17163
$f = fopen(getenv('GITHUB_OUTPUT'), 'a');
17264
fwrite($f, 'branches=' . json_encode($branches, JSON_UNESCAPED_SLASHES) . "\n");
173-
fwrite($f, 'matrix-include=' . json_encode($matrix_include, JSON_UNESCAPED_SLASHES) . "\n");
174-
fwrite($f, 'windows-matrix-include=' . json_encode($windows_matrix_include, JSON_UNESCAPED_SLASHES) . "\n");
175-
fwrite($f, 'macos-matrix-include=' . json_encode($macos_matrix_include, JSON_UNESCAPED_SLASHES) . "\n");
176-
fwrite($f, 'alpine-matrix-include=' . json_encode($alpine_matrix_include, JSON_UNESCAPED_SLASHES) . "\n");
17765
fclose($f);

.github/scripts/windows/test_task.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ mkdir %~d0\usr\local\share\enchant\hunspell
9999
if %errorlevel% neq 0 exit /b 3
100100
echo Fetching enchant dicts
101101
pushd %~d0\usr\local\share\enchant\hunspell
102-
powershell -Command wget http://windows.php.net/downloads/qa/appveyor/ext/enchant/dict.zip -OutFile dict.zip
102+
powershell -Command wget https://downloads.php.net/~windows/qa/appveyor/ext/enchant/dict.zip -OutFile dict.zip
103103
unzip dict.zip
104104
del /q dict.zip
105105
popd

0 commit comments

Comments
 (0)