Translated using Weblate (Portuguese)
[phpmyadmin.git] / .travis.yml
blobea4f65e3938a7feac0684821058eea150ebd80dd
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.3"
95       env: CI_MODE=test
96       name: "Run tests using phpunit 8"
97       install:
98        - composer require --no-interaction php>=7.1
99        - composer remove phpunit/phpunit-selenium --dev --no-interaction
100        - composer remove phpunit/phpunit --dev --no-interaction
101        - composer require --dev --no-interaction phpunit/phpunit ^8
102        - rm -rf test/selenium
103        - "find test/ -type f -print0 | xargs -0 sed -i 's/function setUpBeforeClass()/function setUpBeforeClass(): void/g'"
104        - "find test/ -type f -print0 | xargs -0 sed -i 's/function setUp()/function setUp(): void/g'"
105        - "find test/ -type f -print0 | xargs -0 sed -i 's/function tearDown()/function tearDown(): void/g'"
106     - php: "7.1"
107       env: CI_MODE=test DBASE=true
108       install:
109         - pecl channel-update pecl.php.net
110         - pecl install dbase-7.0.0beta1
111         - test/ci-install-test
112     - php: "5.6"
113       env: CI_MODE=test DBASE=true
114       install:
115         - pecl channel-update pecl.php.net
116         - pecl install dbase
117         - test/ci-install-test
119   allow_failures:
120     - php: "7.4snapshot"
121     - env: CI_MODE=test DBASE=true
123 cache:
124   pip: true
125   directories:
126     - $HOME/.composer/cache/
127     - $HOME/browserstack
128     - $HOME/runkit
129 # Install APT packages
130 #  - git > 2.5.1 needed for worktrees
131 #  - mysql server does not seem to be always present on Travis Trusty environment
132 addons:
133   apt:
134     packages:
135     - git
136     - nginx