@@ -38,9 +38,9 @@ permissions:
38
38
concurrency :
39
39
group : ${{ github.workflow }}-${{ github.event.pull_request.url || github.run_id }}
40
40
cancel-in-progress : true
41
- env :
42
- CC : ccache gcc
43
- CXX : ccache g++
41
+ # env:
42
+ # CC: ccache gcc
43
+ # CXX: ccache g++
44
44
jobs :
45
45
LINUX_X64 :
46
46
services :
@@ -148,6 +148,7 @@ jobs:
148
148
if : ${{ !matrix.asan }}
149
149
uses : ./.github/actions/verify-generated-files
150
150
MACOS_DEBUG_NTS :
151
+ if : false
151
152
runs-on : macos-13
152
153
steps :
153
154
- name : git checkout
@@ -180,6 +181,7 @@ jobs:
180
181
- name : Verify generated files are up to date
181
182
uses : ./.github/actions/verify-generated-files
182
183
WINDOWS :
184
+ if : false
183
185
name : WINDOWS_X64_ZTS
184
186
runs-on : windows-2019
185
187
env :
@@ -206,7 +208,8 @@ jobs:
206
208
run : .github/scripts/windows/test.bat
207
209
BENCHMARKING :
208
210
name : BENCHMARKING
209
- if : github.repository_owner == 'php' || github.event_name == 'pull_request'
211
+ # if: github.repository_owner == 'php' || github.event_name == 'pull_request'
212
+ if : false
210
213
runs-on : ubuntu-22.04
211
214
steps :
212
215
- name : git checkout
@@ -305,3 +308,155 @@ jobs:
305
308
name : profiles
306
309
path : ${{ github.workspace }}/benchmark/profiles
307
310
retention-days : 30
311
+ COMMUNITY :
312
+ strategy :
313
+ fail-fast : false
314
+ matrix :
315
+ type : ['verify_type_inference']
316
+ name : " COMMUNITY_verify_type_inference"
317
+ runs-on : ubuntu-22.04
318
+ env :
319
+ ASAN_OPTIONS : exitcode=139
320
+ UBSAN_OPTIONS : print_stacktrace=1
321
+ USE_ZEND_ALLOC : 0
322
+ USE_TRACKED_ALLOC : 1
323
+ steps :
324
+ - name : git checkout
325
+ uses : actions/checkout@v4
326
+ - name : apt
327
+ uses : ./.github/actions/apt-x64
328
+ - name : ./configure
329
+ uses : ./.github/actions/configure-x64
330
+ with :
331
+ # CFLAGS removes O2, so we have to add it again...
332
+ configurationParameters : >-
333
+ --enable-zts
334
+ CFLAGS="-DZEND_VERIFY_TYPE_INFERENCE -O2"
335
+ - name : make
336
+ run : make -j$(/usr/bin/nproc) >/dev/null
337
+ - name : make install
338
+ uses : ./.github/actions/install-linux
339
+ - name : Setup
340
+ run : |
341
+ sudo service mysql start
342
+ mysql -uroot -proot -e "CREATE DATABASE IF NOT EXISTS test"
343
+ mysql -uroot -proot -e "SET GLOBAL local_infile = true"
344
+ - name : Enable Opcache
345
+ run : |
346
+ echo memory_limit=-1 >> /etc/php.d/opcache.ini
347
+ echo zend_extension=opcache.so > /etc/php.d/opcache.ini
348
+ echo opcache.enable_cli=1 >> /etc/php.d/opcache.ini
349
+ echo opcache.enable=1 >> /etc/php.d/opcache.ini
350
+ echo opcache.memory_consumption=256M >> /etc/php.d/opcache.ini
351
+ echo opcache.file_update_protection=0 >> /etc/php.d/opcache.ini
352
+ echo opcache.interned_strings_buffer=64 >> /etc/php.d/opcache.ini
353
+ echo opcache.max_accelerated_files=100000 >> /etc/php.d/opcache.ini
354
+ - name : Test AMPHP
355
+ run : |
356
+ repositories="amp cache dns file http parallel parser pipeline process serialization socket sync websocket-client websocket-server"
357
+ X=0
358
+ for repository in $repositories; do
359
+ printf "Testing amp/%s\n" "$repository"
360
+ git clone "https://github.com/amphp/$repository.git" "amphp-$repository" --depth 1
361
+ cd "amphp-$repository"
362
+ git rev-parse HEAD
363
+ php /usr/bin/composer install --no-progress --ignore-platform-reqs
364
+ vendor/bin/phpunit || EXIT_CODE=$?
365
+ if [ ${EXIT_CODE:-0} -gt 128 ]; then
366
+ X=1;
367
+ fi
368
+ cd ..
369
+ done
370
+ exit $X
371
+ - name : Test Laravel
372
+ run : |
373
+ git clone https://github.com/laravel/framework.git --branch=master --depth=1
374
+ cd framework
375
+ git rev-parse HEAD
376
+ php /usr/bin/composer install --no-progress --ignore-platform-reqs
377
+ # Hack to disable a test that hangs
378
+ php -r '$c = file_get_contents("tests/Filesystem/FilesystemTest.php"); $c = str_replace("public function testSharedGet()", "#[\\PHPUnit\\Framework\\Attributes\\Group('"'"'skip'"'"')]\n public function testSharedGet()", $c); file_put_contents("tests/Filesystem/FilesystemTest.php", $c);'
379
+ php vendor/bin/phpunit --exclude-group skip || EXIT_CODE=$?
380
+ if [ ${EXIT_CODE:-0} -gt 128 ]; then
381
+ exit 1
382
+ fi
383
+ - name : Test ReactPHP
384
+ run : |
385
+ repositories="async cache child-process datagram dns event-loop promise promise-stream promise-timer stream"
386
+ X=0
387
+ for repository in $repositories; do
388
+ printf "Testing reactphp/%s\n" "$repository"
389
+ git clone "https://github.com/reactphp/$repository.git" "reactphp-$repository" --depth 1
390
+ cd "reactphp-$repository"
391
+ git rev-parse HEAD
392
+ php /usr/bin/composer install --no-progress --ignore-platform-reqs
393
+ vendor/bin/phpunit || EXIT_CODE=$?
394
+ if [ $[EXIT_CODE:-0} -gt 128 ]; then
395
+ X=1;
396
+ fi
397
+ cd ..
398
+ done
399
+ exit $X
400
+ - name : Test Revolt PHP
401
+ run : |
402
+ git clone https://github.com/revoltphp/event-loop.git --depth=1
403
+ cd event-loop
404
+ git rev-parse HEAD
405
+ php /usr/bin/composer install --no-progress --ignore-platform-reqs
406
+ vendor/bin/phpunit || EXIT_CODE=$?
407
+ if [ ${EXIT_CODE:-0} -gt 128 ]; then
408
+ exit 1
409
+ fi
410
+ - name : Test Symfony
411
+ run : |
412
+ git clone https://github.com/symfony/symfony.git --depth=1
413
+ cd symfony
414
+ git rev-parse HEAD
415
+ php /usr/bin/composer install --no-progress --ignore-platform-reqs
416
+ php ./phpunit install
417
+ # Test causes a heap-buffer-overflow but I cannot reproduce it locally...
418
+ 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);'
419
+ # Buggy FFI test in Symfony, see https://github.com/symfony/symfony/issues/47668
420
+ php -r '$c = file_get_contents("src/Symfony/Component/VarDumper/Tests/Caster/FFICasterTest.php"); $c = str_replace("*/\n public function testCastNonTrailingCharPointer()", "* @group skip\n */\n public function testCastNonTrailingCharPointer()", $c); file_put_contents("src/Symfony/Component/VarDumper/Tests/Caster/FFICasterTest.php", $c);'
421
+ export SYMFONY_DEPRECATIONS_HELPER=max[total]=999
422
+ X=0
423
+ for component in $(find src/Symfony -mindepth 2 -type f -name phpunit.xml.dist -printf '%h\n'); do
424
+ php ./phpunit $component --exclude-group tty,benchmark,intl-data,transient --exclude-group skip || EXIT_CODE=$?
425
+ if [ ${EXIT_CODE:-0} -gt 128 ]; then
426
+ X=1;
427
+ fi
428
+ done
429
+ exit $X
430
+ - name : Test PHPUnit
431
+ if : always()
432
+ run : |
433
+ git clone https://github.com/sebastianbergmann/phpunit.git --branch=main --depth=1
434
+ cd phpunit
435
+ git rev-parse HEAD
436
+ php /usr/bin/composer install --no-progress --ignore-platform-reqs
437
+ php ./phpunit || EXIT_CODE=$?
438
+ if [ ${EXIT_CODE:-0} -gt 128 ]; then
439
+ exit 1
440
+ fi
441
+ - name : ' Symfony Preloading'
442
+ run : |
443
+ php /usr/bin/composer create-project symfony/symfony-demo symfony_demo --no-progress --ignore-platform-reqs
444
+ cd symfony_demo
445
+ git rev-parse HEAD
446
+ sed -i 's/PHP_SAPI/"cli-server"/g' var/cache/dev/App_KernelDevDebugContainer.preload.php
447
+ php -d opcache.preload=var/cache/dev/App_KernelDevDebugContainer.preload.php public/index.php
448
+ - name : Test Wordpress
449
+ if : always()
450
+ run : |
451
+ git clone https://github.com/WordPress/wordpress-develop.git wordpress --depth=1
452
+ cd wordpress
453
+ git rev-parse HEAD
454
+ php /usr/bin/composer install --no-progress --ignore-platform-reqs
455
+ cp wp-tests-config-sample.php wp-tests-config.php
456
+ sed -i 's/youremptytestdbnamehere/test/g' wp-tests-config.php
457
+ sed -i 's/yourusernamehere/root/g' wp-tests-config.php
458
+ sed -i 's/yourpasswordhere/root/g' wp-tests-config.php
459
+ php vendor/bin/phpunit || EXIT_CODE=$?
460
+ if [ $EXIT_CODE -gt 128 ]; then
461
+ exit 1
462
+ fi
0 commit comments