language: php

php:
# - 5.3 # requires old distro, see below
  - 5.4
  - 5.5
  - 5.6
  - 7.0
  - 7.1
  - 7.2
  - hhvm # ignore errors, see below

# lock distro so new future defaults will not break the build
dist: trusty

matrix:
  include:
    - php: 5.3
      dist: precise
  allow_failures:
    - php: hhvm

sudo: false

install:
  - composer install --no-interaction

script:
  - vendor/bin/phpunit --coverage-text

language: php

php:
# - 5.3 # requires old distro, see below
  - 5.4
  - 5.5
  - 5.6
  - 7.0
  - 7.1
  - 7.2
  - 7.3
# - hhvm # requires legacy phpunit & ignore errors, see below

# lock distro so new future defaults will not break the build
dist: trusty

matrix:
  include:
    - php: 5.3
      dist: precise
    - php: hhvm
      install: composer require phpunit/phpunit:^5 --dev --no-interaction
  allow_failures:
    - php: hhvm

sudo: false

install:
  - composer install --no-interaction

script:
  - vendor/bin/phpunit --coverage-text

Test against PHP 7.3 and use legacy PHPUnit 5 on legacy HHVM
Test against PHP 7.3 and use legacy PHPUnit 5 on legacy HHVM