Translated using Weblate (French)
[phpmyadmin.git] / .travis.yml
blob17a7625d06915091fe0bbad55a8b46744cfc1450
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 dist: trusty
8 language: php
10 services:
11   - mysql
13 php:
14   - "7.2"
15   - "7.1"
16   - "nightly"
18 sudo: required
20 env:
21   matrix:
22     - CI_MODE=test
23   global:
24     - TESTSUITE_USER=root
25     - TESTSUITE_URL=http://127.0.0.1:8000
27 install:
28   - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then source ~/virtualenv/python3.6/bin/activate ; fi
29   - ./test/ci-install-$CI_MODE
30   - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then case "$TRAVIS_PHP_VERSION" in hhvm*) ;; *) phpenv config-add test/php-noprofile.ini ;; esac ; fi
32 before_script:
33   - export TESTSUITE_PASSWORD=`openssl rand -base64 30`
34   - export TESTSUITE_BROWSERSTACK_KEY=`echo cHlDcHJTNmZwZjVlaUR2RmV6VkU= | base64 --decode`
35   - export PATH=~/.composer/vendor/bin/:$PATH
36   - mysql -uroot -e "CREATE DATABASE IF NOT EXISTS test"
37   - mysql -uroot < sql/create_tables.sql
38   - mysql -uroot -e "SET PASSWORD = PASSWORD('$TESTSUITE_PASSWORD')"
39   - ./test/start-local-server
41 script:
42   - ./scripts/generate-mo --quiet
43   - if [ $CI_MODE = test ] ; then ./test/ci-phplint ; fi
44   - ./test/ci-$CI_MODE
46 after_script:
47   - if [ -f vendor/bin/codacycoverage ] ; then php vendor/bin/codacycoverage clover || true ; fi
48   - if [ -f php.log ] ; then cat php.log ; fi
49   - if [ -f nginx-error.log ] ; then cat nginx-error.log ; fi
50   - if [ -f build/logs/phpunit.json ] ; then ./scripts/phpunit-top-tests build/logs/phpunit.json ; fi
51   - if [ -f config.inc.php ] ; then rm -rf config.inc.php; fi
53 after_success:
54   - bash <(curl -s https://codecov.io/bash)
56 matrix:
57   fast_finish: true
58   include:
59     - php: "7.1"
60       env: CI_MODE=selenium
61     - php: "7.1"
62       env: CI_MODE=lint
63     - php: "7.1"
64       env: CI_MODE=release
65     - php: "7.1"
66       env: CI_MODE=docs
67     - php: "7.1"
68       env: CI_MODE=apidocs
69     - php: "7.2"
70       env: CI_MODE=phpstan
71     - os: osx
72       language: generic
73       env: CI_MODE=test
74       before_install:
75         - brew update
76         - brew install gettext php72 mariadb
77         - brew link --force gettext
78         - sed -i -e 's/^memory_limit = .*/memory_limit = -1/' /usr/local/etc/php/7.2/php.ini
79         - curl https://getcomposer.org/installer | php
80         - ln -s "`pwd`/composer.phar" /usr/local/bin/composer
81         - mysql.server start
82   allow_failures:
83     - php: "nightly"
84       env: CI_MODE=test
85     - php: "7.2"
86       env: CI_MODE=phpstan
88 cache:
89   pip: true
90   directories:
91     - $HOME/.composer/cache/
92     - $HOME/browserstack
93 # Install APT packages
94 #  - git > 2.5.1 needed for worktrees
95 #  - mysql server does not seem to be always present on Travis Trusty environment
96 addons:
97   apt:
98     packages:
99     - git
100     - mysql-server-5.6
101     - nginx