Revision f7a7cdc1d69ce53887dc503c184b690efd963f3e authored by jason Hilton on 28 November 2018, 15:44:17 UTC, committed by jason Hilton on 28 November 2018, 15:44:17 UTC
1 parent 7256b20
Raw File
.travis.yml
language: python
sudo: required
dist: trusty
cache:
  directories:
    - eggs
    - .npm
notifications:
  slack:
    secure: hlTj34WpuzQmsyxnUnFEwlAJeDcElshGfgw7oHuicAD83LorBFTc9ap6FhZXI5LFnqEl28FZ9YkJJRl0tFZgaApllrMmNCeK2FfRjnF8XGz2JS6Iiyj+hgWrKHHIbcS2g5R6L2/uzIhdMvCb97cReZckjo9lumYAdXGHY8DJbik=
addons:
  apt:
    packages:
      - oracle-java8-set-default
      - bsdtar
      - graphviz
env:
  global:
    - secure: |-
        CMKR45ew7fJWfF/rvaFkV4gNhWRDdM4y8wlj5p1qrEzJ214SENg03fjHJr6B
        cvNf7vanTJKnVxpxUK9kH5Tn/uaJZtnbnJYehZ4YKwzbJQEAEJpWvCk4C54O
        7diAxOq7YSxxqA2XdtLydkNlo85BWoucmc0yHEl3weNR9554UmM=
    - secure: |-
        WmE7J5Vxheir50Heuji0JVpEmoYH5iPkLMQFgnocY1UspO1ka1+8M7SOgsUH
        SK5yLKZ/6oJyhlySqqTmCfYy3y/WXRNG76dy1kjVj/DEbx+n6Yu0nElw84ED
        ZR5KkpFMaKLA505soY+4lJc4jRl5u0qwCB1Ad3UgTgfkI4QSaGM=
    - BOTO_CONFIG=tmp/bogusvalue
    - JAVA_HOME=/usr/lib/jvm/java-8-oracle
    - ES_VERSION=5.6.1
    - ES_DOWNLOAD_URL=https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}.deb
    - PATH="/usr/share/elasticsearch/bin:/usr/lib/postgresql/9.3/bin:$PATH"
    - ES_JAVA_OPTS="-Xms2g -Xmx2g"
matrix:
  include:
    - python: "3.4.3"
      env: BROWSER=Chrome
    - python: "3.4.3"
      env: BROWSER=
before_install:
  - postgres --version
  - initdb --version
  - nvm install 6
  - node --version
  - npm config set python /usr/bin/python2.7
  - curl -O  ${ES_DOWNLOAD_URL} && sudo dpkg -i --force-confnew elasticsearch-${ES_VERSION}.deb && sudo service elasticsearch stop
  - pip install -U zc.buildout setuptools
install:
  - buildout bootstrap
  - bin/buildout -c buildout-travis.cfg || (echo "Retrying buildout" && bin/buildout -c buildout-travis.cfg)
  - sudo chown -R travis /etc/elasticsearch
before_script:
  - >
    if test -n "$BROWSER"; then
      CONNECT_URL=https://saucelabs.com/downloads/sc-4.4.5-linux.tar.gz
      CONNECT_DOWNLOAD=sc.tar.gz
      SC_READYFILE=sauce-connect-ready-$RANDOM
      SC_LOGFILE=$HOME/sauce-connect.log
      SC_PIDFILE=$HOME/sauce-connect.pid
      curl $CONNECT_URL > $CONNECT_DOWNLOAD
      mkdir sc
      tar -zxf $CONNECT_DOWNLOAD --strip 1 --directory sc
      sc/bin/sc --readyfile $SC_READYFILE \
        --logfile $SC_LOGFILE \
        --pidfile $SC_PIDFILE \
        --tunnel-identifier $TRAVIS_JOB_NUMBER \
        --user $SAUCE_USERNAME --api-key $SAUCE_ACCESS_KEY > /dev/null &
      while test -f "$SC_PIDFILE" && test ! -f "$SC_READYFILE"; do sleep .5; done
    fi
script:
  - if test -z "$BROWSER"; then npm test; fi
  - if test -z "$BROWSER"; then bin/test -v -v --timeout=400 -m "not bdd"; fi
  - >
    if test -n "$BROWSER"; then
      test -f "$SC_PIDFILE" && bin/test -v -v --timeout=400 -m "bdd" --tb=short \
        --splinter-implicit-wait 10 \
        --splinter-webdriver remote \
        --splinter-remote-url "http://$SAUCE_USERNAME:$SAUCE_ACCESS_KEY@localhost:4445/wd/hub" \
        --splinter-socket-timeout 300 \
        --browser-arg tunnel-identifier "$TRAVIS_JOB_NUMBER" \
        --browser-arg-int build  "$TRAVIS_BUILD_NUMBER" \
        --browser-arg-int idleTimeout 300 \
        --browser-arg name "$TRAVIS_REPO_SLUG $TRAVIS_BRANCH $TRAVIS_COMMIT" \
        --browser-arg browser "$BROWSER"
    fi
after_script:
  - >
    if test -f "$SC_PIDFILE"; then
      SAUCE_JOB_ID=`grep -m 1 /session/ "$HOME/sauce-connect.log" | cut -d / -f 7`
      SAUCE_PASSED=`((TRAVIS_TEST_RESULT == 0)) && echo true || echo false`
      curl -H "Content-Type:text/json" -s -X PUT -d "{\"passed\": $SAUCE_PASSED}" \
        "http://$SAUCE_USERNAME:$SAUCE_ACCESS_KEY@saucelabs.com/rest/v1/$SAUCE_USERNAME/jobs/$SAUCE_JOB_ID" > /dev/null
      echo "Sauce test page https://saucelabs.com/tests/$SAUCE_JOB_ID"
      kill $(cat "$SC_PIDFILE")
      wait $(cat "$SC_PIDFILE")
    fi
back to top