language: python cache: directories: - $HOME/.cache/pip services: - rabbitmq - mariadb # apacheconftest #- apache2 # http://docs.travis-ci.com/user/ci-environment/#CI-environment-OS # gimme has to be kept in sync with Boulder's Go version setting in .travis.yml before_install: - 'dpkg -s libaugeas0' - '[ "xxx$BOULDER_INTEGRATION" = "xxx" ] || eval "$(gimme 1.5.1)"' # using separate envs with different TOXENVs creates 4x1 Travis build # matrix, which allows us to clearly distinguish which component under # test has failed env: global: - GOPATH=/tmp/go - PATH=$GOPATH/bin:$PATH matrix: include: - python: "2.6" env: TOXENV=py26 BOULDER_INTEGRATION=1 - python: "2.6" env: TOXENV=py26-oldest BOULDER_INTEGRATION=1 # Disabled for now due to requiring sudo -> causing more boulder integration # DNS timeouts :( # - python: "2.7" # env: TOXENV=apacheconftest - python: "2.7" env: TOXENV=py27 BOULDER_INTEGRATION=1 - python: "2.7" env: TOXENV=py27-oldest BOULDER_INTEGRATION=1 - python: "2.7" env: TOXENV=cover - python: "2.7" env: TOXENV=lint - python: "3.3" env: TOXENV=py33 - python: "3.4" env: TOXENV=py34 - python: "3.5" env: TOXENV=py35 # Only build pushes to the master branch, PRs, and branches beginning with # `test-`. This reduces the number of simultaneous Travis runs, which speeds # turnaround time on review since there is a cap of 5 simultaneous runs. branches: only: - master - /^test-.*$/ # container-based infrastructure sudo: false addons: # make sure simplehttp simple verification works (custom /etc/hosts) hosts: - le.wtf mariadb: "10.0" apt: sources: - augeas packages: # keep in sync with bootstrap/ubuntu.sh and Boulder - python-dev - python-virtualenv - gcc - dialog - libaugeas0 - libssl-dev - libffi-dev - ca-certificates # For letsencrypt-nginx integration testing - nginx-light - openssl # For Boulder integration testing - rsyslog # for apacheconftest #- realpath #- apache2 #- libapache2-mod-wsgi #- libapache2-mod-macro #- sudo install: "travis_retry pip install tox coveralls" script: 'travis_retry tox && ([ "xxx$BOULDER_INTEGRATION" = "xxx" ] || ./tests/travis-integration.sh)' after_success: '[ "$TOXENV" == "cover" ] && coveralls' notifications: email: false irc: channels: - "chat.freenode.net#letsencrypt" on_success: never on_failure: always use_notice: true skip_join: true