-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
executable file
·110 lines (110 loc) · 3.14 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
sudo: false
dist: trusty
language: php
cache:
directories:
- node_modules
- vendor
- $HOME/.composer/cache
matrix:
include:
- php: 7.1
env: WP_VERSION=master WP_MULTISITE=1 PHPLINT=1 COVERAGE=1
- php: 5.2
env: WP_VERSION=4.9 WP_MULTISITE=1 PHPLINT=1
dist: precise
- php: 7.1
env: WP_VERSION=4.9 WP_MULTISITE=1
- php: 7.0
env: WP_VERSION=4.9 WP_MULTISITE=1
- php: 5.6
env: WP_VERSION=4.9 WP_MULTISITE=1
- php: 5.6
env: WP_VERSION=4.9 WP_MULTISITE=1 WP_TRAVIS_OBJECT_CACHE=true
services: memcached
- php: 5.5
env: WP_VERSION=4.9 WP_MULTISITE=1
- php: 5.4
env: WP_VERSION=4.9 WP_MULTISITE=1
- php: 5.3
env: WP_VERSION=4.9 WP_MULTISITE=1
dist: precise
- php: nightly
env: WP_VERSION=4.9 WP_MULTISITE=1
allow_failures:
- php: nightly
env: WP_VERSION=4.9 WP_MULTISITE=1
before_script:
- PLUGIN_SLUG=$(basename $(pwd))
- export WP_DEVELOP_DIR=/tmp/wordpress/
- git clone --depth=50 --branch="$WP_VERSION" git://develop.git.wordpress.org/ /tmp/wordpress
- cd ..
- cp -r "$PLUGIN_SLUG" "/tmp/wordpress/src/wp-content/plugins/$PLUGIN_SLUG"
- cd /tmp/wordpress/
- cp wp-tests-config-sample.php wp-tests-config.php
- sed -i "s/youremptytestdbnamehere/wordpress_tests/" wp-tests-config.php
- sed -i "s/yourusernamehere/travis/" wp-tests-config.php
- sed -i "s/yourpasswordhere//" wp-tests-config.php
- mysql -e "CREATE DATABASE wordpress_tests;" -uroot
- cd "/tmp/wordpress/src/wp-content/plugins/$PLUGIN_SLUG"
- phpenv rehash
- |
if [[ "$WP_TRAVIS_OBJECT_CACHE" == "true" ]]; then
cp tests/phpunit/includes/object-cache.php /tmp/wordpress/src/wp-content/object-cache.php
echo "extension = memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
fi
- |
if [[ "$COVERAGE" != "1" ]]; then
stable='^[0-9\.]+$'
if [[ "$TRAVIS_PHP_VERSION" =~ $stable ]]; then
if [ -f ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini ]; then
phpenv config-rm xdebug.ini
fi
fi
else
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
./cc-test-reporter before-build
fi
- |
case "$TRAVIS_PHP_VERSION" in
5.6|5.5|5.4|5.3)
composer global require "phpunit/phpunit:^4"
;;
5.2)
;;
*)
composer selfupdate 1.0.0 --no-interaction
composer install --dev --no-interaction
;;
esac
script:
- |
if [[ "$PHPLINT" == "1" ]]; then
find -L . -path ./vendor -prune -o -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l
fi
- |
if [[ -z "$CODECLIMATE_REPO_TOKEN" ]]; then
COVERAGE="0"
fi
- |
case "$TRAVIS_PHP_VERSION" in
5.6|5.5|5.4|5.3|5.2)
phpunit -c phpunit.xml
;;
*)
if [[ "$COVERAGE" == "1" ]]; then
mkdir -p build/logs
vendor/bin/phpunit -c phpunit.xml --coverage-clover build/logs/clover.xml
else
vendor/bin/phpunit -c phpunit.xml
fi
;;
esac
after_script:
- |
if [[ "$COVERAGE" == "1" ]]; then
./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
fi
notifications:
email: false