Translated using Weblate (Chinese (Simplified))
[phpmyadmin.git] / .travis.yml
blobc926e548e9ca131ee7ea3eebfdad4fcb132a0cf0
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: xenial
8 language: php
10 services:
11   - mysql
13 php:
14   - "7.4snapshot"
15   - "7.3"
16   - "7.2"
17   - "7.1"
18   - "7.0"
19   - "5.6"
20   - "hhvm-3.12"
21   - "hhvm-3.18"
22   - "hhvm-3.21"
23   - "hhvm-3.24"
24   - "hhvm-3.27"
26 env:
27   matrix:
28     - CI_MODE=test
29   global:
30     - TESTSUITE_USER=root
31     - TESTSUITE_URL=http://127.0.0.1:8000
33 install:
34   - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then source ~/virtualenv/python3.6/bin/activate ; fi
35   - ./test/ci-install-$CI_MODE
36   - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then case "$TRAVIS_PHP_VERSION" in hhvm*) ;; *) phpenv config-add test/php-noprofile.ini ;; esac ; fi
38 before_script:
39   - export TESTSUITE_PASSWORD=`openssl rand -base64 30`
40   - export TESTSUITE_BROWSERSTACK_KEY=`echo cHlDcHJTNmZwZjVlaUR2RmV6VkU= | base64 --decode`
41   - export PATH=~/.composer/vendor/bin/:$PATH
42   - mysql -uroot -e "CREATE DATABASE IF NOT EXISTS test"
43   - mysql -uroot < sql/create_tables.sql
44   - mysql -uroot -e "SET PASSWORD = PASSWORD('$TESTSUITE_PASSWORD')"
45   - ./test/start-local-server
47 script:
48   - ./scripts/generate-mo --quiet
49   - if [ $CI_MODE = test ] ; then ./test/ci-lint ; fi
50   - ./test/ci-$CI_MODE
52 after_script:
53   - if [ -f vendor/bin/codacycoverage ] ; then php vendor/bin/codacycoverage clover || true ; fi
54   - if [ -f php.log ] ; then cat php.log ; fi
55   - if [ -f nginx-error.log ] ; then cat nginx-error.log ; fi
56   - if [ -f build/logs/phpunit.json ] ; then ./scripts/phpunit-top-tests build/logs/phpunit.json ; fi
57   - if [ -f config.inc.php ] ; then rm -rf config.inc.php; fi
59 after_success:
60   - bash <(curl -s https://codecov.io/bash)
62 matrix:
63   fast_finish: true
64   include:
65     - php: "7.1"
66       env: CI_MODE=selenium
67     - php: "7.0"
68       node_js: 10
69       env: CI_MODE=release
70     - php: "7.1"
71       env: CI_MODE=docs
72     - php: "7.1"
73       env: CI_MODE=apidocs
74     - os: osx
75       name: "PHP 7.3"
76       language: node_js
77       node_js: 10
78       env: CI_MODE=test
79       before_install:
80         - brew link --force gettext
81         - echo "memory_limit=-1" > /usr/local/etc/php/7.3/conf.d/50-travis.ini
82         - echo "pcre.jit=0" >> /usr/local/etc/php/7.3/conf.d/50-travis.ini
83         - mysql.server start
84       addons:
85         homebrew:
86           packages:
87             - php
88             - composer
89             - mariadb
90           update: true
91     - php: "5.5"
92       env: CI_MODE=test
93       dist: trusty
94     - php: "7.1"
95       env: CI_MODE=test DBASE=true
96       install:
97         - pecl channel-update pecl.php.net
98         - pecl install dbase-7.0.0beta1
99         - test/ci-install-test
100     - php: "5.6"
101       env: CI_MODE=test DBASE=true
102       install:
103         - pecl channel-update pecl.php.net
104         - pecl install dbase
105         - test/ci-install-test
107   allow_failures:
108     - php: "7.4snapshot"
109     - env: CI_MODE=test DBASE=true
111 cache:
112   pip: true
113   directories:
114     - $HOME/.composer/cache/
115     - $HOME/browserstack
116     - $HOME/runkit
117 # Install APT packages
118 #  - git > 2.5.1 needed for worktrees
119 #  - mysql server does not seem to be always present on Travis Trusty environment
120 addons:
121   apt:
122     packages:
123     - git
124     - nginx