52 lines
1.2 KiB
YAML
52 lines
1.2 KiB
YAML
name: Test & lint PHP stuff
|
|
|
|
on:
|
|
push:
|
|
branches: [ "main" ]
|
|
pull_request:
|
|
branches: [ "main" ]
|
|
|
|
jobs:
|
|
test-and-lint-php:
|
|
name: Test & lint PHP stuff
|
|
runs-on: ubuntu-20.04
|
|
services:
|
|
pgsql:
|
|
image: postgres:13
|
|
env:
|
|
POSTGRES_DB: toby
|
|
POSTGRES_USER: toby
|
|
POSTGRES_PASSWORD: password
|
|
PGPASSWORD: password
|
|
ports:
|
|
- 5432:5432
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Validate composer.json and composer.lock
|
|
run: composer validate
|
|
|
|
- name: Cache dependencies
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: vendor
|
|
key: ${{ runner.os }}-composer-dependencies-${{ hashFiles('composer.lock') }}
|
|
restore-keys: ${{ runner.os }}-composer-dependencies
|
|
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: 8.1
|
|
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, intl
|
|
coverage: none
|
|
|
|
- name: Install Composer dependencies
|
|
run: composer install --prefer-dist --no-interaction --no-suggest
|
|
|
|
- name: Run PHP linter
|
|
run: composer cs
|
|
|
|
- name: Execute tests
|
|
run: php artisan test --env=ci
|