Skip to content

Commit

Permalink
Refactor the Travis CI jobs and introduce tests for python 3.5
Browse files Browse the repository at this point in the history
  • Loading branch information
davehunt committed Nov 11, 2016
1 parent 8a673c5 commit 69cb274
Show file tree
Hide file tree
Showing 6 changed files with 271 additions and 163 deletions.
370 changes: 208 additions & 162 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,212 @@
language: java
sudo: required
jdk: oraclejdk8
env:
global:
- DISPLAY=:99.0
- PYTEST_ADDOPTS="--verbose --instafail"
- FF_LEGACY_BINARY=/usr/local/bin/firefox
matrix:
include:
- language: java
jdk: oraclejdk8
env: TASK=build
- language: java
jdk: oraclejdk8
env: TASK=//javascript/atoms:atoms
- language: java
jdk: oraclejdk8
env: TASK=//javascript/webdriver:all_js
- language: java
jdk: oraclejdk8
env: TASK=//javascript/ie-driver:atoms
- language: java
jdk: oraclejdk8
env: TASK=//javascript/chrome-driver:atoms
- language: java
jdk: oraclejdk8
env: TASK="//javascript/android-atoms:atoms ios_driver"
- language: java
jdk: oraclejdk8
env: TASK=//java/client/test/org/openqa/selenium/atoms:test:run
- language: java
jdk: oraclejdk8
env: CHROME=1 TASK="calcdeps //javascript/atoms:atoms-chrome:run"
- language: java
jdk: oraclejdk8
env: CHROME=1 TASK="calcdeps //javascript/webdriver:webdriver-chrome:run"
- language: java
jdk: oraclejdk8
env: CHROME=1 TASK="calcdeps //javascript/selenium-atoms:selenium-atoms-chrome:run"
- language: java
jdk: oraclejdk8
env: CHROME=1 TASK="calcdeps //javascript/selenium-core:selenium-core-chrome:run"
- language: java
jdk: oraclejdk8
env: TASK="calcdeps //javascript/atoms:atoms-firefox:run"
addons:
firefox: latest-esr
- language: java
jdk: oraclejdk8
env: TASK="calcdeps //javascript/webdriver:webdriver-firefox:run"
addons:
firefox: latest-esr
- language: java
jdk: oraclejdk8
env: TASK="calcdeps //javascript/selenium-atoms:selenium-atoms-firefox:run"
addons:
firefox: latest-esr
- language: java
jdk: oraclejdk8
env: TASK="calcdeps //javascript/selenium-core:selenium-core-firefox:run"
addons:
firefox: latest-esr
- language: java
jdk: oraclejdk8
env: CHROME=1 TASK=test_chrome
- language: java
jdk: oraclejdk8
env: CHROME=1 TASK=//java/client/test/com/thoughtworks/selenium:chrome-rc-test:run
- language: java
jdk: oraclejdk8
env: TASK=test_firefox
addons:
firefox: latest-esr
- language: java
jdk: oraclejdk8
env: MARIONETTE=1 TASK=//java/client/test/org/openqa/selenium/firefox:marionette:run
addons:
firefox: latest
- language: java
jdk: oraclejdk8
env: TASK=//java/client/test/com/thoughtworks/selenium:firefox-rc-test:run
addons:
firefox: latest
- language: java
jdk: oraclejdk8
env: TASK=test_java_small_tests
- language: java
jdk: oraclejdk8
env: CHROME=1 TASK=test_grid
- language: java
jdk: oraclejdk8
env: TASK=test_htmlunit
- language: java
jdk: oraclejdk8
env: TASK=javadocs
- language: python
python: 2.7
env: CHROME=1 TOXENV=py27-chrome
- language: python
python: 2.7
env: TOXENV=py27-firefox
addons:
firefox: latest-esr
- language: python
python: 2.7
env: MARIONETTE=1 TOXENV=py27-marionette
addons:
firefox: latest
- language: python
python: 2.7
env: PHANTOMJS=1 TOXENV=py27-phantomjs
- language: python
python: 2.7
env: TOXENV=py27-remote
addons:
firefox: latest
- language: python
python: 2.7
env: TOXENV=docs
- language: python
python: 3.5
env: CHROME=1 TOXENV=py35-chrome
- language: python
python: 3.5
env: TOXENV=py35-firefox
addons:
firefox: latest-esr
- language: python
python: 3.5
env: MARIONETTE=1 TOXENV=py35-marionette
addons:
firefox: latest
- language: python
python: 3.5
env: PHANTOMJS=1 TOXENV=py35-phantomjs
- language: python
python: 3.5
env: TOXENV=py35-remote
addons:
firefox: latest
- language: python
python: 3.5
env: TOXENV=docs
- language: ruby
rvm: 2.2.3
jdk: oraclejdk8
env: TASK=//rb:unit-test
- language: ruby
rvm: 2.2.3
jdk: oraclejdk8
env: CHROME=1 TASK=//rb:chrome-test
- language: ruby
rvm: 2.2.3
jdk: oraclejdk8
env: MARIONETTE=1 TASK=//rb:firefox-test
addons:
firefox: latest
- language: ruby
rvm: 2.2.3
jdk: oraclejdk8
env: TASK=//rb:ff-legacy-test
addons:
firefox: latest-esr
- language: ruby
rvm: 2.2.3
jdk: oraclejdk8
env: PHANTOMJS=1 TASK=//rb:phantomjs-test
- language: ruby
rvm: 2.2.3
jdk: oraclejdk8
env: CHROME=1 TASK=//rb:remote-chrome-test
- language: ruby
rvm: 2.2.3
jdk: oraclejdk8
env: MARIONETTE=1 TASK=//rb:remote-firefox-test
addons:
firefox: latest
- language: ruby
rvm: 2.2.3
jdk: oraclejdk8
env: TASK=//rb:remote-ff-legacy-test
addons:
firefox: latest-esr
- language: ruby
rvm: 2.2.3
jdk: oraclejdk8
env: PHANTOMJS=1 TASK=//rb:remote-phantomjs-test
- language: ruby
rvm: 2.2.3
jdk: oraclejdk8
env: TASK=//rb:docs
fast_finish: true
allow_failures:
- env: TASK="calcdeps //javascript/atoms:atoms-firefox:run"
- env: TASK="calcdeps //javascript/webdriver:webdriver-firefox:run"
- env: CHROME=1 TASK=//java/client/test/com/thoughtworks/selenium:chrome-rc-test:run
- env: MARIONETTE=1 TASK=//java/client/test/org/openqa/selenium/firefox:marionette:run
- env: TASK=//java/client/test/com/thoughtworks/selenium:firefox-rc-test:run
- env: TOXENV=py27-firefox
- env: MARIONETTE=1 TOXENV=py27-marionette
- env: TOXENV=py27-remote
- env: TOXENV=py35-firefox
- env: MARIONETTE=1 TOXENV=py35-marionette
- env: TOXENV=py35-remote
- env: MARIONETTE=1 TASK=//rb:remote-firefox-test
- env: TASK=//rb:docs
before_install: ./scripts/travis/before_install.sh
install: ./scripts/travis/install.sh
before_script: ./scripts/travis/before_script.sh
script: ./scripts/travis/script.sh
notifications:
email: false
irc:
Expand All @@ -10,163 +216,3 @@ notifications:
on_failure: always
use_notice: true
skip_join: true
env:
global:
- DISPLAY=:99.0
- PYTEST_ADDOPTS="--verbose --instafail"
matrix:
- TASK=build
- TASK=atoms
- TASK=atoms_test
- TASK=atoms_tests TARGET=chrome
- TASK=atoms_tests TARGET=ff-legacy
- TASK=java TARGET=java_small_tests
- TASK=java TARGET=chrome
- TASK=java TARGET=chrome-rc-test
- TASK=java TARGET=firefox
- TASK=java TARGET=ff-legacy
- TASK=java TARGET=firefox-rc-test
- TASK=java TARGET=grid TOXENV=chrome
- TASK=java TARGET=htmlunit
- TASK=api_docs TARGET=java
- TASK=api_docs TARGET="//rb:"
- TASK=rb TARGET=unit-test
- TASK=rb TARGET=chrome-test
- TASK=rb TARGET=firefox-test
- TASK=rb TARGET=ff-legacy-test
- TASK=rb TARGET=phantomjs-test
- TASK=rb TARGET=remote-chrome-test
- TASK=rb TARGET=remote-firefox-test
- TASK=rb TARGET=remote-ff-legacy-test
- TASK=rb TARGET=remote-phantomjs-test
- TASK=py TOXENV=py27-chrome
- TASK=py TOXENV=py27-firefox
- TASK=py TOXENV=py27-marionette
- TASK=py TOXENV=py27-phantomjs
- TASK=py TOXENV=py27-remote
- TASK=py TOXENV=docs
matrix:
fast_finish: true
allow_failures:
- env: TASK=py TOXENV=py27-marionette
- env: TASK=rb TARGET=remote-firefox-test
- env: TASK=py TOXENV=py27-firefox
- env: TASK=py TOXENV=py27-remote
- env: TASK=api_docs TARGET="//rb:"
- env: TASK=java TARGET=firefox
- env: TASK=java TARGET=firefox-rc-test
- env: TASK=java TARGET=chrome-rc-test
- env: TASK=atoms_tests TARGET=ff-legacy
before_script:
- sh -e /etc/init.d/xvfb start
script:
- |
if [[ $TARGET+$TOXENV == *"chrome"* ]]; then
sudo apt-get -y purge chromium-browser
export CHROME_REVISION=`curl -s http://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_x64/LAST_CHANGE`
curl -L -O "http://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_x64/${CHROME_REVISION}/chrome-linux.zip"
unzip chrome-linux.zip
sudo ln -sf $PWD/chrome-linux/chrome-wrapper /usr/local/bin/chrome
export CHROMEDRIVER_VERSION=`curl -s http://chromedriver.storage.googleapis.com/LATEST_RELEASE`
curl -L -O "http://chromedriver.storage.googleapis.com/${CHROMEDRIVER_VERSION}/chromedriver_linux64.zip"
unzip chromedriver_linux64.zip && chmod +x chromedriver && sudo mv chromedriver /usr/local/bin
fi
- |
if [[ $TARGET == *"ff-legacy"* ]] || [ $TOXENV == *"firefox"* ]]; then
pip install --user mozdownload mozinstall
mozdownload --version 45.4.0esr --destination firefox.tar.bz2
mozinstall firefox.tar.bz2
sudo ln -sf $PWD/firefox/firefox /usr/local/bin/firefox
firefox --version
export FF_LEGACY_BINARY=$PWD/firefox/firefox
fi
- |
if [[ $TARGET == *"firefox"* ]] || [[ $TOXENV == *"marionette"* ]] || [[ $TOXENV == *"remote"* ]]; then
export GECKODRIVER_VERSION=v0.11.1
curl -L -o geckodriver.tar.gz https://github.com/mozilla/geckodriver/releases/download/${GECKODRIVER_VERSION}/geckodriver-${GECKODRIVER_VERSION}-linux64.tar.gz
gunzip -c geckodriver.tar.gz | tar xopf -
chmod +x geckodriver && sudo mv geckodriver /usr/local/bin
pip install --user mozdownload mozinstall
mozdownload --version latest --destination firefox.tar.bz2
mozinstall firefox.tar.bz2
sudo ln -sf $PWD/firefox/firefox /usr/local/bin/firefox
firefox --version
fi
- |
if [[ $TARGET+$TOXENV == *"phantomjs"* ]]; then
#export PHANTOMJS_NAME=phantomjs-2.1.1-linux-x86_64
#curl -OL "https://bitbucket.org/ariya/phantomjs/downloads/${PHANTOMJS_NAME}.tar.bz2"
#tar -xvjf $PHANTOMJS_NAME.tar.bz2
#chmod +x $PHANTOMJS_NAME/bin/phantomjs
phantomjs -v
fi
- |
if [[ $TOXENV == *"remote"* ]]; then
./go selenium-server-standalone
fi
- |
if [[ $TASK == "build" ]]; then
./go build
fi
- |
if [[ $TASK == "atoms" ]]; then
./go //javascript/atoms:atoms
./go //javascript:calcdeps
./go //javascript/webdriver:all_js
./go //javascript/ie-driver:atoms
./go //javascript/chrome-driver:atoms
./go //javascript/android-atoms:atoms ios_driver
fi
- |
if [[ $TASK == "atoms_test" ]]; then
./go //java/client/test/org/openqa/selenium/atoms:test:run
fi
- |
if [[ $TASK == "atoms_tests" ]]; then
./go calcdeps
if [[ $TARGET == "ff-legacy" ]]; then
TARGET=firefox
fi
./go //javascript/atoms:atoms-$TARGET:run //javascript/webdriver:webdriver-$TARGET:run //javascript/selenium-atoms:selenium-atoms-$TARGET:run //javascript/selenium-core:selenium-core-$TARGET:run
fi
- |
if [[ $TASK == "java" ]]; then
case $TARGET in
ff-legacy)
./go test_firefox
;;
firefox)
./go //java/client/test/org/openqa/selenium/firefox:marionette:run
;;
# -rc are the WebDriverBackedSelenium tests
firefox-rc-test)
./go //java/client/test/com/thoughtworks/selenium:firefox-rc-test:run
;;
chrome-rc-test)
./go //java/client/test/com/thoughtworks/selenium:chrome-rc-test:run
;;
*)
./go test_$TARGET
;;
esac
fi
- |
if [[ $TASK == "py" ]]; then
./go py_prep_for_install_release
pip install --user tox-travis
tox
fi
- |
if [[ $TASK == "rb" ]]; then
rvm install 2.2.3
rvm use 2.2.3
./go //rb:$TARGET
fi
- |
if [[ $TASK == "api_docs" ]]; then
if [[ $TARGET == "py_" ]]; then
./go py_prep_for_install_release
fi
./go ${TARGET}docs
fi
6 changes: 6 additions & 0 deletions scripts/travis/before_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
set -ex

if [[ ! -z $TOXENV ]]; then
sudo apt-get install oracle-java8-installer
curl -O https://raw.githubusercontent.com/michaelklishin/jdk_switcher/master/jdk_switcher.sh
fi
8 changes: 8 additions & 0 deletions scripts/travis/before_script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
set -ex

sh /etc/init.d/xvfb start

if [[ ! -z $TOXENV ]]; then
. jdk_switcher.sh && jdk_switcher use oraclejdk8
./go py_prep_for_install_release
fi
Loading

0 comments on commit 69cb274

Please sign in to comment.