Skip to content

Fix PHPDoc annotations generation #4921

Fix PHPDoc annotations generation

Fix PHPDoc annotations generation #4921

Workflow file for this run

on:
- pull_request
- push
name: ci-mssql
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
tests:
name: PHP ${{ matrix.php }}-mssql-${{ matrix.mssql.version }}
env:
COVERAGE: ${{ matrix.php == '7.4' && '--coverage-clover=coverage.xml --colors=always' || '--colors=always' }}
EXTENSIONS: pdo, pdo_sqlsrv, ${{ matrix.php == '8.0' && 'xdebug-3.3.2' || 'xdebug' }}
XDEBUG_MODE: coverage
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: [7.4, 8.0, 8.1, 8.2, 8.3, 8.4]
mssql:
- version: server:2022-latest
mssql-tool: /opt/mssql-tools18/bin/sqlcmd -C
include:
- php: 8.0
mssql:
version: server:2019-latest
mssql-tool: /opt/mssql-tools18/bin/sqlcmd -C
services:
mssql:
image: mcr.microsoft.com/mssql/${{ matrix.mssql.version }}
env:
SA_PASSWORD: YourStrong!Passw0rd
ACCEPT_EULA: Y
MSSQL_PID: Developer
ports:
- 1433:1433
options: --name=mssql --health-cmd="${{ matrix.mssql.mssql-tool }} -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 ACCEPT_EULA=Y apt-get install -y msodbcsql18
- name: Checkout
uses: actions/checkout@v5
- name: Create MS SQL Database
run: docker exec -i mssql ${{ matrix.mssql.mssql-tool }} -S localhost -U SA -P 'YourStrong!Passw0rd' -Q 'CREATE DATABASE yiitest'
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
coverage: xdebug
extensions: ${{ env.EXTENSIONS }}
ini-values: date.timezone='UTC'
php-version: ${{ matrix.php }}
tools: pie
- 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 --group mssql ${{ env.COVERAGE }}
- name: Upload coverage to Codecov.
if: matrix.php == '7.4'
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml