Skip to content

Commit 4bbaec0

Browse files
committed
Testing
1 parent 36f18dd commit 4bbaec0

File tree

1 file changed

+159
-4
lines changed

1 file changed

+159
-4
lines changed

.github/workflows/push.yml

Lines changed: 159 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ permissions:
3838
concurrency:
3939
group: ${{ github.workflow }}-${{ github.event.pull_request.url || github.run_id }}
4040
cancel-in-progress: true
41-
env:
42-
CC: ccache gcc
43-
CXX: ccache g++
41+
# env:
42+
# CC: ccache gcc
43+
# CXX: ccache g++
4444
jobs:
4545
LINUX_X64:
4646
services:
@@ -148,6 +148,7 @@ jobs:
148148
if: ${{ !matrix.asan }}
149149
uses: ./.github/actions/verify-generated-files
150150
MACOS_DEBUG_NTS:
151+
if: false
151152
runs-on: macos-13
152153
steps:
153154
- name: git checkout
@@ -180,6 +181,7 @@ jobs:
180181
- name: Verify generated files are up to date
181182
uses: ./.github/actions/verify-generated-files
182183
WINDOWS:
184+
if: false
183185
name: WINDOWS_X64_ZTS
184186
runs-on: windows-2019
185187
env:
@@ -206,7 +208,8 @@ jobs:
206208
run: .github/scripts/windows/test.bat
207209
BENCHMARKING:
208210
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
210213
runs-on: ubuntu-22.04
211214
steps:
212215
- name: git checkout
@@ -305,3 +308,155 @@ jobs:
305308
name: profiles
306309
path: ${{ github.workspace }}/benchmark/profiles
307310
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

Comments
 (0)