language: php

services:
  - mysql

env:
  - SYMFONY_DEPRECATIONS_HELPER=disabled APP_ENV=test # Disable deprecation warnings

# Test for all supported PHP versions
php:
  #- '7.1'
  - '7.2'
  - '7.3'
  - '7.4'

install:
  - composer install
  # Compile assets
  - yarn install
  - yarn build
  - php bin/console --env test doctrine:database:create --if-not-exists -n
  - php bin/console --env test doctrine:migrations:migrate -n
  # Load fixtures (We have to disable foreign key checks or we get errors)
  - mysql -e "SET GLOBAL FOREIGN_KEY_CHECKS=0;"
  - php bin/console --env test doctrine:fixtures:load -n
  - mysql -e "SET GLOBAL FOREIGN_KEY_CHECKS=1;"

script:
  - php bin/phpunit --coverage-clover=coverage.xml
  # Perform some simple linting if everything is correct
  - ./bin/console lint:yaml config --parse-tags
  - ./bin/console lint:twig templates --env=prod
  - ./bin/console lint:xliff translations
  # Check if we dont use dependencies with known vulnerabilities
  - ./bin/console security:check
  # Check doctrine mapping
  - ./bin/console doctrine:schema:validate --skip-sync -vvv --no-interaction

after_success:
  - bash <(curl -s https://codecov.io/bash)

matrix:
  fast_finish: true