2020-04-02 17:34:00 +00:00
|
|
|
version: ~> 1.0
|
|
|
|
|
2020-11-25 04:49:42 +00:00
|
|
|
# Specifies that Travis should create builds for master and release branches and also tags.
|
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- master
|
|
|
|
- /^\d+\.\d+(\.\d+)?(-\S*)?$/
|
|
|
|
- /^release\//
|
|
|
|
|
2014-09-01 06:03:52 +00:00
|
|
|
language: php
|
2020-11-25 04:49:42 +00:00
|
|
|
os:
|
|
|
|
- linux
|
2019-08-05 12:29:09 +00:00
|
|
|
dist: xenial
|
2014-09-01 06:03:52 +00:00
|
|
|
|
2017-08-22 10:02:32 +00:00
|
|
|
# Test main supported versions of PHP against latest WP.
|
2015-02-03 16:43:01 +00:00
|
|
|
php:
|
2020-11-25 04:49:42 +00:00
|
|
|
- "7.0"
|
|
|
|
- "7.1"
|
|
|
|
- "7.2"
|
|
|
|
- "7.3"
|
|
|
|
- "7.4"
|
2020-12-11 12:06:34 +00:00
|
|
|
- "8.0"
|
2015-02-03 16:43:01 +00:00
|
|
|
|
|
|
|
env:
|
2017-11-13 19:22:46 +00:00
|
|
|
- WP_VERSION=latest WP_MULTISITE=0
|
2015-02-03 16:43:01 +00:00
|
|
|
|
2020-04-07 00:07:33 +00:00
|
|
|
# Additional tests against stable PHP (min version is 7.0)
|
2017-11-13 17:53:42 +00:00
|
|
|
# and code coverage report.
|
2020-04-30 17:33:46 +00:00
|
|
|
jobs:
|
2020-04-30 20:26:20 +00:00
|
|
|
fast_finish: true
|
2014-09-01 06:03:52 +00:00
|
|
|
include:
|
2020-04-30 20:26:20 +00:00
|
|
|
- name: "Core E2E Tests"
|
2020-05-01 13:18:21 +00:00
|
|
|
env: WP_VERSION=latest WP_MULTISITE=0 RUN_E2E=1
|
2020-10-15 20:04:25 +00:00
|
|
|
install:
|
|
|
|
- nvm install
|
|
|
|
- npm install
|
2020-12-04 16:33:13 +00:00
|
|
|
- composer install --no-dev
|
2020-05-01 13:18:21 +00:00
|
|
|
script:
|
2021-01-22 14:02:34 +00:00
|
|
|
- npm run build:assets
|
|
|
|
- npm run docker:up
|
|
|
|
- npm run test:e2e
|
2020-05-01 14:06:39 +00:00
|
|
|
after_script:
|
|
|
|
- npm run docker:down
|
2020-05-19 14:00:32 +00:00
|
|
|
- name: "WP Nightly"
|
2020-11-25 04:49:42 +00:00
|
|
|
php: "7.4"
|
2019-01-16 11:06:35 +00:00
|
|
|
env: WP_VERSION=nightly WP_MULTISITE=0
|
2020-05-19 14:00:32 +00:00
|
|
|
- name: "WP Latest - 1"
|
2020-11-25 04:49:42 +00:00
|
|
|
php: "7.2"
|
2021-01-11 17:34:54 +00:00
|
|
|
env: WP_VERSION=5.5 WP_MULTISITE=0
|
2020-05-19 14:00:32 +00:00
|
|
|
- name: "WP Latest - 2"
|
2020-11-25 04:49:42 +00:00
|
|
|
php: "7.2"
|
2021-01-11 17:34:54 +00:00
|
|
|
env: WP_VERSION=5.4 WP_MULTISITE=0
|
2020-05-19 14:00:32 +00:00
|
|
|
- name: "Code Standards"
|
2020-11-25 04:49:42 +00:00
|
|
|
php: "7.4"
|
2020-05-19 14:00:32 +00:00
|
|
|
env: WP_VERSION=latest WP_MULTISITE=0 RUN_PHPCS=1
|
|
|
|
- name: "Code Coverage"
|
2020-11-25 04:49:42 +00:00
|
|
|
php: "7.4"
|
2020-05-19 14:00:32 +00:00
|
|
|
env: WP_VERSION=latest WP_MULTISITE=0 RUN_CODE_COVERAGE=1
|
2017-11-13 17:53:42 +00:00
|
|
|
allow_failures:
|
2020-11-25 04:49:42 +00:00
|
|
|
- php: "7.4"
|
2018-11-19 19:46:50 +00:00
|
|
|
env: WP_VERSION=latest WP_MULTISITE=0 RUN_CODE_COVERAGE=1
|
2014-09-01 06:03:52 +00:00
|
|
|
|
2020-11-25 04:49:42 +00:00
|
|
|
# Git clone depth
|
|
|
|
# By default Travis CI clones repositories to a depth of 50 commits. Using a depth of 1 makes this step a bit faster.
|
|
|
|
git:
|
|
|
|
depth: 1
|
|
|
|
|
|
|
|
# Since Xenial services are not started by default, we need to instruct it below to start.
|
|
|
|
services:
|
|
|
|
- mysql
|
|
|
|
- docker
|
|
|
|
|
|
|
|
cache:
|
|
|
|
directories:
|
|
|
|
- $HOME/.composer/cache
|
|
|
|
|
|
|
|
# Composer 2.0.7 introduced a change that broke the jetpack autoloader in PHP 7.0 - 7.3.
|
|
|
|
before_install:
|
|
|
|
- composer self-update 2.0.6
|
|
|
|
|
2020-05-12 22:33:29 +00:00
|
|
|
install:
|
2019-03-19 11:14:42 +00:00
|
|
|
- export PATH="$HOME/.composer/vendor/bin:$PATH"
|
2018-10-16 13:36:25 +00:00
|
|
|
- |
|
|
|
|
# Remove Xdebug for a huge performance increase:
|
|
|
|
if [ -f ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini ]; then
|
|
|
|
phpenv config-rm xdebug.ini
|
|
|
|
else
|
|
|
|
echo "xdebug.ini does not exist"
|
|
|
|
fi
|
2020-09-24 17:14:07 +00:00
|
|
|
- composer install
|
2020-12-11 12:06:34 +00:00
|
|
|
- |
|
|
|
|
if [ "$(php -r "echo version_compare(PHP_VERSION,'8.0','>=');")" ]; then
|
2020-12-17 15:47:32 +00:00
|
|
|
curl -L https://github.com/woocommerce/phpunit/archive/add-compatibility-with-php8-to-phpunit-7.zip -o /tmp/phpunit-7.5-fork.zip
|
|
|
|
unzip -d /tmp/phpunit-7.5-fork /tmp/phpunit-7.5-fork.zip
|
|
|
|
composer bin phpunit config --unset platform
|
|
|
|
composer bin phpunit config repositories.0 '{"type": "path", "url": "/tmp/phpunit-7.5-fork/phpunit-add-compatibility-with-php8-to-phpunit-7", "options": {"symlink": false}}'
|
|
|
|
composer bin phpunit require --dev -W phpunit/phpunit:@dev --ignore-platform-reqs
|
2020-12-11 12:06:34 +00:00
|
|
|
fi
|
2019-03-19 11:14:42 +00:00
|
|
|
- |
|
2020-11-12 07:42:14 +00:00
|
|
|
# Install WP Test suite:
|
2019-03-19 12:30:54 +00:00
|
|
|
if [[ ! -z "$WP_VERSION" ]]; then
|
2019-03-19 11:14:42 +00:00
|
|
|
bash tests/bin/install.sh woocommerce_test root '' localhost $WP_VERSION
|
|
|
|
fi
|
2014-09-01 06:03:52 +00:00
|
|
|
|
2016-08-27 14:18:14 +00:00
|
|
|
script:
|
2017-10-05 16:09:39 +00:00
|
|
|
- bash tests/bin/phpunit.sh
|
2017-10-10 13:50:22 +00:00
|
|
|
- bash tests/bin/phpcs.sh
|
2014-09-07 18:53:33 +00:00
|
|
|
|
|
|
|
after_script:
|
2014-09-22 19:15:16 +00:00
|
|
|
- bash tests/bin/travis.sh after
|