48
48
run : |
49
49
if [ "${{ matrix.type }}" != "Phpunit" ] && [ "${{ matrix.type }}" != "StaticAnalysis" ]; then composer remove --no-interaction --no-update phpunit/phpunit johnkary/phpunit-speedtrap --dev; fi
50
50
if [ "${{ matrix.type }}" != "CodingStyle" ]; then composer remove --no-interaction --no-update friendsofphp/php-cs-fixer --dev; fi
51
- if [ "${{ matrix.type }}" != "StaticAnalysis" ]; then composer remove --no-interaction --no-update phpstan/* ' behat/*' --dev; fi
51
+ if [ "${{ matrix.type }}" != "StaticAnalysis" ]; then composer remove --no-interaction --no-update phpstan/\* behat/\* --dev; fi
52
52
composer update --ansi --prefer-dist --no-interaction --no-progress --optimize-autoloader
53
53
54
54
- name : " Run tests: SQLite (only for Phpunit)"
@@ -133,11 +133,11 @@ jobs:
133
133
run : |
134
134
if [ "${{ matrix.type }}" != "Phpunit" ] && [ "${{ matrix.type }}" != "Phpunit Lowest" ] && [ "${{ matrix.type }}" != "Phpunit Burn" ]; then composer remove --no-interaction --no-update phpunit/phpunit johnkary/phpunit-speedtrap --dev; fi
135
135
if [ "${{ matrix.type }}" != "CodingStyle" ]; then composer remove --no-interaction --no-update friendsofphp/php-cs-fixer --dev; fi
136
- if [ "${{ matrix.type }}" != "StaticAnalysis" ]; then composer remove --no-interaction --no-update phpstan/* ' behat/*' --dev; fi
136
+ if [ "${{ matrix.type }}" != "StaticAnalysis" ]; then composer remove --no-interaction --no-update phpstan/\* behat/\* --dev; fi
137
137
if [ -n "$LOG_COVERAGE" ]; then composer require --no-interaction --no-update phpunit/phpcov; fi
138
138
composer update --ansi --prefer-dist --no-interaction --no-progress --optimize-autoloader
139
- if [ "${{ matrix.type }}" == "Phpunit Lowest" ]; then composer update --ansi --prefer-dist --prefer-lowest --prefer-stable --no-interaction --no-progress --optimize-autoloader; fi
140
- if [ "${{ matrix.type }}" == "Phpunit Burn" ]; then sed -i 's~ *public function runBare(): void~public function runBare(): void { gc_collect_cycles(); gc_collect_cycles(); $memDiffs = array_fill(0, '"$(if [ \"$GITHUB_EVENT_NAME\" == \"schedule\" ]; then echo 64; else echo 16; fi)"', 0); for ($i = -1; $i < count($memDiffs); ++$i) { $this->_runBare(); gc_collect_cycles(); gc_collect_cycles(); $mem = memory_get_usage(); if ($i !== -1) { $memDiffs[$i] = $mem - $memPrev; } $memPrev = $mem; rsort($memDiffs); if (array_sum($memDiffs) >= 4096 * 1024 || $memDiffs[2] > 0) { $this->onNotSuccessfulTest(new AssertionFailedError( "Memory leak detected! (" . implode(" + ", array_map(fn ($v) => number_format($v / 1024, 3, ".", " "), array_filter($memDiffs))) . " KB, " . ($i + 2) . " iterations)" )); } } } private function _runBare(): void~' vendor/phpunit/phpunit/src/Framework/TestCase.php && cat vendor/phpunit/phpunit/src/Framework/TestCase.php | grep '_runBare('; fi
139
+ if [ "${{ matrix.type }}" = "Phpunit Lowest" ]; then composer update --ansi --prefer-dist --prefer-lowest --prefer-stable --no-interaction --no-progress --optimize-autoloader; fi
140
+ if [ "${{ matrix.type }}" = "Phpunit Burn" ]; then sed -i 's~ *public function runBare(): void~public function runBare(): void { gc_collect_cycles(); gc_collect_cycles(); $memDiffs = array_fill(0, '"$(if [ \"$GITHUB_EVENT_NAME\" == \"schedule\" ]; then echo 64; else echo 16; fi)"', 0); for ($i = -1; $i < count($memDiffs); ++$i) { $this->_runBare(); gc_collect_cycles(); gc_collect_cycles(); $mem = memory_get_usage(); if ($i !== -1) { $memDiffs[$i] = $mem - $memPrev; } $memPrev = $mem; rsort($memDiffs); if (array_sum($memDiffs) >= 4096 * 1024 || $memDiffs[2] > 0) { $this->onNotSuccessfulTest(new AssertionFailedError( "Memory leak detected! (" . implode(" + ", array_map(fn ($v) => number_format($v / 1024, 3, ".", " "), array_filter($memDiffs))) . " KB, " . ($i + 2) . " iterations)" )); } } } private function _runBare(): void~' vendor/phpunit/phpunit/src/Framework/TestCase.php && cat vendor/phpunit/phpunit/src/Framework/TestCase.php | grep '_runBare('; fi
141
141
142
142
- name : Init
143
143
run : |
@@ -158,7 +158,7 @@ jobs:
158
158
DB_USER : atk4_test_user
159
159
DB_PASSWORD : atk4_pass
160
160
run : |
161
- sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
161
+ sed -E "s~(\\\$db = new.+Persistence\\\\ Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
162
162
php demos/_demo-data/create-db.php
163
163
php -d opcache.enable_cli=1 vendor/bin/phpunit --exclude-group none $(if [ -n "$LOG_COVERAGE" ]; then echo --coverage-text; else echo --no-coverage; fi) -v
164
164
if [ -n "$LOG_COVERAGE" ]; then mv coverage/phpunit.cov coverage/phpunit-mysql.cov; fi
@@ -169,7 +169,7 @@ jobs:
169
169
DB_USER : atk4_test_user
170
170
DB_PASSWORD : atk4_pass
171
171
run : |
172
- sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
172
+ sed -E "s~(\\\$db = new.+Persistence\\\\ Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
173
173
php demos/_demo-data/create-db.php
174
174
php -d opcache.enable_cli=1 vendor/bin/phpunit --exclude-group none $(if [ -n "$LOG_COVERAGE" ]; then echo --coverage-text; else echo --no-coverage; fi) -v
175
175
if [ -n "$LOG_COVERAGE" ]; then mv coverage/phpunit.cov coverage/phpunit-mariadb.cov; fi
@@ -180,7 +180,7 @@ jobs:
180
180
DB_USER : atk4_test_user
181
181
DB_PASSWORD : atk4_pass
182
182
run : |
183
- sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
183
+ sed -E "s~(\\\$db = new.+Persistence\\\\ Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
184
184
php demos/_demo-data/create-db.php
185
185
php -d opcache.enable_cli=1 vendor/bin/phpunit --exclude-group none $(if [ -n "$LOG_COVERAGE" ]; then echo --coverage-text; else echo --no-coverage; fi) -v
186
186
if [ -n "$LOG_COVERAGE" ]; then mv coverage/phpunit.cov coverage/phpunit-postgres.cov; fi
@@ -191,19 +191,20 @@ jobs:
191
191
DB_USER : sa
192
192
DB_PASSWORD : atk4_pass
193
193
run : |
194
- sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
194
+ sed -E "s~(\\\$db = new.+Persistence\\\\ Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
195
195
php demos/_demo-data/create-db.php
196
196
php -d opcache.enable_cli=1 vendor/bin/phpunit --exclude-group none $(if [ -n "$LOG_COVERAGE" ]; then echo --coverage-text; else echo --no-coverage; fi) -v
197
197
if [ -n "$LOG_COVERAGE" ]; then mv coverage/phpunit.cov coverage/phpunit-mssql.cov; fi
198
198
199
199
- name : " Run tests: Oracle (only for coverage or cron)"
200
200
if : env.LOG_COVERAGE || github.event_name == 'schedule'
201
201
env :
202
- DB_DSN : " oci:dbname=oracle/xe;charset=UTF8 "
202
+ DB_DSN : " oci:dbname=oracle/xe"
203
203
DB_USER : system
204
204
DB_PASSWORD : oracle
205
+ NLS_LANG : AMERICAN_AMERICA.AL32UTF8
205
206
run : |
206
- sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
207
+ sed -E "s~(\\\$db = new.+Persistence\\\\ Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
207
208
php demos/_demo-data/create-db.php
208
209
php -d opcache.enable_cli=1 vendor/bin/phpunit --exclude-group none $(if [ -n "$LOG_COVERAGE" ]; then echo --coverage-text; else echo --no-coverage; fi) -v \
209
210
|| php -d opcache.enable_cli=1 vendor/bin/phpunit --exclude-group none $(if [ -n "$LOG_COVERAGE" ]; then echo --coverage-text; else echo --no-coverage; fi) -v
@@ -328,10 +329,10 @@ jobs:
328
329
run : |
329
330
composer remove --no-interaction --no-update phpunit/phpunit johnkary/phpunit-speedtrap --dev
330
331
composer remove --no-interaction --no-update friendsofphp/php-cs-fixer --dev
331
- composer remove --no-interaction --no-update phpstan/* --dev
332
+ composer remove --no-interaction --no-update phpstan/\ * --dev
332
333
if [ -n "$LOG_COVERAGE" ]; then composer require --no-interaction --no-update phpunit/phpcov; fi
333
334
composer update --ansi --prefer-dist --no-interaction --no-progress --optimize-autoloader
334
- if [ "${{ matrix.type }}" == "Chrome Lowest" ]; then composer update --ansi --prefer-dist --prefer-lowest --prefer-stable --no-interaction --no-progress --optimize-autoloader; fi
335
+ if [ "${{ matrix.type }}" = "Chrome Lowest" ]; then composer update --ansi --prefer-dist --prefer-lowest --prefer-stable --no-interaction --no-progress --optimize-autoloader; fi
335
336
336
337
- name : Init
337
338
run : |
@@ -348,8 +349,8 @@ jobs:
348
349
ci_wait_until '[ -e /tmp/.X11-unix/X99 ]'
349
350
su browser -c 'java -Dwebdriver.chrome.whitelistedIps=127.0.0.1 -jar /opt/selenium-server-standalone.jar -role standalone -host 127.0.0.1 -port 4444 -sessionTimeout 15 -browserTimeout 12 > /dev/null 2>&1 &'
350
351
ci_wait_until 'nc -w 1 127.0.0.1 4444'
351
- if [ "${{ matrix.type }}" == "Firefox" ]; then sed -i "s~chrome~firefox~" behat.yml.dist; fi
352
- if [ "${{ matrix.type }}" == "Chrome Slow" ]; then echo 'sleep(1);' >> demos/init-app.php; fi
352
+ if [ "${{ matrix.type }}" = "Firefox" ]; then sed -i "s~chrome~firefox~" behat.yml.dist; fi
353
+ if [ "${{ matrix.type }}" = "Chrome Slow" ]; then echo 'sleep(1);' >> demos/init-app.php; fi
353
354
354
355
- name : " Run tests: SQLite"
355
356
run : |
@@ -363,7 +364,7 @@ jobs:
363
364
DB_USER : atk4_test_user
364
365
DB_PASSWORD : atk4_pass
365
366
run : |
366
- sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
367
+ sed -E "s~(\\\$db = new.+Persistence\\\\ Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
367
368
php demos/_demo-data/create-db.php
368
369
vendor/bin/behat -vv --config behat.yml.dist
369
370
@@ -374,7 +375,7 @@ jobs:
374
375
DB_USER : atk4_test_user
375
376
DB_PASSWORD : atk4_pass
376
377
run : |
377
- sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
378
+ sed -E "s~(\\\$db = new.+Persistence\\\\ Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
378
379
php demos/_demo-data/create-db.php
379
380
vendor/bin/behat -vv --config behat.yml.dist
380
381
@@ -385,7 +386,7 @@ jobs:
385
386
DB_USER : atk4_test_user
386
387
DB_PASSWORD : atk4_pass
387
388
run : |
388
- sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
389
+ sed -E "s~(\\\$db = new.+Persistence\\\\ Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
389
390
php demos/_demo-data/create-db.php
390
391
vendor/bin/behat -vv --config behat.yml.dist
391
392
@@ -396,18 +397,19 @@ jobs:
396
397
DB_USER : sa
397
398
DB_PASSWORD : atk4_pass
398
399
run : |
399
- sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
400
+ sed -E "s~(\\\$db = new.+Persistence\\\\ Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
400
401
php demos/_demo-data/create-db.php
401
402
vendor/bin/behat -vv --config behat.yml.dist
402
403
403
404
- name : " Run tests: Oracle (only for coverage or cron)"
404
405
if : env.LOG_COVERAGE || github.event_name == 'schedule'
405
406
env :
406
- DB_DSN : " oci:dbname=oracle/xe;charset=UTF8 "
407
+ DB_DSN : " oci:dbname=oracle/xe"
407
408
DB_USER : system
408
409
DB_PASSWORD : oracle
410
+ NLS_LANG : AMERICAN_AMERICA.AL32UTF8
409
411
run : |
410
- sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
412
+ sed -E "s~(\\\$db = new.+Persistence\\\\ Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
411
413
php demos/_demo-data/create-db.php
412
414
vendor/bin/behat -vv --config behat.yml.dist \
413
415
|| vendor/bin/behat -vv --config behat.yml.dist
0 commit comments