@@ -3,61 +3,59 @@ name: run-tests
33on : [push, pull_request]
44
55jobs :
6- test :
7- runs-on : ubuntu-latest
8- strategy :
9- fail-fast : true
10- matrix :
11- php : [8.1, 8.0]
12- laravel : [9.*, 8.*]
13- dependency-version : [prefer-lowest, prefer-stable]
14- include :
15- - laravel : 9.*
16- testbench : 7.*
17- - laravel : 8.*
18- testbench : 6.*
19-
20- name : P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }}
21-
22- services :
23- mysql :
24- image : mysql:5.7
25- env :
26- MYSQL_ALLOW_EMPTY_PASSWORD : no
27- MYSQL_USER : protone_media_db_test
28- MYSQL_DATABASE : protone_media_db_test
29- MYSQL_PASSWORD : secret
30- MYSQL_ROOT_PASSWORD : secret
31- ports :
32- - 3306
33- options : --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
34-
35- steps :
36- - name : Checkout code
37- uses : actions/checkout@v2
38-
39- - name : Cache dependencies
40- uses : actions/cache@v2
41- with :
42- path : ~/.composer/cache/files
43- key : dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
44-
45- - name : Setup PHP
46- uses : shivammathur/setup-php@v2
47- with :
48- php-version : ${{ matrix.php }}
49- extensions : dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, mysql, mysqli, pdo_mysql
50- coverage : none
51-
52- - name : Install dependencies
53- run : |
54- composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
55- composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-suggest
56-
57- - name : Execute tests
58- run : vendor/bin/phpunit
59- env :
60- DB_DATABASE : protone_media_db_test
61- DB_USERNAME : protone_media_db_test
62- DB_PASSWORD : secret
63- DB_PORT : ${{ job.services.mysql.ports[3306] }}
6+ test :
7+ runs-on : ubuntu-latest
8+ strategy :
9+ fail-fast : true
10+ matrix :
11+ php : [8.2, 8.1, 8.0]
12+ laravel : [9.*]
13+ dependency-version : [prefer-lowest, prefer-stable]
14+ include :
15+ - laravel : 9.*
16+ testbench : 7.*
17+
18+ name : P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }}
19+
20+ services :
21+ mysql :
22+ image : mysql:8.0
23+ env :
24+ MYSQL_ALLOW_EMPTY_PASSWORD : no
25+ MYSQL_USER : protone_media_db_test
26+ MYSQL_DATABASE : protone_media_db_test
27+ MYSQL_PASSWORD : secret
28+ MYSQL_ROOT_PASSWORD : secret
29+ ports :
30+ - 3306
31+ options : --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
32+
33+ steps :
34+ - name : Checkout code
35+ uses : actions/checkout@v2
36+
37+ - name : Cache dependencies
38+ uses : actions/cache@v2
39+ with :
40+ path : ~/.composer/cache/files
41+ key : dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
42+
43+ - name : Setup PHP
44+ uses : shivammathur/setup-php@v2
45+ with :
46+ php-version : ${{ matrix.php }}
47+ extensions : dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, mysql, mysqli, pdo_mysql
48+ coverage : none
49+
50+ - name : Install dependencies
51+ run : |
52+ composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
53+ composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-suggest
54+
55+ - name : Execute tests
56+ run : vendor/bin/phpunit
57+ env :
58+ DB_DATABASE : protone_media_db_test
59+ DB_USERNAME : protone_media_db_test
60+ DB_PASSWORD : secret
61+ DB_PORT : ${{ job.services.mysql.ports[3306] }}
0 commit comments