Skip to content

Commit e518dc9

Browse files
committed
changed ci config for mysql, postgres and mssql
1 parent d42198c commit e518dc9

File tree

1 file changed

+27
-56
lines changed

1 file changed

+27
-56
lines changed

.github/workflows/ci.yml

Lines changed: 27 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ name: CI
22

33
on:
44
push:
5-
branches: [ feature-*, develop, dev-*, master ]
5+
branches: [feature-*, develop, dev-*, master]
66
tags:
77
- '*'
88
pull_request:
9-
branches: [ feature-*, develop, dev-*, master ]
9+
branches: [feature-*, develop, dev-*, master]
1010

1111
jobs:
1212
test:
@@ -61,7 +61,7 @@ jobs:
6161
--health-retries=3
6262
6363
postgres:
64-
image: postgres:15
64+
image: postgres:${{ matrix.db.version }}
6565
ports:
6666
- 5432:5432
6767
env:
@@ -75,7 +75,7 @@ jobs:
7575
--health-retries=3
7676
7777
mssql:
78-
image: mcr.microsoft.com/mssql/server:2022-latest
78+
image: mcr.microsoft.com/mssql/server:${{ matrix.db.version }}
7979
ports:
8080
- 1433:1433
8181
env:
@@ -92,66 +92,25 @@ jobs:
9292

9393
steps:
9494
- uses: actions/checkout@v4
95-
- name: Set DB_DISPLAY_NAME
96-
run: |
97-
if [ "${{ matrix.db_engine }}" = "mysql" ] && [ "${{ matrix.mysql }}" != "" ]; then
98-
echo "DB_DISPLAY_NAME=mysql ${{ matrix.mysql }}" >> $GITHUB_ENV
99-
else
100-
echo "DB_DISPLAY_NAME=${{ matrix.db_engine }}" >> $GITHUB_ENV
101-
fi
10295

10396
- name: Set DB env variables
10497
run: |
105-
if [ "${{ matrix.db_engine }}" = "mysql" ]; then
106-
echo "DB_HOST=127.0.0.1" >> $GITHUB_ENV
107-
echo "DB_PORT=3306" >> $GITHUB_ENV
108-
echo "DB_USERNAME=root" >> $GITHUB_ENV
109-
echo "DB_PASSWORD=" >> $GITHUB_ENV
110-
echo "DB_DATABASE=testing" >> $GITHUB_ENV
111-
elif [ "${{ matrix.db_engine }}" = "pgsql" ]; then
112-
echo "DB_HOST=127.0.0.1" >> $GITHUB_ENV
113-
echo "DB_PORT=5432" >> $GITHUB_ENV
114-
echo "DB_USERNAME=postgres" >> $GITHUB_ENV
115-
echo "DB_PASSWORD=" >> $GITHUB_ENV
116-
echo "DB_DATABASE=testing" >> $GITHUB_ENV
117-
elif [ "${{ matrix.db_engine }}" = "sqlsrv" ]; then
118-
echo "DB_HOST=127.0.0.1" >> $GITHUB_ENV
119-
echo "DB_PORT=1433" >> $GITHUB_ENV
120-
echo "DB_USERNAME=SA" >> $GITHUB_ENV
121-
echo "DB_PASSWORD=Passw0rd1234!" >> $GITHUB_ENV
122-
echo "DB_DATABASE=testing" >> $GITHUB_ENV
123-
fi
124-
125-
- name: Set up PHP
126-
uses: shivammathur/setup-php@v2
127-
with:
128-
php-version: ${{ matrix.php }}
129-
extensions: mbstring, pdo_mysql, pdo_pgsql, pdo_sqlsrv, zip, exif, intl, gd, bcmath, curl, dom, xdebug
130-
coverage: xdebug
131-
132-
- name: Debug info
133-
run: |
134-
php -v
135-
composer --version
136-
mysql --version || true
137-
psql --version || true
138-
/opt/mssql-tools/bin/sqlcmd -? || true
98+
echo "DB_ENGINE=${{ matrix.db.engine }}" >> $GITHUB_ENV
99+
echo "DB_VERSION=${{ matrix.db.version }}" >> $GITHUB_ENV
139100
140-
- name: Set DB env variables
141-
run: |
142-
if [[ "${{ matrix.db_engine }}" == "mysql" ]]; then
101+
if [[ "${{ matrix.db.engine }}" == "mysql" ]]; then
143102
echo "DB_HOST=127.0.0.1" >> $GITHUB_ENV
144103
echo "DB_PORT=3306" >> $GITHUB_ENV
145104
echo "DB_USERNAME=root" >> $GITHUB_ENV
146105
echo "DB_PASSWORD=" >> $GITHUB_ENV
147106
echo "DB_DATABASE=testing" >> $GITHUB_ENV
148-
elif [[ "${{ matrix.db_engine }}" == "pgsql" ]]; then
107+
elif [[ "${{ matrix.db.engine }}" == "pgsql" ]]; then
149108
echo "DB_HOST=127.0.0.1" >> $GITHUB_ENV
150109
echo "DB_PORT=5432" >> $GITHUB_ENV
151110
echo "DB_USERNAME=postgres" >> $GITHUB_ENV
152111
echo "DB_PASSWORD=" >> $GITHUB_ENV
153112
echo "DB_DATABASE=testing" >> $GITHUB_ENV
154-
elif [[ "${{ matrix.db_engine }}" == "sqlsrv" ]]; then
113+
elif [[ "${{ matrix.db.engine }}" == "sqlsrv" ]]; then
155114
echo "DB_HOST=127.0.0.1" >> $GITHUB_ENV
156115
echo "DB_PORT=1433" >> $GITHUB_ENV
157116
echo "DB_USERNAME=SA" >> $GITHUB_ENV
@@ -161,7 +120,7 @@ jobs:
161120
162121
- name: Wait for DB service
163122
run: |
164-
if [[ "${{ matrix.db_engine }}" == "mysql" ]]; then
123+
if [[ "${{ matrix.db.engine }}" == "mysql" ]]; then
165124
for i in {30..0}; do
166125
if mysqladmin ping -h 127.0.0.1 --silent; then
167126
echo "MySQL is ready"
@@ -170,7 +129,7 @@ jobs:
170129
echo "Waiting for MySQL ($i)..."
171130
sleep 1
172131
done
173-
elif [[ "${{ matrix.db_engine }}" == "pgsql" ]]; then
132+
elif [[ "${{ matrix.db.engine }}" == "pgsql" ]]; then
174133
for i in {30..0}; do
175134
if pg_isready -h 127.0.0.1 -U postgres; then
176135
echo "Postgres is ready"
@@ -179,12 +138,26 @@ jobs:
179138
echo "Waiting for Postgres ($i)..."
180139
sleep 1
181140
done
182-
elif [[ "${{ matrix.db_engine }}" == "sqlsrv" ]]; then
183-
# MSSQL health check not straightforward, wait fixed time
141+
elif [[ "${{ matrix.db.engine }}" == "sqlsrv" ]]; then
184142
echo "Waiting 30 seconds for MSSQL to start..."
185143
sleep 30
186144
fi
187145
146+
- name: Set up PHP
147+
uses: shivammathur/setup-php@v2
148+
with:
149+
php-version: ${{ matrix.php }}
150+
extensions: mbstring, pdo_mysql, pdo_pgsql, pdo_sqlsrv, zip, exif, intl, gd, bcmath, curl, dom, xdebug
151+
coverage: xdebug
152+
153+
- name: Debug info
154+
run: |
155+
php -v
156+
composer --version
157+
mysql --version || true
158+
psql --version || true
159+
/opt/mssql-tools/bin/sqlcmd -? || true
160+
188161
- name: Adjust Laravel/Testbench version per matrix
189162
run: |
190163
composer remove laravel/framework orchestra/testbench --no-update || true
@@ -210,5 +183,3 @@ jobs:
210183
with:
211184
token: ${{ secrets.QLTY_COVERAGE_TOKEN }}
212185
files: coverage/clover.xml
213-
214-

0 commit comments

Comments
 (0)