# 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="