Revision 2fec43830b5d2eccfa53d9e5e8347dae859f7b28 authored by Idan Gabdank on 06 May 2016, 19:48:20 UTC, committed by Idan Gabdank on 06 May 2016, 19:48:20 UTC
1 parent a7cbaee
Raw File
.travis.yml
language: python
sudo: false
cache:
  directories:
    - eggs
    - .npm
addons:
  apt:
    sources:
      - elasticsearch-1.7
    packages:
      - bsdtar
      - elasticsearch
      - graphviz
env:
  global:
    - secure: |-
        CMKR45ew7fJWfF/rvaFkV4gNhWRDdM4y8wlj5p1qrEzJ214SENg03fjHJr6B
        cvNf7vanTJKnVxpxUK9kH5Tn/uaJZtnbnJYehZ4YKwzbJQEAEJpWvCk4C54O
        7diAxOq7YSxxqA2XdtLydkNlo85BWoucmc0yHEl3weNR9554UmM=
    - secure: |-
        WmE7J5Vxheir50Heuji0JVpEmoYH5iPkLMQFgnocY1UspO1ka1+8M7SOgsUH
        SK5yLKZ/6oJyhlySqqTmCfYy3y/WXRNG76dy1kjVj/DEbx+n6Yu0nElw84ED
        ZR5KkpFMaKLA505soY+4lJc4jRl5u0qwCB1Ad3UgTgfkI4QSaGM=
    - PATH="/usr/share/elasticsearch/bin:/usr/lib/postgresql/9.3/bin:$PATH"
matrix:
  include:
    - python: "2.7"
      env: BROWSER=
    - python: "3.4"
      env: BROWSER=Chrome
    - python: "3.4"
      env: BROWSER=
before_install:
  - postgres --version
  - initdb --version
  - elasticsearch -v
  - nvm install 4
  - node --version
  - npm config set python /usr/bin/python2.7
install:
  - python bootstrap.py --buildout-version 2.4.1 --setuptools-version 18.1
  - bin/buildout -c buildout-travis.cfg || (echo "Retrying buildout" && bin/buildout -c buildout-travis.cfg)
before_script:
  - >
    if test -n "$BROWSER"; then
      CONNECT_URL=https://saucelabs.com/downloads/sc-4.3.8-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=200 -m "not bdd"; fi
  - >
    if test -n "$BROWSER"; then
      test -f "$SC_PIDFILE" && bin/test -v -v --timeout=200 -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