@@ -11,61 +11,67 @@ jobs:
1111 strategy :
1212 fail-fast : false
1313 matrix :
14- driver :
14+ include :
1515 - name : BrowserKit (http client)
16- repo : https://github.com/minkphp/MinkBrowserKitDriver.git
16+ driverRepoUrl : https://github.com/minkphp/MinkBrowserKitDriver.git
1717 php : 7.2
18- test : ./vendor/bin/phpunit --colors=always --testdox --configuration ./phpunit.http_client.xml
18+ testCmd : ./vendor/bin/phpunit --colors=always --testdox --configuration ./phpunit.http_client.xml
1919
2020 - name : BrowserKit (http kernel)
21- repo : https://github.com/minkphp/MinkBrowserKitDriver.git
21+ driverRepoUrl : https://github.com/minkphp/MinkBrowserKitDriver.git
2222 php : 7.2
23- test : ./vendor/bin/phpunit --colors=always --testdox
23+ testCmd : ./vendor/bin/phpunit --colors=always --testdox
2424
2525 - name : Chrome
26- repo : https://gitlab.com/behat-chrome/chrome-mink-driver.git
26+ driverRepoUrl : https://gitlab.com/behat-chrome/chrome-mink-driver.git
2727 php : 7.4
28- setup : |
29- docker run --net host --name chrome --volume /dev/shm:/dev/shm --shm-size 2g --volume ./vendor/mink/driver-testsuite/web-fixtures:/fixtures zenika/alpine-chrome:latest \
30- "--remote-debugging-address=0.0.0.0 --remote-debugging-port=9222 --disable-gpu --headless=new --disable-extensions --no-sandbox --use-gl=swiftshader --disable-software-rasterizer --disable-dev-shm-usage" &> ./logs/chrome.log &
28+ setUpCmd : |
29+ docker run --detach --quiet --net host --volume /dev/shm:/dev/shm --shm-size 2g --volume ./vendor/mink/driver-testsuite/web-fixtures:/fixtures \
30+ --name chrome zenika/alpine-chrome:latest \
31+ "--remote-debugging-address=0.0.0.0 --remote-debugging-port=9222 --disable-gpu --headless=new --disable-extensions --no-sandbox --use-gl=swiftshader --disable-software-rasterizer --disable-dev-shm-usage"
3132 sed "s#http://localhost/#http://localhost:8002/#" phpunit.xml.dist > phpunit.xml
3233 while ! nc -z localhost 9222 </dev/null; do echo Waiting for chrome to start...; sleep 1; done
33- test : |
34+ testCmd : |
3435 export WEB_FIXTURES_BROWSER=chrome
3536 export DRIVER_MACHINE_BASE_PATH=/fixtures/
3637 ./vendor/bin/phpunit --colors=always --testdox
38+ tearDownCmd : |
39+ docker logs chrome > ./logs/chrome.docker.log
3740
3841 - name : Selenium2
39- repo : https://github.com/minkphp/MinkSelenium2Driver.git
42+ driverRepoUrl : https://github.com/minkphp/MinkSelenium2Driver.git
4043 php : 7.2
41- setup : |
42- docker run --net host --name selenium --volume /dev/shm:/dev/shm --shm-size 2g --volume ./vendor/mink/driver-testsuite/web-fixtures:/fixtures selenium/standalone-firefox:2.53.1 &> ./logs/selenium.log &
44+ setUpCmd : |
45+ docker run --detach --quiet --net host --volume /dev/shm:/dev/shm --shm-size 2g --volume ./vendor/mink/driver-testsuite/web-fixtures:/fixtures \
46+ --name selenium selenium/standalone-firefox:2.53.1
4347 curl --retry 5 --retry-all-errors --retry-delay 1 --max-time 10 --head -X GET http://localhost:4444/wd/hub/status
44- test : |
48+ testCmd : |
4549 export WEB_FIXTURES_BROWSER=firefox
4650 export DRIVER_MACHINE_BASE_PATH=/fixtures/
4751 ./vendor/bin/phpunit --colors=always --testdox
52+ tearDownCmd : |
53+ docker logs selenium > ./logs/selenium.docker.log
4854
4955 - name : WebDriver-Classic
50- repo : https://github.com/minkphp/webdriver-classic-driver.git
56+ driverRepoUrl : https://github.com/minkphp/webdriver-classic-driver.git
5157 php : 7.4
52- setup : |
58+ setUpCmd : |
5359 export SELENIUM_IMAGE=selenium/standalone-firefox:4
5460 docker compose up --wait --quiet-pull
5561 curl --retry 5 --retry-all-errors --retry-delay 1 --max-time 10 --head -X GET http://localhost:4444/wd/hub/status
56- test : |
62+ testCmd : |
5763 export WEB_FIXTURES_BROWSER=firefox
5864 export DRIVER_MACHINE_BASE_PATH=/fixtures/
5965 ./vendor/bin/phpunit --colors=always --testdox
6066
6167 steps :
6268 - name : Set up workspace for driver repo
63- run : git clone ${{ matrix.driver.repo }} .
69+ run : git clone ${{ matrix.driverRepoUrl }} .
6470
6571 - uses : shivammathur/setup-php@v2
6672 with :
6773 coverage : none
68- php-version : ${{ matrix.driver. php }}
74+ php-version : ${{ matrix.php }}
6975
7076 - name : Install driver dependencies
7177 run : composer install --no-interaction --ansi --no-progress
@@ -76,19 +82,23 @@ jobs:
7682 with :
7783 path : ./vendor/mink/driver-testsuite
7884
79- - name : Set up test environment
85+ - name : Set up
8086 run : |
8187 mkdir ./logs
8288 ./vendor/bin/mink-test-server &> ./logs/mink-test-server.log &
83- eval "${{ matrix.driver.setup }}"
89+ eval "${{ matrix.setUpCmd }}"
8490 curl --retry 5 --retry-all-errors --retry-delay 1 --max-time 10 --head -X GET http://localhost:8002/
8591
8692 - name : Run tests
87- run : eval "${{ matrix.driver.test }}"
93+ run : eval "${{ matrix.testCmd }}"
94+
95+ - name : Tear down
96+ run : |
97+ eval "${{ matrix.tearDownCmd }}"
8898
8999 - name : Upload logs as artifact
90100 uses : actions/upload-artifact@v4
91101 if : always()
92102 with :
93- name : ${{ matrix.driver. name }}-logs
103+ name : ${{ matrix.name }}-logs
94104 path : ./logs
0 commit comments