Newer
Older
# do not edit this file manually, instead run the generate:travis-yml console command
# if you are a Piwik core developer, to auto generate the .travis.yml:
# 1) edit this template file: https://github.com/piwik/travis-scripts/blob/master/generator/templates/travis.yml.twig
# 2) commit the updated submodule in `piwik/tests/travis/`
# when modifying this file, please consider whether your changes should apply to plugin .travis.yml files. if not, check whether the pluginName twig var is empty,
# otherwise your changes will be synced with every plugin that uses an auto generated .travis.yml
# also please test generation before committing by running ./console generate:travis-yml --core and ./console generate:travis-yml --plugin=CustomAlerts
# and making sure the .travis.yml files are changed correctly
Fabian Becker
a validé
language: php
php:
Fabian Becker
a validé
addons:
apt:
sources:
packages:
- python2.6
- python2.6-dev
- nginx
- realpath
- lftp
# PDO Mysql
Thomas Steur
a validé
- TEST_SUITE=SystemTests MYSQL_ADAPTER=PDO_MYSQL
Thomas Steur
a validé
- TEST_SUITE=IntegrationTests MYSQL_ADAPTER=PDO_MYSQL
- TEST_SUITE=UnitTests MYSQL_ADAPTER=PDO_MYSQL
# Javascript tests
- TEST_SUITE=JavascriptTests MYSQL_ADAPTER=PDO_MYSQL
- TEST_SUITE=AngularJSTests MYSQL_ADAPTER=PDO_MYSQL SKIP_COMPOSER_INSTALL=1
# All tests after another
- TEST_SUITE=AllTests MYSQL_ADAPTER=MYSQLI ALLTEST_EXTRA_OPTIONS="--run-first-half-only"
- TEST_SUITE=AllTests MYSQL_ADAPTER=MYSQLI ALLTEST_EXTRA_OPTIONS="--run-second-half-only"
- TEST_SUITE=UITests MYSQL_ADAPTER=PDO_MYSQL UITEST_EXTRA_OPTIONS="--run-first-half-only"
- TEST_SUITE=UITests MYSQL_ADAPTER=PDO_MYSQL UITEST_EXTRA_OPTIONS="--run-second-half-only"
Benaka Moorthi
a validé
global:
- PIWIK_ROOT_DIR=$TRAVIS_BUILD_DIR
- SKIP_INSTALL_MYSQL_56=1
Benaka Moorthi
a validé
- secure: "AMhZmPZx4SUcuZRBzGHlQPxzM4D8FvFB3UThDa52gbi9KIBrwcumzV2VGi6B\n5fgjwtB4XTE1In7qhY2HMikPWBmWYYOQ5QcMPJsqqHt4iMmahx8WKzne6NOk\nNpqAuje/fulNGeP2LJZi0nrub3Fh4VwXaOvpNloKNQN/2JuqPtM="
- secure: "CW73pDjcaabpSL7bWiWIQLydKmvLzA1gWNv/zK0VcAKezQtCAQbqpIY1+B56wOhkaCWa7P+xdd2gUWEtvvdRKEC0sZcgCdHD5pQx390e5PWCMQTFO+doAElI4w4DMATCbH890Wcw2rotiZcjlkPYY+urIpUlcRsl6mMtBVQuQ9c="
Benaka Moorthi
a validé
# Run test suites separately only on PHP 5.6 with PDO
- php: 5.5
Thomas Steur
a validé
env: TEST_SUITE=SystemTests MYSQL_ADAPTER=PDO_MYSQL
- php: 5.5
Thomas Steur
a validé
env: TEST_SUITE=IntegrationTests MYSQL_ADAPTER=PDO_MYSQL
- php: 5.5
Thomas Steur
a validé
env: TEST_SUITE=UnitTests MYSQL_ADAPTER=PDO_MYSQL
# run UI tests on PHP 5.5 only
- php: 5.6
env: TEST_SUITE=UITests MYSQL_ADAPTER=PDO_MYSQL UITEST_EXTRA_OPTIONS="--run-first-half-only"
- php: 5.6
env: TEST_SUITE=UITests MYSQL_ADAPTER=PDO_MYSQL UITEST_EXTRA_OPTIONS="--run-second-half-only"
# run all tests not on PHP 5.6 and run MySQLI tests only on 5.6
- php: 5.5
env: TEST_SUITE=AllTests MYSQL_ADAPTER=MYSQLI ALLTEST_EXTRA_OPTIONS="--run-first-half-only"
- php: 5.5
env: TEST_SUITE=AllTests MYSQL_ADAPTER=MYSQLI ALLTEST_EXTRA_OPTIONS="--run-second-half-only"
# Javascript tests need to run only on one PHP version
- php: 5.5
env: TEST_SUITE=JavascriptTests MYSQL_ADAPTER=PDO_MYSQL
# AngularJS tests need to run only on one PHP version
- php: 5.5
env: TEST_SUITE=AngularJSTests MYSQL_ADAPTER=PDO_MYSQL SKIP_COMPOSER_INSTALL=1
sudo: required
script: $PIWIK_ROOT_DIR/tests/travis/travis.sh
before_install:
- ./tests/travis/install_git_lfs.sh
install:
- git fetch -q
- export GENERATE_TRAVIS_YML_COMMAND="php ./tests/travis/generator/main.php generate:travis-yml --core --verbose"
- '[[ "$TRAVIS_JOB_NUMBER" != *.1 || "$TRAVIS_PULL_REQUEST" != "false" ]] || ./tests/travis/autoupdate_travis_yml.sh'
diosmosis
a validé
- ./tests/travis/configure_git.sh
diosmosis
a validé
# travis now complains about this failing 9 times out of 10, so removing it
#- travis_retry composer self-update
Matthieu Aubry
a validé
- '[ "$SKIP_COMPOSER_INSTALL" == "1" ] || travis_retry composer install'
diosmosis
a validé
before_script:
- if [[ "$TRAVIS_PHP_VERSION" != 7* ]]; then phpenv config-rm xdebug.ini; fi
# add always_populate_raw_post_data=-1 to php.ini
- echo "always_populate_raw_post_data=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
# disable opcache to avoid random failures on travis
- echo "opcache.enable=0" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
# make tmpfs and run MySQL on it for reasonnable performance
- sudo mkdir /mnt/ramdisk
- sudo mount -t tmpfs -o size=1024m tmpfs /mnt/ramdisk
- sudo stop mysql
- sudo mv /var/lib/mysql /mnt/ramdisk
- sudo ln -s /mnt/ramdisk/mysql /var/lib/mysql
- sudo start mysql
# print out mysql information
- mysql --version
- mysql -e "SELECT VERSION();"
# configure mysql
- mysql -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'" # Travis default
# try to avoid 'mysql has gone away' errors
- mysql -e "SET GLOBAL max_allowed_packet = 134209536;"
- mysql -e "SHOW VARIABLES LIKE 'max_allowed_packet';"
- mysql -e "SHOW VARIABLES LIKE 'wait_timeout';"
# - mysql -e "SHOW GLOBAL VARIABLES;"
# print out more debugging info
- ./tests/travis/setup_webserver.sh
- ./tests/travis/install_phantomjs.sh; export PATH=$PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH;
- cd tests/PHPUnit
Benaka Moorthi
a validé
after_script:
# change directory back to root travis dir
# output contents of files w/ debugging info to screen
- cat $PIWIK_ROOT_DIR/tests/travis/error.log
- cat $PIWIK_ROOT_DIR/tmp/php-fpm.log
- cat $PIWIK_ROOT_DIR/tmp/logs/piwik.log
- cat $PIWIK_ROOT_DIR/config/config.ini.php
# upload test artifacts (for debugging travis failures)
Benaka Moorthi
a validé
- ./tests/travis/upload_artifacts.sh
after_success:
- cd $PIWIK_ROOT_DIR
- ./tests/travis/generate_docs.sh
slack:
rooms:
- piwik:3HWhNh21qPfDACQXTrJOb0mW
Matthieu Aubry
a validé
on_success: :change
on_failure: :change
Fabian Becker
a validé
- "irc.freenode.org#piwik-dev"
template:
- "%{repository} (%{commit}) : %{message} %{foo} "