@@ -62,23 +62,22 @@ jobs:
62
62
needs : access_check
63
63
strategy :
64
64
matrix :
65
+ db : [ 'mysql', 'sqlite' ]
65
66
payload :
66
- - { laravel: '11.*', php: '8.3', 'testbench': '9.*' }
67
- - { laravel: '11.*', php: '8.2', 'testbench': '9.*' }
68
- - { laravel: '10.*', php: '8.3', 'testbench': '8.*' }
69
- - { laravel: '10.*', php: '8.2', 'testbench': '8.*' }
70
- - { laravel: '10.*', php: '8.1', 'testbench': '8.*' }
67
+ - { laravel: '11.*', php: '8.3', 'testbench': '9.*', collision: '8.*' }
68
+ - { laravel: '11.*', php: '8.2', 'testbench': '9.*', collision: '8.*' }
69
+ - { laravel: '10.*', php: '8.3', 'testbench': '8.*', collision: '7.*' }
70
+ - { laravel: '10.*', php: '8.2', 'testbench': '8.*', collision: '7.*' }
71
+ - { laravel: '10.*', php: '8.1', 'testbench': '8.*', collision: '7.*' }
71
72
72
- name : PHP ${{ matrix.payload.php }} - Laravel ${{ matrix.payload.laravel }}
73
+ name : PHP ${{ matrix.payload.php }} - Laravel ${{ matrix.payload.laravel }} - DB ${{ matrix.db }}
73
74
74
75
services :
75
76
mysql :
76
77
image : mysql:8
77
78
env :
78
- MYSQL_USER : root
79
- MYSQL_ROOT_PASSWORD : root
80
- MYSQL_PASSWORD :
81
- MYSQL_ALLOW_EMPTY_PASSWORD : true
79
+ MYSQL_USER : test
80
+ MYSQL_PASSWORD : test
82
81
MYSQL_DATABASE : test
83
82
ports :
84
83
- 3307:3306
97
96
extensions : mbstring, dom, fileinfo, mysql
98
97
coverage : none
99
98
99
+ - name : Set up MySQL and PostgreSQL
100
+ run : |
101
+ MYSQL_PORT=3307 POSTGRES_PORT=5432 docker compose up ${{ matrix.db }} -d
102
+
100
103
- name : Install dependencies
101
104
run : |
102
- composer require "laravel/framework:${{ matrix.payload.laravel }}" "orchestra/testbench:${{ matrix.payload.testbench }}" --no-interaction --no-update
105
+ composer require "laravel/framework:${{ matrix.payload.laravel }}" "orchestra/testbench:${{ matrix.payload.testbench }}" "nunomaduro/collision:${{ matrix.payload.collision }}" --no-interaction --no-update
103
106
composer update --prefer-stable --prefer-dist --no-interaction
107
+ if [ "${{ matrix.db }}" = "mysql" ]; then
108
+ while ! mysqladmin ping --host=127.0.0.1 --user=test --port=3307 --password=test --silent; do
109
+ echo "Waiting for MySQL..."
110
+ sleep 1
111
+ done
112
+ else
113
+ echo "Not waiting for MySQL."
114
+ fi
104
115
- name : Execute tests
116
+ env :
117
+ DB_DRIVER : ${{ matrix.db }}
105
118
run : composer test
0 commit comments