language: php
dist: trusty
sudo: false

php:
  - 7.0
  - 7.1
  - 7.2
  - 7.3

env:
  global:
    - SIMPLETEST_DB=sqlite://tmp/site.sqlite
    - SIMPLETEST_BASE_URL="http://127.0.0.1:8080"
  matrix:
    - RELEASE=stable COMPOSER_CHANNEL=stable
    - RELEASE=dev COMPOSER_CHANNEL=stable
    - RELEASE=stable COMPOSER_CHANNEL=snapshot

before_install:
  - echo 'sendmail_path = /bin/true' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
  - phpenv config-rm xdebug.ini
  - composer --verbose self-update --$COMPOSER_CHANNEL
  - composer --version

install:
  - composer --verbose validate
  - composer --verbose install

script:
  - if [[ $RELEASE = dev ]]; then composer --verbose remove --no-update drupal/console; fi;
  - if [[ $RELEASE = dev ]]; then composer --verbose require --no-update drupal/core:8.8.x-dev; composer --verbose require --no-update --dev drupal/core-dev:8.8.x-dev; fi;
  - if [[ $RELEASE = dev ]]; then composer --verbose update; fi;
  - ./vendor/bin/drush site-install --verbose --yes --db-url=sqlite://tmp/site.sqlite
  - ./vendor/bin/drush runserver $SIMPLETEST_BASE_URL &
  - until curl -s $SIMPLETEST_BASE_URL; do true; done > /dev/null
  # Run a single unit test to verfiy the testing setup.
  - ./vendor/bin/phpunit -c ./web/core ./web/core/modules/system/tests/src/Unit/SystemRequirementsTest.php
  - ./vendor/bin/drush
  - if [[ $RELEASE = stable ]]; then ./vendor/bin/drupal; fi;
