| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- name: databases
- on: [push, pull_request]
- jobs:
- mysql_57:
- runs-on: ubuntu-20.04
- services:
- mysql:
- image: mysql:5.7
- env:
- MYSQL_ALLOW_EMPTY_PASSWORD: yes
- MYSQL_DATABASE: forge
- ports:
- - 3306:3306
- options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
- strategy:
- fail-fast: true
- name: MySQL 5.7
- steps:
- - name: Checkout code
- uses: actions/checkout@v2
- - name: Setup PHP
- uses: shivammathur/setup-php@v2
- with:
- php-version: 8.1
- extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, pdo_mysql
- tools: composer:v2
- coverage: none
- - name: Install dependencies
- uses: nick-invision/retry@v1
- with:
- timeout_minutes: 5
- max_attempts: 5
- command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress
- - name: Execute tests
- run: vendor/bin/phpunit tests/Integration/Database --verbose
- env:
- DB_CONNECTION: mysql
- DB_USERNAME: root
- mysql_8:
- runs-on: ubuntu-20.04
- services:
- mysql:
- image: mysql:8
- env:
- MYSQL_ALLOW_EMPTY_PASSWORD: yes
- MYSQL_DATABASE: forge
- ports:
- - 3306:3306
- options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
- strategy:
- fail-fast: true
- name: MySQL 8.0
- steps:
- - name: Checkout code
- uses: actions/checkout@v2
- - name: Setup PHP
- uses: shivammathur/setup-php@v2
- with:
- php-version: 8.1
- extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, pdo_mysql
- tools: composer:v2
- coverage: none
- - name: Install dependencies
- uses: nick-invision/retry@v1
- with:
- timeout_minutes: 5
- max_attempts: 5
- command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress
- - name: Execute tests
- run: vendor/bin/phpunit tests/Integration/Database --verbose
- env:
- DB_CONNECTION: mysql
- DB_USERNAME: root
- mariadb:
- runs-on: ubuntu-20.04
- services:
- mysql:
- image: mariadb:10
- env:
- MYSQL_ALLOW_EMPTY_PASSWORD: yes
- MYSQL_DATABASE: forge
- ports:
- - 3306:3306
- options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
- strategy:
- fail-fast: true
- name: MariaDB 10
- steps:
- - name: Checkout code
- uses: actions/checkout@v2
- - name: Setup PHP
- uses: shivammathur/setup-php@v2
- with:
- php-version: 8.1
- extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, pdo_mysql
- tools: composer:v2
- coverage: none
- - name: Install dependencies
- uses: nick-invision/retry@v1
- with:
- timeout_minutes: 5
- max_attempts: 5
- command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress
- - name: Execute tests
- run: vendor/bin/phpunit tests/Integration/Database --verbose
- env:
- DB_CONNECTION: mysql
- DB_USERNAME: root
- pgsql:
- runs-on: ubuntu-20.04
- services:
- postgresql:
- image: postgres:14
- env:
- POSTGRES_DB: forge
- POSTGRES_USER: forge
- POSTGRES_PASSWORD: password
- ports:
- - 5432:5432
- options: --health-cmd=pg_isready --health-interval=10s --health-timeout=5s --health-retries=3
- strategy:
- fail-fast: true
- name: PostgreSQL 14
- steps:
- - name: Checkout code
- uses: actions/checkout@v2
- - name: Setup PHP
- uses: shivammathur/setup-php@v2
- with:
- php-version: 8.1
- extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, pdo_pgsql
- tools: composer:v2
- coverage: none
- - name: Install dependencies
- uses: nick-invision/retry@v1
- with:
- timeout_minutes: 5
- max_attempts: 5
- command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress
- - name: Execute tests
- run: vendor/bin/phpunit tests/Integration/Database --verbose
- env:
- DB_CONNECTION: pgsql
- DB_PASSWORD: password
- mssql:
- runs-on: ubuntu-20.04
- services:
- sqlsrv:
- image: mcr.microsoft.com/mssql/server:2019-latest
- env:
- ACCEPT_EULA: Y
- SA_PASSWORD: Forge123
- ports:
- - 1433:1433
- strategy:
- fail-fast: true
- name: SQL Server 2019
- steps:
- - name: Checkout code
- uses: actions/checkout@v2
- - name: Setup PHP
- uses: shivammathur/setup-php@v2
- with:
- php-version: 8.1
- extensions: dom, curl, libxml, mbstring, zip, pcntl, sqlsrv, pdo, pdo_sqlsrv
- tools: composer:v2
- coverage: none
- - name: Install dependencies
- uses: nick-invision/retry@v1
- with:
- timeout_minutes: 5
- max_attempts: 5
- command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress
- - name: Execute tests
- run: vendor/bin/phpunit tests/Integration/Database --verbose --exclude-group SkipMSSQL
- env:
- DB_CONNECTION: sqlsrv
- DB_DATABASE: master
- DB_USERNAME: SA
- DB_PASSWORD: Forge123
|