.travis.yml
3.05 KB
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
# Travis CI Configuration File
# Tell Travis CI we're using PHP
language: php
dist: trusty
# Setup a global environment and overide as needed
env:
global:
- WP_TRAVISCI=phpunit
cache:
directories:
- $HOME/.composer/cache/files
- $HOME/.cache/yarn
# Test main supported versions of PHP against latest WP.
php:
- 5.6
- 7.0
- 7.1
- 7.2
- 7.3
env:
- WP_VERSION=latest WP_MULTISITE=0
# Next we define our matrix of additional build configurations to test against.
# The versions listed above will automatically create our first configuration,
# so it doesn't need to be re-defined below.
# Test WP trunk/master and two latest versions on minimum (5.2).
# Test WP latest two versions (4.5, 4.3) on most popular (5.5, 5.6).
# Test WP latest stable (4.5) on other supported PHP (5.3, 5.4).
# Test WP trunk/master on edge platforms (7.0, PHP nightly).
# WP_VERSION specifies the tag to use. The way these tests are configured to run
# requires at least WordPress 3.8. Specify "master" to test against SVN trunk.
matrix:
fast_finish: true
include:
- name: "Coding standard check"
php: 7.2
env: WP_VERSION=latest WP_MULTISITE=0 RUN_PHPCS=1
- name: "e2e tests"
php: 7.2
env: WP_VERSION=latest WP_MULTISITE=0 RUN_E2E=1
addons:
chrome: beta
apt:
packages:
- nginx
- name: "Unit tests code coverage"
php: 7.3
env: WP_VERSION=latest WP_MULTISITE=0 RUN_CODE_COVERAGE=1
- name: "Ultimate Member unit tests using WordPress nightly"
php: 7.3
env: WP_VERSION=nightly WP_MULTISITE=0
- php: 7.4snapshot
env: WP_VERSION=nightly WP_MULTISITE=0
allow_failures:
- php: 7.3
env: WP_VERSION=latest WP_MULTISITE=0 RUN_CODE_COVERAGE=1
- php: 7.4snapshot
env: WP_VERSION=nightly WP_MULTISITE=0
# whitelist branches for the "push" build check.
branches:
only:
- master
#- master-stable
#- /^branch-.*$/
#- feature/*
# Clones WordPress and configures our testing environment.
before_script:
- phpenv config-rm xdebug.ini
- export PLUGIN_SLUG=$(basename $(pwd))
- source ~/.nvm/nvm.sh
- export PATH="$HOME/.composer/vendor/bin:$PATH"
- |
if [[ ${TRAVIS_PHP_VERSION:0:2} == "7." ]]; then
composer global require "phpunit/phpunit=5.7.*"
elif [[ ${TRAVIS_PHP_VERSION:0:3} != "5.2" ]]; then
composer global require "phpunit/phpunit=4.8.*"
fi
- nvm install 6
- nvm use 6
- chmod +x ./tests/prepare-wordpress.sh
- chmod +x ./tests/run-travis.sh
- ./tests/prepare-wordpress.sh
## - mysql -e "set global wait_timeout = 3600;"
script:
- ./tests/run-travis.sh
sudo: false
# We need notifications for successful builds
notifications:
webhooks: https://ultimatemember.com/travis.php
email:
- heychampsupertramp@gmail.com
- nsinelnikov.work@gmail.com
# Encrypted Slack notification address.
#- secure: "WQdTdmYuifSW0hiJGXpQGKystMASC50QvxHlyUL5SM3h5GP8aCgeSsHuXvKPe3dT3Pffhk0dSHBfDtdWFwSHW/upURhg0vs4dm7+nxxvGZiTPzKcuAIjgvCoqWM7teyda/XqFGNSnv+XsT34uoyPhhFgd45T3oS+QQ3aNCruFak="