c6c78490e2
All PHP files in `/tests` now conform to the PHP coding standards, or have exceptions appropriately marked. Travis now also runs `phpcs` on the `/tests` directory, any future changes to these files must conform entirely to the WordPress PHP coding standards. 🎉 See #47632. git-svn-id: https://develop.svn.wordpress.org/trunk@45607 602fd350-edb4-49c9-b593-d223f7449a82
133 lines
4.1 KiB
YAML
133 lines
4.1 KiB
YAML
sudo: false
|
|
dist: trusty
|
|
language: php
|
|
cache:
|
|
apt: true
|
|
directories:
|
|
- $HOME/.npm
|
|
- vendor
|
|
- $HOME/.composer/cache
|
|
env:
|
|
global:
|
|
- WP_TRAVISCI=travis:phpunit
|
|
matrix:
|
|
include:
|
|
- php: 7.2
|
|
env: WP_TRAVISCI=e2e
|
|
- php: 7.2
|
|
env: WP_TRAVISCI=travis:phpcs
|
|
- php: 7.1
|
|
env: WP_TRAVISCI=travis:js
|
|
- php: 7.4snapshot
|
|
- php: 7.3
|
|
- php: 7.3
|
|
env: WP_TRAVIS_OBJECT_CACHE=true
|
|
services: memcached
|
|
- php: 7.2
|
|
- php: 7.1
|
|
- php: 7.0
|
|
env: WP_TEST_REPORTER=true
|
|
- php: 5.6
|
|
- php: nightly
|
|
allow_failures:
|
|
- php: 7.4snapshot
|
|
- php: nightly
|
|
fast_finish: true
|
|
before_install:
|
|
- |
|
|
if [[ "$WP_TRAVISCI" == "travis:phpunit" ]]; then
|
|
mysql -u root -e "CREATE DATABASE wordpress_tests;"
|
|
cp wp-tests-config-sample.php wp-tests-config.php
|
|
sed -i "s/youremptytestdbnamehere/wordpress_tests/" wp-tests-config.php
|
|
sed -i "s/yourusernamehere/root/" wp-tests-config.php
|
|
sed -i "s/yourpasswordhere//" wp-tests-config.php
|
|
travis_retry svn checkout https://plugins.svn.wordpress.org/wordpress-importer/tags/0.6.3/ tests/phpunit/data/plugins/wordpress-importer
|
|
fi
|
|
- |
|
|
if [[ "$WP_TRAVIS_OBJECT_CACHE" == "true" ]]; then
|
|
cp tests/phpunit/includes/object-cache.php src/wp-content/object-cache.php
|
|
echo "extension = memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
|
fi
|
|
before_script:
|
|
- |
|
|
# 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
|
|
- |
|
|
# Export Composer's global bin dir to PATH, but not on PHP 5.2:
|
|
composer config --list --global
|
|
export PATH=`composer config --list --global | grep '\[home\]' | { read a; echo "${a#* }/vendor/bin:$PATH"; }`
|
|
- |
|
|
# Install the specified version of PHPUnit depending on the PHP version:
|
|
if [[ "$WP_TRAVISCI" == "travis:phpunit" ]]; then
|
|
case "$TRAVIS_PHP_VERSION" in
|
|
7.4snapshot|7.3|7.2|7.1|nightly)
|
|
echo "Using PHPUnit 7.x"
|
|
travis_retry composer global require "phpunit/phpunit:^7"
|
|
;;
|
|
7.0)
|
|
echo "Using PHPUnit 6.x"
|
|
travis_retry composer global require "phpunit/phpunit:^6"
|
|
;;
|
|
5.6)
|
|
echo "Using PHPUnit 4.x"
|
|
travis_retry composer global require "phpunit/phpunit:^4"
|
|
;;
|
|
*)
|
|
echo "No PHPUnit version handling for PHP version $TRAVIS_PHP_VERSION"
|
|
exit 1
|
|
;;
|
|
esac
|
|
fi
|
|
- |
|
|
# We only need to run composer install on the PHP coding standards job.
|
|
if [[ "$WP_TRAVISCI" == "travis:phpcs" ]]; then
|
|
composer --version
|
|
travis_retry composer install
|
|
fi
|
|
- npm --version
|
|
- node --version
|
|
- nvm install 10.13.0
|
|
- npm install
|
|
- npm prune
|
|
- mysql --version
|
|
- phpenv versions
|
|
- php --version
|
|
- php -m
|
|
- npm --version
|
|
- node --version
|
|
- which phpunit
|
|
- phpunit --version
|
|
- curl --version
|
|
- git --version
|
|
- svn --version
|
|
- locale -a
|
|
script:
|
|
- |
|
|
if [[ "$WP_TRAVISCI" == "e2e" ]]; then
|
|
npm run env:start
|
|
npm run env:reset-site
|
|
npm run test:e2e
|
|
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
|
|
export WPT_PREPARE_DIR=$(pwd)
|
|
export WPT_TEST_DIR=$(pwd)
|
|
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
|