forked from innocraft/plugin-CustomTranslations
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
126 lines (96 loc) · 4.81 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# do not edit this file manually, instead run the generate:travis-yml console command
language: php
php:
- 7.2
- 7.4
# - hhvm
services:
- redis-server
- mysql
addons:
apt:
packages:
- nginx
- coreutils
- lftp
git:
lfs_skip_smudge: true
# Separate different test suites
env:
global:
- PLUGIN_NAME=CustomTranslations
- PIWIK_ROOT_DIR=$TRAVIS_BUILD_DIR/matomo
# this variable controls the version of Matomo your tests will run against.
# by default it will run against the maximum support version read from plugin.json
# (PIWIK_TEST_TARGET=maximum_supported_piwik).
# You can also specify a specific Piwik version
# (PIWIK_TEST_TARGET=2.16.0-b1).
- PIWIK_TEST_TARGET=4.x-dev
- secure: "q0jWrwIWkHOTKWdqv+tr6OnA5ZfupPtGzaDAo6GFT6jwEa4hps9Bnf/YIzr/qrfQocy+o6bJzW7g7Fc9nNoxEQmndHSFoJQtsd4o8ZBpPmU0oG3tV525MbmGupum/pOZBIxtUZImYsmakkszVKCGEbr6ybSQwKhGe2Dm4eI+17tS5z7ingv03v/TgCaUPrh5zA4QO3/C5b8WmRcV78ulUj3h3pFu0GFwSzrTTkaOzU6BblNrgfTPYjWVCzsX1NdYEYOat2psko3i+4GiYP4Iw8zkr2q3BDgXSg97pQ8+N3UtqXTU4kfNoLjJ/aubmXmOsyCnG0Av0RLdisFyc+8ZgLHQ3wKaskiA4SDIxgq7a0VNXxzelpB+EJaUsjOBtlRQFSFI1yqxWGrIY1iajl46yi3skcmyj1mPH8mFBlsn1J0V6eAneBM9j74DFQtpSHkczahvDDpbE2bZfssY6w92F/LjOoXNbL7HZeaSHffm7Q5QnMOPLML3Bcx18hfyotJoVCQqarh8d99gRh6gZUOgY/IQxFLdiR37+c4IsdEoHvdNZ28FYUUYgXLpsZ0DOSmfrQjhF+b1Vyu1AaiUCX6JWdQHyWS7A6zjecphoTF86bz0Aj8CFRYuy0JX8hnAFMhcWEEd6J+K5kCZnFQLvPIRf93tNRRDX1sxzmsNQ7DIHZc="
matrix:
- TEST_SUITE=PluginTests MYSQL_ADAPTER=PDO_MYSQL TEST_AGAINST_PIWIK_BRANCH=$PIWIK_TEST_TARGET
- TEST_SUITE=PluginTests MYSQL_ADAPTER=PDO_MYSQL TEST_AGAINST_CORE=minimum_required_piwik
- TEST_SUITE=UITests MYSQL_ADAPTER=PDO_MYSQL TEST_AGAINST_PIWIK_BRANCH=$PIWIK_TEST_TARGET
matrix:
exclude:
# execute latest stable tests only w/ PHP 5.6
- php: 7.2
env: TEST_SUITE=PluginTests MYSQL_ADAPTER=PDO_MYSQL TEST_AGAINST_CORE=minimum_required_piwik
# execute UI tests only w/ PHP 5.6
- php: 7.4
env: TEST_SUITE=UITests MYSQL_ADAPTER=PDO_MYSQL TEST_AGAINST_PIWIK_BRANCH=$PIWIK_TEST_TARGET
dist: bionic
sudo: false
script: $PIWIK_ROOT_DIR/tests/travis/travis.sh
before_install:
install:
# move all contents of current repo (which contains the plugin) to a new directory
- mkdir $PLUGIN_NAME
- cp -R !($PLUGIN_NAME) $PLUGIN_NAME
- cp -R .git/ $PLUGIN_NAME/
- cp .travis.yml $PLUGIN_NAME
# checkout matomo in the current directory
- git clone -q https://github.com/matomo-org/matomo.git matomo
- cd matomo
- git fetch -q --all
- git submodule update
# make sure travis-scripts repo is latest for initial travis setup
- '[ -d ./tests/travis/.git ] || sh -c "rm -rf ./tests/travis && git clone https://github.com/matomo-org/travis-scripts.git ./tests/travis"'
- cd ./tests/travis ; git checkout master ; cd ../..
- export GENERATE_TRAVIS_YML_COMMAND="php ./tests/travis/generator/main.php generate:travis-yml --plugin=\"CustomTranslations\" --php-versions=\"7.2,7.4\" --distribution=\"bionic\" --sudo-false --verbose"
- '[[ "$TRAVIS_JOB_NUMBER" != *.1 || "$TRAVIS_PULL_REQUEST" != "false" ]] || ./tests/travis/autoupdate_travis_yml.sh'
- ./tests/travis/checkout_test_against_branch.sh
- '[ "$PLUGIN_NAME" == "" ] || [ ! -f ./tests/travis/check_plugin_compatible_with_piwik.php ] || php ./tests/travis/check_plugin_compatible_with_piwik.php "$PLUGIN_NAME"'
- ./tests/travis/configure_git.sh
# travis now complains about this failing 9 times out of 10, so removing it
#- travis_retry composer self-update
- '[ "$SKIP_COMPOSER_INSTALL" == "1" ] || travis_retry composer install'
# move plugin contents to folder in the plugins subdirectory
- rm -rf plugins/$PLUGIN_NAME
- mv ../$PLUGIN_NAME plugins
# clone dependent repos
- ./tests/travis/checkout_dependent_plugins.sh
before_script:
- phpenv config-rm xdebug.ini
# 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
- ./tests/travis/setup_mysql_tmpfs.sh
- ./tests/travis/prepare.sh
- ./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
after_script:
# change directory back to root travis dir
- cd $PIWIK_ROOT_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/matomo.log
- cat $PIWIK_ROOT_DIR/config/config.ini.php
# upload test artifacts (for debugging travis failures)
- ./tests/travis/upload_artifacts.sh
after_success:
- cd $PIWIK_ROOT_DIR