1010 mutation :
1111 name : PHP ${{ matrix.php }}-${{ matrix.os }}
1212
13+ env :
14+ extensions : pdo, pdo_mysql, pdo_oci, pdo_pgsql, pdo_sqlsrv, oci8
15+
1316 runs-on : ${{ matrix.os }}
1417
1518 strategy :
@@ -20,14 +23,55 @@ jobs:
2023 php :
2124 - 7.4
2225
26+ services :
27+ mssql :
28+ image : mcr.microsoft.com/mssql/server:2017-latest
29+ env :
30+ SA_PASSWORD : YourStrong!Passw0rd
31+ ACCEPT_EULA : Y
32+ MSSQL_PID : Developer
33+ ports :
34+ - 1433:1433
35+ options : --name=mssql --health-cmd="/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'YourStrong!Passw0rd' -Q 'SELECT 1'" --health-interval=10s --health-timeout=5s --health-retries=3
36+
37+ mysql :
38+ image : mysql:latest
39+ env :
40+ MYSQL_ALLOW_EMPTY_PASSWORD : true
41+ MYSQL_PASSWORD : ' '
42+ MYSQL_DATABASE : yiitest
43+ ports :
44+ - 3306:3306
45+ options : --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
46+
47+ postgres :
48+ image : postgres:14
49+ env :
50+ POSTGRES_USER : scrutinizer
51+ POSTGRES_PASSWORD : scrutinizer
52+ POSTGRES_DB : scrutinizer
53+ ports :
54+ - 5432:5432
55+ options : --name=postgres --health-cmd="pg_isready" --health-interval=10s --health-timeout=5s --health-retries=3
56+
57+ oci :
58+ image : wnameless/oracle-xe-11g-r2:latest
59+ ports :
60+ - 1521:1521
61+ options : --name=oci
62+
2363 steps :
2464 - name : Checkout
2565 uses : actions/checkout@v2.3.4
2666
67+ - name : Create MS SQL Database
68+ run : docker exec -i mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'YourStrong!Passw0rd' -Q 'CREATE DATABASE yiitest'
69+
2770 - name : Install PHP
2871 uses : shivammathur/setup-php@v2
2972 with :
3073 php-version : " ${{ matrix.php }}"
74+ extensions : ${{ env.extensions }}
3175 ini-values : memory_limit=-1
3276 coverage : " pcov"
3377 tools : composer:v2
4690 - name : Update composer
4791 run : composer self-update
4892
49- - name : Install dependencies with composer
50- run : composer update --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi
93+ - name : Install db-mssql
94+ run : composer require yiisoft/db-mssql --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi
95+
96+ - name : Install db-mysql
97+ run : composer require yiisoft/db-mysql --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi
98+
99+ - name : Install db-oracle
100+ run : composer require yiisoft/db-oracle --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi
101+
102+ - name : Install db-pgsql
103+ run : composer require yiisoft/db-pgsql --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi
104+
105+ - name : Install db-sqlite
106+ run : composer require yiisoft/db-sqlite --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi
51107
52108 - name : Run infection
53109 run : |
0 commit comments