.travis.yml
language: php
dist: xenial
cache:
directories:
- $HOME/.composer/cache
- jar
env:
global:
- GECKODRIVER_VERSION="0.26.0"
- FIREFOX_SELENIUM_SERVER_VERSION="3.8"
- FIREFOX_JAR_FILE="selenium-server-standalone-3.8.1.jar"
- CHROME_SELENIUM_SERVER_VERSION="3.141"
- CHROME_JAR_FILE="selenium-server-standalone-3.141.59.jar"
matrix:
include:
- php: 5.6
env: BROWSER_NAME="firefox"
addons:
firefox: latest
code_climate:
repo_token: 3cd418d30ae5fc9443ffd2cb77e19ad9e2ee06eb6fca93363262349d54bbb8d7
- php: 5.6
env: BROWSER_NAME="chrome"
addons:
chrome: stable
code_climate:
repo_token: 3cd418d30ae5fc9443ffd2cb77e19ad9e2ee06eb6fca93363262349d54bbb8d7
- php: 7.0
env: BROWSER_NAME="firefox"
addons:
firefox: latest
code_climate:
repo_token: 3cd418d30ae5fc9443ffd2cb77e19ad9e2ee06eb6fca93363262349d54bbb8d7
- php: 7.0
env: BROWSER_NAME="chrome"
addons:
chrome: stable
code_climate:
repo_token: 3cd418d30ae5fc9443ffd2cb77e19ad9e2ee06eb6fca93363262349d54bbb8d7
- php: 7.1
env: BROWSER_NAME="firefox"
addons:
firefox: latest
code_climate:
repo_token: 3cd418d30ae5fc9443ffd2cb77e19ad9e2ee06eb6fca93363262349d54bbb8d7
- php: 7.1
env: BROWSER_NAME="chrome"
addons:
chrome: stable
code_climate:
repo_token: 3cd418d30ae5fc9443ffd2cb77e19ad9e2ee06eb6fca93363262349d54bbb8d7
- php: 7.2
env: BROWSER_NAME="firefox"
addons:
firefox: latest
code_climate:
repo_token: 3cd418d30ae5fc9443ffd2cb77e19ad9e2ee06eb6fca93363262349d54bbb8d7
- php: 7.2
env: BROWSER_NAME="chrome"
addons:
chrome: stable
code_climate:
repo_token: 3cd418d30ae5fc9443ffd2cb77e19ad9e2ee06eb6fca93363262349d54bbb8d7
- php: 7.3
env: BROWSER_NAME="firefox"
addons:
firefox: latest
code_climate:
repo_token: 3cd418d30ae5fc9443ffd2cb77e19ad9e2ee06eb6fca93363262349d54bbb8d7
- php: 7.3
env: BROWSER_NAME="chrome"
addons:
chrome: stable
code_climate:
repo_token: 3cd418d30ae5fc9443ffd2cb77e19ad9e2ee06eb6fca93363262349d54bbb8d7
before_script:
- travis_retry composer update
- if [ "$BROWSER_NAME" = "firefox" -a ! -f jar/$FIREFOX_JAR_FILE ]; then
wget -q -t 3 -P jar http://selenium-release.storage.googleapis.com/$FIREFOX_SELENIUM_SERVER_VERSION/$FIREFOX_JAR_FILE;
fi
- if [ "$BROWSER_NAME" = "firefox" ]; then
wget -q -t 3 https://github.com/mozilla/geckodriver/releases/download/v$GECKODRIVER_VERSION/geckodriver-v$GECKODRIVER_VERSION-linux64.tar.gz;
mkdir geckodriver;
tar -xvf geckodriver-v$GECKODRIVER_VERSION-linux64.tar.gz -C geckodriver;
export PATH=$PATH:$PWD/geckodriver;
fi
- if [ "$BROWSER_NAME" = "firefox" ]; then
java -jar jar/$FIREFOX_JAR_FILE -enablePassThrough false &>> ./tests/logs/selenium.log &
fi
- if [ "$BROWSER_NAME" = "chrome" -a ! -f jar/$CHROME_JAR_FILE ]; then
wget -q -t 3 -P jar http://selenium-release.storage.googleapis.com/$CHROME_SELENIUM_SERVER_VERSION/$CHROME_JAR_FILE;
fi
- if [ "$BROWSER_NAME" = "chrome" ]; then
mkdir chromedriver;
CHROME_VERSION=$(google-chrome --product-version);
echo "Chrome version is ${CHROME_VERSION}";
wget -q -t 3 https://chromedriver.storage.googleapis.com/$(curl -L https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROME_VERSION%.*})/chromedriver_linux64.zip;
unzip chromedriver_linux64 -d chromedriver;
export CHROMEDRIVER_PATH=./chromedriver/chromedriver;
fi
- if [ "$BROWSER_NAME" = "chrome" ]; then
java -Dwebdriver.chrome.driver="$CHROMEDRIVER_PATH" -jar jar/$CHROME_JAR_FILE &>> ./tests/logs/selenium.log &
fi
- until $(echo | nc localhost 4444); do sleep 1; echo Waiting for Selenium server on port 4444...; done; echo "Selenium server started"
- php -S 127.0.0.1:8000 -t tests/web/ &>> ./tests/logs/php-server.log &
- until $(echo | nc localhost 8000); do sleep 1; echo waiting for PHP server on port 8000...; done; echo "PHP server started"
script:
- if [ "$BROWSER_NAME" = "firefox" ]; then export ENABLED_CHROME_DRIVER=""; fi
- if [ "$BROWSER_NAME" = "chrome" ]; then export ENABLED_FIREFOX_DRIVER=""; fi
- vendor/bin/phpunit --coverage-clover ./tests/logs/coverage-clover.xml
after_success:
- vendor/bin/test-reporter --coverage-report ./tests/logs/coverage-clover.xml
- vendor/bin/coveralls -v
after_failure:
- if [ -f ./tests/logs/selenium.log ]; then cat ./tests/logs/selenium.log; fi
- if [ -f ./tests/logs/php-server.log ]; then cat ./tests/logs/php-server.log; fi