Skip to content

[Feature] Customizable route path, supports for SQLite and some improvements #21

[Feature] Customizable route path, supports for SQLite and some improvements

[Feature] Customizable route path, supports for SQLite and some improvements #21

Workflow file for this run

name: Build & Test (MySQL & PgSQL)
on:
pull_request:
branches:
- 'main'
types: [ opened, synchronize, reopened, ready_for_review ]
push:
branches:
- 'main'
jobs:
build:
strategy:
fail-fast: false
matrix:
db: ['mysql', 'pgsql', 'sqlite']
runs-on: ubuntu-latest
services:
postgresql:
image: postgres:14
env:
POSTGRES_DB: inbox
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
options: --health-cmd=pg_isready --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- uses: actions/checkout@v3
if: success()
- name: Setup PHP with coverage driver
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
coverage: pcov
- name: Start MySQL Database
if: matrix.db == 'mysql'
run: |
sudo service mysql start
mysql -uroot -proot -e "CREATE DATABASE inbox;"
cp .github/envs/.env.testing.mysql .env.testing
- name: Start PGSQL Database
if: matrix.db == 'pgsql'
run: |
cp .github/envs/.env.testing.pgsql .env.testing
- name: Start SQLite Database
if: matrix.db == 'sqlite'
run: |
cp .github/envs/.env.testing.pgsql .env.testing
touch database.sqlite
DB_DATABASE="$(pwd)/database.sqlite"
echo $DB_DATABASE
- name: Bootstrap project
if: success()
run: |
php -v
composer install --no-interaction
- name: PHPUnit tests with coverage
if: success()
run: |
composer test-coverage
- name: upload coverage to codecov.io
if: success()
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml