# @file
# .travis.yml - Drupal for Travis CI Integration
#
# Template provided by https://github.com/LionsAd/drupal_ti.
#
# Based for simpletest upon:
#   https://github.com/sonnym/travis-ci-drupal-module-example

language: php
sudo: false

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

php:
  - 5.5
  - 5.6
  - 7

matrix:
  fast_finish: true

branches:
  only:
    - "8.x-1.x"

env:
  global:
    # add composer's global bin directory to the path
    # see: https://github.com/drush-ops/drush#install---composer
    - PATH="$PATH:$HOME/.composer/vendor/bin"

    # Configuration variables.
    - DRUPAL_TI_MODULE_NAME="dropzonejs"
    - DRUPAL_TI_SIMPLETEST_GROUP="dropzonejs"

    # Define runners and environment vars to include before and after the
    # main runners / environment vars.
    #- DRUPAL_TI_SCRIPT_DIR_BEFORE="./drupal_ti/before"
    #- DRUPAL_TI_SCRIPT_DIR_AFTER="./drupal_ti/after"

    # The environment to use, supported are: drupal-7, drupal-8
    - DRUPAL_TI_ENVIRONMENT="drupal-8"

    # Drupal specific variables.
    - DRUPAL_TI_DB="drupal_travis_db"
    - DRUPAL_TI_DB_URL="mysql://root:@127.0.0.1/drupal_travis_db"
    # Note: Do not add a trailing slash here.
    - DRUPAL_TI_WEBSERVER_URL="http://127.0.0.1"
    - DRUPAL_TI_WEBSERVER_PORT="8080"

    # Simpletest specific commandline arguments, the DRUPAL_TI_SIMPLETEST_GROUP is appended at the end.
    - DRUPAL_TI_SIMPLETEST_ARGS="--verbose --color --concurrency 4 --url $DRUPAL_TI_WEBSERVER_URL:$DRUPAL_TI_WEBSERVER_PORT"

    # === Behat specific variables.
    # This is relative to $TRAVIS_BUILD_DIR
    # - DRUPAL_TI_BEHAT_DIR="./tests/behat"
    # These arguments are passed to the bin/behat command.
    # - DRUPAL_TI_BEHAT_ARGS=""
    # Specify the filename of the behat.yml with the $DRUPAL_TI_DRUPAL_DIR variables.
    # - DRUPAL_TI_BEHAT_YML="behat.yml.dist"
    # This is used to setup Xvfb.
    # - DRUPAL_TI_BEHAT_SCREENSIZE_COLOR="1280x1024x16"
    # The version of seleniumthat should be used.
    # - DRUPAL_TI_BEHAT_SELENIUM_VERSION="2.44"

    # PHPUnit specific commandline arguments.
    - DRUPAL_TI_PHPUNIT_ARGS=""

    # Code coverage via coveralls.io
    - DRUPAL_TI_COVERAGE="satooshi/php-coveralls:0.6.*"
    # This needs to match your .coveralls.yml file.
    - DRUPAL_TI_COVERAGE_FILE="build/logs/clover.xml"

    # Debug options
    #- DRUPAL_TI_DEBUG="-x -v"
    # Set to "all" to output all files, set to e.g. "xvfb selenium" or "selenium",
    # etc. to only output those channels.
    #- DRUPAL_TI_DEBUG_FILE_OUTPUT="selenium xvfb webserver"

  matrix:
    # [[[ SELECT ANY OR MORE OPTIONS ]]]
    #- DRUPAL_TI_RUNNERS="phpunit"
    #- DRUPAL_TI_RUNNERS="simpletest"
    #- DRUPAL_TI_RUNNERS="behat"
    #- DRUPAL_TI_RUNNERS="phpunit simpletest behat"
    - DRUPAL_TI_RUNNERS="phpunit-core"

mysql:
  database: drupal_travis_db
  username: root
  encoding: utf8

before_install:
  - composer self-update
  - composer global require "lionsad/drupal_ti:1.*"
  - drupal-ti before_install
  # Codesniffer and Coder
  - composer global require squizlabs/php_codesniffer
  - composer global require drupal/coder
  - ln -s ~/.composer/vendor/drupal/coder/coder_sniffer/Drupal ~/.composer/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/

install:
  - drupal-ti install

before_script:
  - drupal-ti --include drupal_ti/.travis-before_script.sh
  - drupal-ti before_script

script:
  - drupal-ti --include drupal_ti/.travis-phpcs.sh
  - export SIMPLETEST_DB=mysql://root:@127.0.0.1/drupal_travis_db; drupal-ti script

after_script:
  - drupal-ti after_script
