b4d349963f
Update Travis configuration to temporarily use trunk for the importer in order for PHP 7.4 tests to pass. When the new version is released, this will be updated to point to that tag. See: #48231 git-svn-id: https://develop.svn.wordpress.org/trunk@46542 602fd350-edb4-49c9-b593-d223f7449a82
149 lines
5.4 KiB
YAML
149 lines
5.4 KiB
YAML
language: generic
|
|
|
|
services:
|
|
- docker
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- docker-ce
|
|
|
|
cache:
|
|
apt: true
|
|
directories:
|
|
- $HOME/.npm
|
|
- vendor
|
|
|
|
env:
|
|
global:
|
|
- LOCAL_DIR: build
|
|
- COMPOSER_INSTALL: false
|
|
- NPM_INSTALL: true
|
|
- WP_INSTALL: true
|
|
- PHP_FPM_UID: "`id -u`"
|
|
- PHP_FPM_GID: "`id -g`"
|
|
|
|
matrix:
|
|
include:
|
|
- env: WP_TRAVISCI=test:e2e
|
|
name: E2E Tests
|
|
- env: WP_TRAVISCI=lint:php COMPOSER_INSTALL=true NPM_INSTALL=false WP_INSTALL=false
|
|
name: PHP Linting
|
|
- env: WP_TRAVISCI=travis:js WP_INSTALL=false
|
|
name: JS Tests
|
|
- env: WP_TRAVISCI=test:compat COMPOSER_INSTALL=true NPM_INSTALL=false WP_INSTALL=false
|
|
name: "PHP Compatibility Check"
|
|
- env: LOCAL_PHP=7.3-fpm WP_TRAVISCI=test:php
|
|
name: "PHPUnit Tests: PHP 7.3"
|
|
- env: LOCAL_PHP=7.3-fpm LOCAL_PHP_MEMCACHED=true WP_TRAVISCI=test:php
|
|
name: "PHPUnit Tests: PHP 7.3 with Memcached"
|
|
- env: LOCAL_PHP=7.2-fpm WP_TRAVISCI=test:php
|
|
name: "PHPUnit Tests: PHP 7.2"
|
|
- env: LOCAL_PHP=7.1-fpm WP_TRAVISCI=test:php
|
|
name: "PHPUnit Tests: PHP 7.1"
|
|
- env: LOCAL_PHP=7.0-fpm WP_TEST_REPORTER=true WP_TRAVISCI=test:php
|
|
name: "PHPUnit Tests: PHP 7.0"
|
|
- env: LOCAL_PHP=5.6-fpm WP_TRAVISCI=test:php
|
|
name: "PHPUnit Tests: PHP 5.6"
|
|
- env: LOCAL_PHP=7.4-fpm WP_TRAVISCI=test:php
|
|
name: "PHPUnit Tests: PHP 7.4"
|
|
- env: LOCAL_PHP=8.0-fpm WP_TRAVISCI=test:php
|
|
name: "PHPUnit Tests: PHP 8.0"
|
|
allow_failures:
|
|
- env: WP_TRAVISCI=test:compat COMPOSER_INSTALL=true NPM_INSTALL=false WP_INSTALL=false
|
|
- env: LOCAL_PHP=7.4-fpm WP_TRAVISCI=test:php
|
|
- env: LOCAL_PHP=8.0-fpm WP_TRAVISCI=test:php
|
|
fast_finish: true
|
|
|
|
before_install:
|
|
- |
|
|
if [[ "$WP_TRAVISCI" == "test:php" ]]; then
|
|
travis_retry svn checkout -r 2170172 https://plugins.svn.wordpress.org/wordpress-importer/trunk/ tests/phpunit/data/plugins/wordpress-importer
|
|
fi
|
|
- |
|
|
sudo rm /usr/local/bin/docker-compose
|
|
curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > docker-compose
|
|
chmod +x docker-compose
|
|
sudo mv docker-compose /usr/local/bin
|
|
|
|
before_script:
|
|
- |
|
|
if [[ "$COMPOSER_INSTALL" == "true" ]]; then
|
|
docker-compose run --rm php composer --version
|
|
docker-compose run --rm php composer install
|
|
fi
|
|
- npm --version
|
|
- node --version
|
|
- nvm install 10.13.0
|
|
- |
|
|
if [[ "$NPM_INSTALL" == "true" ]]; then
|
|
npm ci
|
|
fi
|
|
- |
|
|
if [[ "$WP_TRAVISCI" == "test:e2e" ]] || [[ "$WP_TRAVISCI" == "test:php" ]]; then
|
|
npm run env:start
|
|
npm run build
|
|
docker-compose run --rm mysql mysql --version
|
|
docker-compose run --rm php php --version
|
|
docker-compose run --rm php php -m
|
|
docker-compose run --rm phpunit phpunit --version
|
|
fi
|
|
- |
|
|
if [[ "$LOCAL_PHP_MEMCACHED" == "true" ]]; then
|
|
cp tests/phpunit/includes/object-cache.php build/wp-content/object-cache.php
|
|
# The memcached server needs to start after `npm run env:start`, which sets up the Docker network.
|
|
docker run --name memcached --net wordpress-develop_wpdevnet -d memcached
|
|
fi
|
|
- |
|
|
if [[ "$WP_INSTALL" == "true" ]]; then
|
|
# Run the install process after memcached has started.
|
|
npm run env:install
|
|
fi
|
|
- npm --version
|
|
- node --version
|
|
- curl --version
|
|
- git --version
|
|
- svn --version
|
|
- php --version
|
|
- php -i
|
|
- locale -a
|
|
|
|
script:
|
|
- |
|
|
if [[ "$WP_TRAVISCI" == "test:e2e" ]]; then
|
|
npm run test:e2e
|
|
elif [[ "$WP_TRAVISCI" == "test:php" ]]; then
|
|
npm run test:php -- --verbose -c phpunit.xml.dist &&
|
|
npm run test:php -- --verbose -c phpunit.xml.dist --group ajax &&
|
|
npm run test:php -- --verbose -c tests/phpunit/multisite.xml &&
|
|
npm run test:php -- --verbose -c tests/phpunit/multisite.xml --group ms-files &&
|
|
npm run test:php -- --verbose -c phpunit.xml.dist --group external-http &&
|
|
npm run test:php -- --verbose -c phpunit.xml.dist --group restapi-jsclient &&
|
|
# __fakegroup__ is excluded to force PHPUnit to ignore the <exclude> settings in phpunit.xml.dist.
|
|
LOCAL_PHP_XDEBUG=true npm run test:php -- -v --group xdebug --exclude-group __fakegroup__
|
|
elif [[ "$WP_TRAVISCI" == "lint:php" ]]; then
|
|
docker-compose run --rm php composer format &&
|
|
docker-compose run --rm php composer lint:errors &&
|
|
docker-compose run --rm php composer lint tests
|
|
elif [[ "$WP_TRAVISCI" == "test:compat" ]]; then
|
|
docker-compose run --rm php composer compat
|
|
else
|
|
npm run grunt $WP_TRAVISCI
|
|
fi
|
|
|
|
after_script:
|
|
- |
|
|
if [[ "$WP_TEST_REPORTER" == "true" ]]; then
|
|
git clone https://github.com/WordPress/phpunit-test-runner.git test-runner
|
|
docker-compose run --rm -e WPT_PREPARE_DIR=/var/www -e WPT_TEST_DIR=/var/www php php test-runner/report.php
|
|
fi
|
|
|
|
notifications:
|
|
slack:
|
|
rooms:
|
|
secure: PO3x/bhYXNFqAMtzDzpOAnHcg2KzG2gGbBDft1HlqN4O8hRJqrRs7hqsEe9wKZUs6qf9Jv0ZleJ5AmcSd0DbDAFsfqeWtnWpsj8NqOIWgLX0C2idvfNRzCX1mUd6E1hlAjjTGnKn4MV3m1dRurwcDqacSBVtbXKQ+yPSgM3eXYkDz8EFbTsMcda8pFskcXr98E7/YomU0QtgOcjXndxGZ53zUQ1rfaDwUJzGY3bn5nLoweVZsSIeEFSiNcip7Kt22zVlU0SAb6QlBf3F0h9IWoRD59BQ7pkl53FWzpXoHzUYOFmn0jB5y1vHMlHvTDVEmDuumpCEqnxVvLh33AwGtqYRWH36PEfTn/u1YTFr7FS7KbwrKw9Nn+jUZe3KFrVzgQNUt0El33mO0FbSoNEWJhxRarp0D1z3/HVsbon3Fwzt/3jBHGf9nI+tHH4u7KQ70+M7pzBsV7F7Lc60YnuKrcy/hkwObGB0Za9tMHPUw3c7b4ep6nSa4ts9S++IijLWDaNAq7K/j7fAfI1JrkPIw4T6PcGpNAADkmlCrvToKE4axExaJke/lkUb+3Pwdj0h7ePzPSrHT8aASlKFM1PuI1KRMn/J4wRLtGeLlfYXvVlaQYmJobJtYgoiNWJWMIybLGVBSVPohdGO3qIJbl8WNPN1cW2ZZTcEBprLe8y7MSo=
|
|
on_start: never
|
|
on_failure: always
|
|
on_success: change
|
|
on_pull_requests: false
|