Merge remote-tracking branch 'origin/master'
[phpmyadmin.git] / .travis.yml
blob626bd06b83396f1ac94ac50640a9afba4798c629
1 # The Travis setup:
2 # - run testsuite for every PHP version
3 # - run lint for every PHP version
4 # - run Selenium for single PHP version
6 language: php
8 php:
9   - "7.0"
10   - "5.6"
11   - "5.5"
12   - hhvm
13   - nightly
15 sudo: false
17 env:
18   matrix:
19     - PHPUNIT_ARGS="--exclude-group selenium"
20   global:
21     - TESTSUITE_USER=root
22     - TESTSUITE_PASSWORD=root
23     - TESTSUITE_URL=http://127.0.0.1:8000
25 before_script:
26   - export PATH=~/.composer/vendor/bin/:$PATH
27   - mysql -uroot -e "CREATE DATABASE test"
28   - mysql -uroot < sql/create_tables.sql
29   - mysql -uroot -e "SET PASSWORD = PASSWORD('$TESTSUITE_PASSWORD')"
30   - composer install --dev --no-interaction
31   - if [ $TRAVIS_PHP_VERSION != "hhvm" ] ; then ./test/install-runkit ; fi
32   - if [ -n "$SELENIUM" ] ; then ./test/install-browserstack ; fi
33   - if [ -n "$SELENIUM" ] ; then php --server 127.0.0.1:8000 > php.log & fi
34   - if [ -n "$SELENIUM" ] ; then ~/browserstack/BrowserStackLocal -localIdentifier "travis-$TRAVIS_JOB_NUMBER" -onlyAutomate "$TESTSUITE_BROWSERSTACK_KEY" 127.0.0.1,8000,0 & fi
36 script:
37   - ant clean
38   - ant locales
39   - if [ -z "$SELENIUM" ] ; then ant lint ; fi
40   - set -e;
41     if [ $TRAVIS_PHP_VERSION == "hhvm" ] ; then
42     ant phpunit-hhvm ;
43     else
44     if [ ! -z "$SELENIUM" ] ; then
45     ant phpunit-nocoverage ;
46     else
47     ant phpunit ;
48     fi ;
49     fi
51 after_script:
52   - if [ -f vendor/bin/coveralls ] ; then php vendor/bin/coveralls -v || true ; fi
53   - if [ -f php.log ] ; then cat php.log ; fi
55 matrix:
56   allow_failures:
57     - php: 5.6
58       env: PHPUNIT_ARGS="--group selenium" SELENIUM="yes"
59     - php: hhvm
60       env: PHPUNIT_ARGS="--exclude-group selenium"
61     - php: nightly
62       env: PHPUNIT_ARGS="--exclude-group selenium"
63     - php: "7.0"
64       env: PHPUNIT_ARGS="--exclude-group selenium"
65   fast_finish: true
66   include:
67     - php: 5.6
68       env: PHPUNIT_ARGS="--group selenium" SELENIUM="yes"
69 cache:
70   directories:
71     - $HOME/.composer/cache/
72     - $HOME/browserstack
73     - $HOME/runkit
74 # trigger Buildtime Trend Service to parse Travis CI log
75 notifications:
76   webhooks:
77     - https://buildtimetrend.herokuapp.com/travis