2020 with :
2121 php-version : ' 8.4'
2222 coverage : none
23- tools : composer
23+ tools : composer, phpstan, php-cs-fixer
2424
2525 - name : Composer cache
2626 uses : actions/cache@v4
@@ -33,12 +33,12 @@ jobs:
3333 run : composer install --no-interaction --prefer-dist --no-progress
3434
3535 - name : PHPStan (max level)
36- run : vendor/bin/ phpstan analyse --no-progress
36+ run : phpstan analyse --no-progress
3737
3838 - name : PHP-CS-Fixer (dry-run)
3939 run : |
4040 if [ -f .php-cs-fixer.php ]; then
41- vendor/bin/ php-cs-fixer fix --diff --dry-run
41+ php-cs-fixer fix --diff --dry-run
4242 else
4343 echo "No .php-cs-fixer.php; skipping."
4444 fi
@@ -80,14 +80,44 @@ jobs:
8080 uses : actions/setup-node@v4
8181 with :
8282 node-version : ' 22'
83- cache : ' npm'
8483
85- - name : Install Playwright (${{ matrix.browser }})
86- run : npx playwright install --with-deps ${{ matrix.browser }}
84+ - name : Cache Playwright browsers
85+ uses : actions/cache@v4
86+ with :
87+ path : ~/.cache/ms-playwright
88+ key : ms-playwright-${{ runner.os }}-${{ hashFiles('**/composer.lock') }}
89+ restore-keys : ms-playwright-${{ runner.os }}-
90+
91+ - name : Install Playwright (browsers + system deps)
92+ run : vendor/bin/playwright-install --with-deps
8793
8894 - name : Start Mink test server
8995 run : vendor/bin/mink-test-server > mink-test-server.log 2>&1 &
9096 shell : bash
9197
98+ - name : Wait for Mink test server to be ready
99+ run : |
100+ for i in {1..60}; do
101+ if curl -fsS http://127.0.0.1:8002/ >/dev/null; then
102+ echo "Mink test server is up"; exit 0;
103+ fi
104+ sleep 1;
105+ done
106+ echo "Mink test server did not become ready in time"; exit 1
107+
92108 - name : PHPUnit (Mink driver testsuite)
93109 run : vendor/bin/phpunit --colors=always
110+
111+ - name : Show Mink server log on failure
112+ if : failure()
113+ run : |
114+ echo "==== mink-test-server.log ===="
115+ tail -n +1 mink-test-server.log || true
116+
117+ - name : Upload Mink server log artifact
118+ if : failure()
119+ uses : actions/upload-artifact@v4
120+ with :
121+ name : mink-test-server-log-${{ matrix.php }}-${{ matrix.browser }}
122+ path : mink-test-server.log
123+ if-no-files-found : ignore
0 commit comments