Skip to content
Merged
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 19 additions & 34 deletions .github/workflows/mssql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ on:
- '.github/workflows/mssql.yml'
- 'composer.json'
- 'phpunit.xml.dist'

push:
branches: ['master']
paths:
Expand All @@ -15,18 +14,16 @@ on:
- '.github/workflows/mssql.yml'
- 'composer.json'
- 'phpunit.xml.dist'

name: mssql

jobs:
tests:
permissions:
contents: read
pull-requests: write
name: PHP ${{ matrix.php }}-mssql-${{ matrix.mssql.server }}

env:
extensions: pdo, pdo_sqlsrv-5.12

runs-on: ${{ matrix.mssql.os || 'ubuntu-latest' }}

strategy:
matrix:
php:
Expand All @@ -35,23 +32,19 @@ jobs:
- 8.3
- 8.4
- 8.5

mssql:
- server: 2017-latest
odbc-version: 17
flag: ""
tools-path: "/opt/mssql-tools"
- server: 2019-latest
Comment thread
rossaddison marked this conversation as resolved.
Outdated
odbc-version: 18
flag: "-C"
tools-path: "/opt/mssql-tools18"
- server: 2022-latest
odbc-version: 18
flag: "-C"

include:
- php: 8.3
mssql:
server: 2017-latest
os: ubuntu-20.04
- php: 8.3
mssql:
server: 2019-latest
odbc-version: 18
flag: "-C"

tools-path: "/opt/mssql-tools18"
services:
mssql:
image: mcr.microsoft.com/mssql/server:${{ matrix.mssql.server }}
Expand All @@ -61,20 +54,18 @@ jobs:
MSSQL_PID: Developer
ports:
- 1433:1433
options: --name=mssql --health-cmd="/opt/mssql-tools${{ matrix.mssql.odbc-version }}/bin/sqlcmd ${{ matrix.mssql.flag }} -S localhost -U SA -P 'YourStrong!Passw0rd' -Q 'SELECT 1'" --health-interval=10s --health-timeout=5s --health-retries=3

options: --name=mssql --health-cmd="${{ matrix.mssql.tools-path }}/bin/sqlcmd ${{ matrix.mssql.flag }} -S localhost -U SA -P 'YourStrong!Passw0rd' -Q 'SELECT 1'" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Install ODBC driver.
run: |
sudo curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18

curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /usr/share/keyrings/microsoft-prod.gpg > /dev/null
curl -fsSL https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql{{ matrix.mssql.odbc-version }}
Comment thread
vjik marked this conversation as resolved.
Outdated
- name: Checkout
uses: actions/checkout@v3

uses: actions/checkout@v6
- name: Create MS SQL Database
run: docker exec -i mssql /opt/mssql-tools${{ matrix.mssql.odbc-version }}/bin/sqlcmd ${{ matrix.mssql.flag }} -S localhost -U SA -P 'YourStrong!Passw0rd' -Q 'CREATE DATABASE yiitest'

run: docker exec -i mssql ${{ matrix.mssql.tools-path }}/bin/sqlcmd ${{ matrix.mssql.flag }} -S localhost -U SA -P 'YourStrong!Passw0rd' -Q 'CREATE DATABASE yiitest'
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
Expand All @@ -83,24 +74,19 @@ jobs:
ini-values: date.timezone='UTC'
coverage: pcov
tools: composer:v2, pecl

- name: Determine composer cache directory
run: echo "COMPOSER_CACHE_DIR=$(composer config cache-dir)" >> $GITHUB_ENV

- name: Cache dependencies installed with composer
uses: actions/cache@v4
with:
path: ${{ env.COMPOSER_CACHE_DIR }}
key: php${{ matrix.php }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: |
php${{ matrix.php }}-composer-

- name: Update composer
run: composer self-update

- name: Install dependencies with composer
run: composer update --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi

- name: Run tests with phpunit
run: vendor/bin/phpunit --testsuite=Mssql --coverage-clover=coverage.xml --colors=always
env:
Expand All @@ -110,7 +96,6 @@ jobs:
CYCLE_MSSQL_PORT: 1433
CYCLE_MSSQL_USER: SA
CYCLE_MSSQL_PASSWORD: YourStrong!Passw0rd

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
Expand Down
Loading