name: PHPUnit Tests on: push jobs: phpunit: runs-on: ubuntu-latest services: pgsql_test: image: postgres:15 env: PGPASSWORD: 'root' POSTGRES_DB: 'laravel' POSTGRES_USER: 'root' POSTGRES_PASSWORD: 'root' ports: - 5432:5432 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - name: "Checkout code" uses: actions/checkout@v4 - name: "Setup PHP" uses: shivammathur/setup-php@v2 with: php-version: '8.3' extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv coverage: pcov - name: "Run composer install" run: composer install -n --prefer-dist - uses: actions/setup-node@v4 with: node-version: '20.x' - name: "Install dependencies" run: npm ci - name: "Build Frontend" run: npm run build - name: "Prepare Laravel Application" run: | cp .env.ci .env php artisan key:generate php artisan passport:keys - name: "Run PHPUnit in parallel" run: php artisan test --parallel --stop-on-failure --coverage-text --coverage-clover=coverage.xml - name: "Upload coverage reports to Codecov" uses: codecov/codecov-action@v4.3.0 with: token: ${{ secrets.CODECOV_TOKEN }} slug: solidtime-io/solidtime