.travis.yml 5.18 KB
Newer Older
Fabianx's avatar
Fabianx committed
1 2 3 4 5 6 7 8
# @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

jbekker's avatar
jbekker committed
9
language: php
Fabianx's avatar
Fabianx committed
10 11

sudo: false
jbekker's avatar
jbekker committed
12

13 14 15 16
dist: trusty

addons:
  chrome: stable
17

jbekker's avatar
jbekker committed
18
php:
19
  - 7.2
20 21
  - 7.1
  - 7.0
Fabianx's avatar
Fabianx committed
22 23

branches:
24 25
  except:
    - "7.x-1.x"
Fabianx's avatar
Fabianx committed
26 27 28 29 30 31

matrix:
  fast_finish: true

env:
  global:
32
    - PHANTOMJS2_VERSION="2.0.0"
Fabianx's avatar
Fabianx committed
33 34 35
    # add composer's global bin directory to the path
    # see: https://github.com/drush-ops/drush#install---composer
    - PATH="$PATH:$HOME/.composer/vendor/bin"
bojanz's avatar
bojanz committed
36 37
    # force composer 1.8+ to use a specific folder as home
    - export COMPOSER_HOME="$HOME/.composer/"
Fabianx's avatar
Fabianx committed
38 39 40 41 42 43 44 45 46 47 48 49

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

    # 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"
50
    - DRUPAL_TI_CORE_BRANCH="8.7.x"
Fabianx's avatar
Fabianx committed
51 52 53 54 55 56 57 58 59

    # 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.
60 61
    - DRUPAL_TI_SIMPLETEST_ARGS="--verbose --color --concurrency 25 --url $DRUPAL_TI_WEBSERVER_URL:$DRUPAL_TI_WEBSERVER_PORT --types Simpletest,PHPUnit-Unit,PHPUnit-Kernel,PHPUnit-Functional"
    - DRUPAL_TI_SIMPLETEST_JS_ARGS="--verbose --color --concurrency 5 --url $DRUPAL_TI_WEBSERVER_URL:$DRUPAL_TI_WEBSERVER_PORT --types PHPUnit-FunctionalJavascript"
Fabianx's avatar
Fabianx committed
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78

    # === 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 selenium that should be used.
    - DRUPAL_TI_BEHAT_SELENIUM_VERSION="2.44"
    # Set DRUPAL_TI_BEHAT_DRIVER to "selenium" to use "firefox" or "chrome" here.
    - DRUPAL_TI_BEHAT_DRIVER="phantomjs"
    - DRUPAL_TI_BEHAT_BROWSER="firefox"

    # PHPUnit specific commandline arguments.
79
    - DRUPAL_TI_PHPUNIT_ARGS=""
80 81 82 83
    # Specifying the phpunit-core src/ directory is useful when e.g. a vendor/
    # directory is present in the module directory, which phpunit would then
    # try to find tests in. This option is relative to $TRAVIS_BUILD_DIR.
    #- DRUPAL_TI_PHPUNIT_CORE_SRC_DIRECTORY="./tests/src"
Fabianx's avatar
Fabianx committed
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98

    # 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"
99
    - DRUPAL_TI_RUNNERS="simpletest"
Fabianx's avatar
Fabianx committed
100 101
    #- DRUPAL_TI_RUNNERS="behat"
    #- DRUPAL_TI_RUNNERS="phpunit simpletest behat"
jbekker's avatar
jbekker committed
102 103

mysql:
Fabianx's avatar
Fabianx committed
104
  database: drupal_travis_db
jbekker's avatar
jbekker committed
105 106 107
  username: root
  encoding: utf8

Fabianx's avatar
Fabianx committed
108
before_install:
109
  # Remove xdebug. We aren't generating code coverage, and it slows down Composer.
110
  - phpenv config-rm xdebug.ini || true
111 112
  # Add the oauth token to prevent GitHub timeouts.
  - git config --global github.accesstoken $GITHUB_OAUTH_TOKEN
113
  - composer global require "hirak/prestissimo:^0.3"
114
  - composer global require "lionsad/drupal_ti:dev-master#0d7c41abd1efa11726d7c908ae7a39bbeea905df"
115
  - composer global require "squizlabs/php_codesniffer:3.*"
Fabianx's avatar
Fabianx committed
116
  - drupal-ti before_install
117

Fabianx's avatar
Fabianx committed
118 119
install:
  - drupal-ti install
120 121 122 123 124 125 126 127 128 129

  # Install Chromedriver.
  - mkdir travis-chromedriver
  - CHROMEDRIVER_VERSION=$(wget http://chromedriver.storage.googleapis.com/LATEST_RELEASE -qO-)
  - wget http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip
  - unzip chromedriver_linux64.zip -d travis-chromedriver && rm -f chromedriver_linux64.zip
  - chmod a+x travis-chromedriver/chromedriver
  - export PATH=$PWD/travis-chromedriver:$PATH
  - chromedriver --version

130
  # Installed after Drush to prevent Composer conflicts around symfony/yaml.
131
  - composer global require "drupal/coder:8.3.*"
132
  - phpcs --config-set installed_paths $HOME/.composer/vendor/drupal/coder/coder_sniffer
133

jbekker's avatar
jbekker committed
134
before_script:
Fabianx's avatar
Fabianx committed
135 136
  - drupal-ti --include ".travis-before-script.sh"
  - drupal-ti before_script
jbekker's avatar
jbekker committed
137 138

script:
139 140 141 142 143
  - phpcs --standard=phpcs.xml src -s
  - phpcs --standard=phpcs.xml modules -s
  - phpcs --standard=phpcs.xml tests -s
  - phpcs --standard=phpcs.xml commerce.module

Fabianx's avatar
Fabianx committed
144
  - drupal-ti script
145
  - drupal-ti --include ".travis-simpletest-js.sh"
Fabianx's avatar
Fabianx committed
146 147 148 149 150 151

after_script:
  - drupal-ti after_script

notifications:
  email: false