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