Merge remote-tracking branch 'origin/master'
[phpmyadmin.git] / .travis.yml
blob83ae6fa19852f27abaf4fb97fe68fc5a743b9631
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   - "5.6"
10   - "5.5"
11   - "5.4"
12   - "5.3"
13   - hhvm
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 build/logs/clover.xml ] ; then php vendor/bin/ocular code-coverage:upload --format=php-clover build/logs/clover.xml || true ; fi
53   - if [ -f vendor/bin/coveralls ] ; then php vendor/bin/coveralls -v || true ; fi
54   - if [ -f php.log ] ; then cat php.log ; fi
56 matrix:
57   allow_failures:
58     - php: 5.6
59       env: PHPUNIT_ARGS="--group selenium" SELENIUM="yes"
60     - php: hhvm
61       env: PHPUNIT_ARGS="--exclude-group selenium"
62   fast_finish: true
63   include:
64     - php: 5.6
65       env: PHPUNIT_ARGS="--group selenium" SELENIUM="yes"
66 cache:
67   directories:
68     - $HOME/.composer/cache/
69     - $HOME/browserstack
70     - $HOME/runkit