@@ -17,113 +17,21 @@ jobs:
1717
1818 name : PHP ${{ matrix.php }} tests
1919
20- services :
21- mysql57 :
22- image : mysql:5.7
23- env :
24- MYSQL_DATABASE : dibi_test
25- MYSQL_ROOT_PASSWORD : root
26- ports :
27- - 3306:3306
28- options : >-
29- --health-cmd "mysqladmin ping -ppass"
30- --health-interval 10s
31- --health-start-period 10s
32- --health-timeout 5s
33- --health-retries 10
34-
35- mysql80 :
36- image : mysql:8.0
37- ports :
38- - 3307:3306
39- options : >-
40- --health-cmd="mysqladmin ping -ppass"
41- --health-interval=10s
42- --health-timeout=5s
43- --health-retries=5
44- -e MYSQL_ROOT_PASSWORD=root
45- -e MYSQL_DATABASE=dibi_test
46-
47- postgres96 :
48- image : postgres:9.6
49- env :
50- POSTGRES_USER : postgres
51- POSTGRES_PASSWORD : postgres
52- POSTGRES_DB : dibi_test
53- ports :
54- - 5432:5432
55- options : >-
56- --health-cmd pg_isready
57- --health-interval 10s
58- --health-timeout 5s
59- --health-retries 5
60-
61- postgres13 :
62- image : postgres:13
63- env :
64- POSTGRES_USER : postgres
65- POSTGRES_PASSWORD : postgres
66- POSTGRES_DB : dibi_test
67- ports :
68- - 5433:5432
69- options : >-
70- --health-cmd pg_isready
71- --health-interval 10s
72- --health-timeout 5s
73- --health-retries 5
20+ steps :
21+ - uses : actions/checkout@v6
7422
75- mssql :
76- image : mcr.microsoft.com/mssql/server:latest
77- env :
78- ACCEPT_EULA : Y
79- SA_PASSWORD : YourStrong!Passw0rd
80- MSSQL_PID : Developer
81- ports :
82- - 1433:1433
83- options : >-
84- --name=mssql
85- --health-cmd "/opt/mssql-tools18/bin/sqlcmd -S localhost -U SA -P 'YourStrong!Passw0rd' -Q 'SELECT 1' -N -C"
86- --health-interval 10s
87- --health-timeout 5s
88- --health-retries 5
23+ - name : Start database containers
24+ run : docker compose up -d --wait --quiet-pull
8925
90- steps :
91- - uses : actions/checkout@v4
9226 - uses : shivammathur/setup-php@v2
9327 with :
9428 php-version : ${{ matrix.php }}
9529 extensions : ${{ env.php-extensions }}
9630 tools : ${{ env.php-tools }}
9731 coverage : none
9832
99- - name : Install MS ODBC Driver for SQL Server
100- run : |
101- set -euxo pipefail
102-
103- sudo apt-get update
104- sudo apt-get install -y curl ca-certificates gnupg
105-
106- # Microsoft apt repo key (non-interactive; fixes "gpg: cannot open /dev/tty")
107- sudo install -d -m 0755 /etc/apt/keyrings
108- curl -fsSL https://packages.microsoft.com/keys/microsoft.asc \
109- | sudo gpg --dearmor --batch --yes --no-tty -o /etc/apt/keyrings/microsoft.gpg
110- sudo chmod a+r /etc/apt/keyrings/microsoft.gpg
111-
112- # Microsoft apt repo for current Ubuntu runner
113- . /etc/os-release
114- echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/microsoft.gpg] https://packages.microsoft.com/ubuntu/${VERSION_ID}/prod ${VERSION_CODENAME} main" \
115- | sudo tee /etc/apt/sources.list.d/microsoft-prod.list > /dev/null
116-
117- sudo apt-get update
118- sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
119-
120- # Create DB inside the MSSQL service container
121- docker exec -i mssql /opt/mssql-tools18/bin/sqlcmd \
122- -S localhost -U SA -P 'YourStrong!Passw0rd' \
123- -Q "CREATE DATABASE dibi_test" -N -C
124-
12533 - name : Create databases.ini
126- run : cp ./tests/databases.github .ini ./tests/databases.ini
34+ run : cp ./tests/databases.docker .ini ./tests/databases.ini
12735
12836 - run : composer install --no-progress --prefer-dist
12937 - run : composer tester -- -p phpdbg --coverage ./coverage.xml --coverage-src ./src
0 commit comments