1
0
Fork 0
mirror of https://codeberg.org/demostf/api.git synced 2026-06-03 18:04:08 +02:00
api/.github/workflows/ci.yaml
2021-02-16 17:39:12 +01:00

118 lines
2.9 KiB
YAML

on: [push, pull_request]
name: CI
jobs:
php-cs-fixer:
name: PHP-CS-Fixer
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@master
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
extensions: apcu
- name: PHP-CS-Fixer
uses: OskarStark/php-cs-fixer-ga@2.16.7
with:
args: --diff --dry-run --allow-risky yes --stop-on-violation --using-cache=no --path-mode=intersection
phpstan:
name: PHPStan Static Analysis
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
extensions: apcu
- name: Composer
run: composer install
- uses: php-actions/phpstan@v1
with:
error_format: github
args: --level 6 src
phpunit:
runs-on: ubuntu-20.04
name: Unit tests
services:
db:
image: demostf/db
env:
POSTGRES_PASSWORD: test
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
extensions: apcu
- name: Composer
run: composer install
- name: PHPUnit Tests
uses: docker://icewind1991/php-alpine-apcu
env:
DB_PORT: 5432
DB_TYPE: pgsql
DB_HOST: db
DB_USERNAME: postgres
DB_PASSWORD: test
DB_DATABASE: postgres
with:
entrypoint: php
args: ./vendor/bin/phpunit test
api:
runs-on: ubuntu-20.04
name: Integration tests
services:
db:
image: demostf/db
env:
POSTGRES_PASSWORD: test
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
ports:
- 5432:5432
api:
image: demostf/api
env:
BASE_HOST: localhost
DEMO_ROOT: /tmp
DEMO_HOST: localhost
DB_TYPE: pgsql
DB_HOST: db
DB_PORT: 5432
DB_DATABASE: postgres
DB_USERNAME: postgres
DB_PASSWORD: test
APP_ROOT: https://localhost
EDIT_SECRET: edit
volumes:
- src:/app
nginx:
image: demostf/api-nginx-test
ports:
- 80:80
steps:
- uses: actions/checkout@v2
- name: copy code
run: |
docker run -v src:/data --name helper busybox true
docker cp src helper:/data/
docker rm helper
- env:
DB_URL: postgres://postgres:test@db:5432/postgres
BASE_URL: http://nginx
EDIT_KEY: edit
uses: docker://demostf/api-test