Skip to content

Commit 6d6b9c2

Browse files
committed
ci: add test against sqlserver
1 parent 51e30bf commit 6d6b9c2

File tree

3 files changed

+99
-5
lines changed

3 files changed

+99
-5
lines changed

.github/workflows/testing-mssql.yml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
---
2+
3+
on: # yamllint disable-line rule:truthy
4+
pull_request:
5+
branches:
6+
- master
7+
push:
8+
branches:
9+
- master
10+
11+
name: 🧪 Testing (MSSQL - SQLServer)
12+
13+
env:
14+
DB_HOST: 127.0.0.1
15+
DB_PORT: 11433
16+
DB_USERNAME: SA
17+
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
18+
DB_CONNECTION: sqlserver
19+
DB_DATABASE: tempdb
20+
21+
jobs:
22+
test-sqlserver:
23+
timeout-minutes: 4
24+
runs-on: ${{ matrix.os }}
25+
concurrency:
26+
cancel-in-progress: true
27+
group: test-sqlserver-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ matrix.php-version }}-${{ matrix.dependencies }}
28+
strategy:
29+
fail-fast: true
30+
matrix:
31+
os:
32+
- 'ubuntu-latest'
33+
php-version:
34+
- '8.2'
35+
dependencies:
36+
- locked
37+
sqlserver-version:
38+
- '2022-latest'
39+
40+
services:
41+
sqlserver:
42+
image: mcr.microsoft.com/mssql/server:${{ matrix.sqlserver-version }}
43+
env:
44+
ACCEPT_EULA: 'Y'
45+
SA_PASSWORD: ${{ secrets.DB_PASSWORD }}
46+
options: >-
47+
--health-cmd "/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '${{ secrets.DB_PASSWORD }}' -l 30 -Q 'SELECT 1'"
48+
--health-interval 3s
49+
--health-timeout 1s
50+
--health-retries 10
51+
ports:
52+
- 11433:1433
53+
54+
steps:
55+
- name: 📦 Check out the codebase
56+
uses: actions/[email protected]
57+
58+
- name: 🛠️ Setup PHP
59+
uses: shivammathur/[email protected]
60+
with:
61+
php-version: ${{ matrix.php-version }}
62+
extensions: none, ctype, dom, json, mbstring, simplexml, tokenizer, xml, xmlwriter, pdo, curl, fileinfo, pdo_mysql, pdo_sqlsrv
63+
ini-values: error_reporting=E_ALL
64+
coverage: none
65+
66+
- name: 🛠️ Setup problem matchers
67+
run: |
68+
echo "::add-matcher::${{ runner.tool_cache }}/php.json"
69+
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
70+
71+
- name: 🤖 Validate composer.json and composer.lock
72+
run: composer validate --ansi --strict
73+
74+
- name: 🔍 Get composer cache directory
75+
uses: wayofdev/gh-actions/actions/composer/[email protected]
76+
77+
- name: ♻️ Restore cached dependencies installed with composer
78+
uses: actions/[email protected]
79+
with:
80+
path: ${{ env.COMPOSER_CACHE_DIR }}
81+
key: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}
82+
restore-keys: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-
83+
84+
- name: 🗑️ Remove PHP platform configuration
85+
if: "matrix.dependencies != 'locked'"
86+
run: composer config platform.php --ansi --unset
87+
88+
- name: 📥 Install "${{ matrix.dependencies }}" dependencies
89+
uses: wayofdev/gh-actions/actions/composer/[email protected]
90+
with:
91+
dependencies: ${{ matrix.dependencies }}
92+
93+
- name: 🧪 Run phpunit tests with Pest
94+
run: composer test

.github/workflows/testing-mysql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ env:
1414
DB_HOST: 127.0.0.1
1515
DB_PORT: 13306
1616
DB_USERNAME: cycle
17-
DB_PASSWORD: SSpaSS__1_123
17+
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
1818
DB_CONNECTION: mysql
1919
DB_DATABASE: default
2020

@@ -43,8 +43,8 @@ jobs:
4343
env:
4444
MYSQL_ROOT_HOST: '%'
4545
MYSQL_USER: 'cycle'
46-
MYSQL_PASSWORD: 'SSpaSS__1_123'
47-
MYSQL_ROOT_PASSWORD: 'SSpaSS__1_123'
46+
MYSQL_PASSWORD: ${{ secrets.DB_PASSWORD }}
47+
MYSQL_ROOT_PASSWORD: ${{ secrets.DB_PASSWORD }}
4848
MYSQL_DATABASE: 'default'
4949
options: >-
5050
--health-cmd="mysqladmin ping"

.github/workflows/testing-pgsql.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ env:
1414
DB_HOST: 127.0.0.1
1515
DB_PORT: 15432
1616
DB_USERNAME: cycle
17-
DB_PASSWORD: SSpaSS__1_123
17+
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
1818
DB_CONNECTION: pgsql
1919
DB_DATABASE: default
2020

@@ -43,7 +43,7 @@ jobs:
4343
env:
4444
POSTGRES_DB: 'default'
4545
POSTGRES_USER: 'cycle'
46-
POSTGRES_PASSWORD: 'SSpaSS__1_123'
46+
POSTGRES_PASSWORD: ${{ secrets.DB_PASSWORD }}
4747
options: >-
4848
--health-cmd pg_isready
4949
--health-interval 10s

0 commit comments

Comments
 (0)