53 lines
1.3 KiB
YAML
53 lines
1.3 KiB
YAML
name: PHPUnit
|
|
|
|
on:
|
|
push:
|
|
branches: [main, master]
|
|
pull_request:
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
|
|
services:
|
|
mysql:
|
|
image: mysql:8.4
|
|
env:
|
|
MYSQL_DATABASE: nat_as_test
|
|
MYSQL_USER: nat_as_test
|
|
MYSQL_PASSWORD: test-password
|
|
MYSQL_ROOT_PASSWORD: root-password
|
|
ports:
|
|
- 3306:3306
|
|
options: >-
|
|
--health-cmd="mysqladmin ping -h 127.0.0.1 -uroot -proot-password"
|
|
--health-interval=5s
|
|
--health-timeout=5s
|
|
--health-retries=20
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: '8.2'
|
|
extensions: json, openssl, pdo, pdo_mysql, pdo_sqlite, zip
|
|
coverage: pcov
|
|
tools: composer:v2
|
|
|
|
- name: Install dependencies
|
|
run: composer install --no-interaction --prefer-dist
|
|
|
|
- name: Run tests with coverage floor
|
|
run: php tests/check-coverage.php 40
|
|
|
|
- name: Run MySQL schema smoke test
|
|
env:
|
|
QDB_MYSQL_HOST: 127.0.0.1
|
|
QDB_MYSQL_PORT: 3306
|
|
QDB_MYSQL_DATABASE: nat_as_test
|
|
QDB_MYSQL_USER: nat_as_test
|
|
QDB_MYSQL_PASSWORD: test-password
|
|
run: php tests/mysql_smoke.php
|