@@ -14,32 +14,41 @@ jobs:
1414 timeout-minutes : 30
1515 strategy :
1616 matrix :
17- laravel : [ 10, 11, 12 ]
18- php : [ 8.2, 8.3, 8.4 ]
19- db_engine : [ mysql, pgsql, sqlsrv ]
20- mysql : [ 5.7, 8.0 ]
21- pgsql : [ 15 ]
22- sqlsrv : [ 2022-latest ]
23-
24- # Excludes (verhindern ungültige Kombinationen)
17+ laravel : [10, 11, 12]
18+ php : [8.2, 8.3, 8.4]
19+ db :
20+ - engine : mysql
21+ version : 5.7
22+ - engine : mysql
23+ version : 8.0
24+ - engine : pgsql
25+ version : 15
26+ - engine : sqlsrv
27+ version : 2022-latest
28+
2529 exclude :
26- # Beispiel-Excludes
2730 - laravel : 10
2831 php : 8.4
29- db_engine : mysql
30- mysql : 5.7
32+ db :
33+ engine : mysql
34+ version : 5.7
3135 - laravel : 10
3236 php : 8.4
33- db_engine : mysql
34- mysql : 8.0
37+ db :
38+ engine : mysql
39+ version : 8.0
3540 - laravel : 10
36- db_engine : sqlsrv
41+ db :
42+ engine : sqlsrv
43+ version : 2022-latest
3744 - laravel : 11
38- db_engine : sqlsrv
45+ db :
46+ engine : sqlsrv
47+ version : 2022-latest
3948
4049 services :
4150 mysql :
42- image : mysql:${{ matrix.mysql }}
51+ image : mysql:${{ matrix.db.version }}
4352 ports :
4453 - 3306:3306
4554 env :
@@ -79,22 +88,30 @@ jobs:
7988 --health-timeout=5s
8089 --health-retries=3
8190
82- name : Laravel ${{ matrix.laravel }} / PHP ${{ matrix.php }} / DB ${{ env.DB_DISPLAY_NAME }}
91+ name : Laravel ${{ matrix.laravel }} / PHP ${{ matrix.php }} / DB ${{ matrix.db.engine }} ${{ matrix.db.version }}
92+
93+ env :
94+ DB_HOST : 127.0.0.1
95+ DB_DATABASE : testing
96+ DB_PORT : ${{
97+ matrix.db.engine == 'mysql' ? '3306' :
98+ matrix.db.engine == 'pgsql' ? '5432' :
99+ matrix.db.engine == 'sqlsrv' ? '1433' : ' '
100+ }}
101+ DB_USERNAME : ${{
102+ matrix.db.engine == 'mysql' ? 'root' :
103+ matrix.db.engine == 'pgsql' ? 'postgres' :
104+ matrix.db.engine == 'sqlsrv' ? 'SA' : ' '
105+ }}
106+ DB_PASSWORD : ${{
107+ matrix.db.engine == 'mysql' ? '' :
108+ matrix.db.engine == 'pgsql' ? '' :
109+ matrix.db.engine == 'sqlsrv' ? 'Passw0rd1234!' : ' '
110+ }}
83111
84112 steps :
85113 - uses : actions/checkout@v4
86114
87- - name : Set DB_DISPLAY_NAME
88- run : |
89- if [[ "${{ matrix.db_engine }}" == "mysql" && "${{ matrix.mysql }}" != "" ]]; then
90- echo "DB_DISPLAY_NAME=${{ matrix.db_engine }} ${{ matrix.mysql }}" >> $GITHUB_ENV
91- else
92- echo "DB_DISPLAY_NAME=${{ matrix.db_engine }}" >> $GITHUB_ENV
93- fi
94-
95- - name : Show job name
96- run : echo "Running on Laravel ${{ matrix.laravel }} / PHP ${{ matrix.php }} / DB $DB_DISPLAY_NAME"
97-
98115 - name : Set up PHP
99116 uses : shivammathur/setup-php@v2
100117 with :
0 commit comments