language: php
php:
  - '7.0'
  - '7.1'
  - '7.2'
  - '7.3'
  - '7.4'
  - '8.0'

cache:
  directories:
    - vendor
    - $HOME/.composer

env:
  global:
    - DEFAULT_COMPOSER_FLAGS="--optimize-autoloader --no-interaction --no-progress"

before_script:
  - composer global show hirak/prestissimo -q || travis_retry composer global require $DEFAULT_COMPOSER_FLAGS hirak/prestissimo
  - composer install --no-interaction

stages:
  - Static Code Analysis
  - Test

jobs:
  include:
    - stage: Static Code Analysis
      php: 7.3
      script:
        - vendor/bin/php-cs-fixer fix -v --dry-run
  allow_failures:
    - php: nightly

script:
  - vendor/bin/phpunit