[Feature] Customizable route path, supports for SQLite and some impro… #22
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |