language: python cache: directories: - $HOME/.cache/pip before_script: - 'if [ $TRAVIS_OS_NAME = osx ] ; then ulimit -n 1024 ; fi' - export TOX_TESTENV_PASSENV=TRAVIS matrix: include: # These environments are always executed - python: "2.7" env: BOULDER_INTEGRATION=v1 INTEGRATION_TEST=all TOXENV=py27_install sudo: required services: docker - python: "2.7" env: BOULDER_INTEGRATION=v2 INTEGRATION_TEST=all TOXENV=py27_install sudo: required services: docker - python: "2.7" env: TOXENV=py27-cover FYI="py27 tests + code coverage" - sudo: required env: TOXENV=nginx_compat services: docker before_install: addons: - python: "2.7" env: TOXENV=lint - python: "3.4" env: TOXENV=mypy - python: "3.5" env: TOXENV=mypy - python: "2.7" env: TOXENV='py27-{acme,apache,certbot,dns,nginx,postfix}-oldest' sudo: required services: docker - python: "3.4" env: TOXENV=py34 sudo: required services: docker - python: "3.7" dist: xenial env: TOXENV=py37 sudo: required services: docker - sudo: required env: TOXENV=apache_compat services: docker before_install: addons: - sudo: required env: TOXENV=le_auto_trusty services: docker before_install: addons: - python: "2.7" env: TOXENV=apacheconftest-with-pebble sudo: required services: docker - python: "2.7" env: TOXENV=nginxroundtrip # These environments are executed on cron events only - python: "3.7" dist: xenial env: TOXENV=py37 CERTBOT_NO_PIN=1 if: type = cron - python: "2.7" env: BOULDER_INTEGRATION=v1 INTEGRATION_TEST=certbot TOXENV=py27-certbot-oldest sudo: required services: docker if: type = cron - python: "2.7" env: BOULDER_INTEGRATION=v2 INTEGRATION_TEST=certbot TOXENV=py27-certbot-oldest sudo: required services: docker if: type = cron - python: "2.7" env: BOULDER_INTEGRATION=v1 INTEGRATION_TEST=nginx TOXENV=py27-nginx-oldest sudo: required services: docker if: type = cron - python: "2.7" env: BOULDER_INTEGRATION=v2 INTEGRATION_TEST=nginx TOXENV=py27-nginx-oldest sudo: required services: docker if: type = cron - python: "3.4" env: TOXENV=py34 BOULDER_INTEGRATION=v1 sudo: required services: docker if: type = cron - python: "3.4" env: TOXENV=py34 BOULDER_INTEGRATION=v2 sudo: required services: docker if: type = cron - python: "3.5" env: TOXENV=py35 BOULDER_INTEGRATION=v1 sudo: required services: docker if: type = cron - python: "3.5" env: TOXENV=py35 BOULDER_INTEGRATION=v2 sudo: required services: docker if: type = cron - python: "3.6" env: TOXENV=py36 BOULDER_INTEGRATION=v1 sudo: required services: docker if: type = cron - python: "3.6" env: TOXENV=py36 BOULDER_INTEGRATION=v2 sudo: required services: docker if: type = cron - python: "3.7" dist: xenial env: TOXENV=py37 BOULDER_INTEGRATION=v1 sudo: required services: docker if: type = cron - python: "3.7" dist: xenial env: TOXENV=py37 BOULDER_INTEGRATION=v2 sudo: required services: docker if: type = cron - sudo: required env: TOXENV=le_auto_xenial services: docker if: type = cron - sudo: required env: TOXENV=le_auto_jessie services: docker if: type = cron - sudo: required env: TOXENV=le_auto_centos6 services: docker if: type = cron - sudo: required env: TOXENV=docker_dev services: docker addons: apt: packages: # don't install nginx and apache - libaugeas0 if: type = cron - language: generic env: TOXENV=py27 os: osx addons: homebrew: packages: - augeas - python2 if: type = cron - language: generic env: TOXENV=py3 os: osx addons: homebrew: packages: - augeas - python3 if: type = cron # Only build pushes to the master branch, PRs, and branches beginning with # `test-` or of the form `digit(s).digit(s).x`. This reduces the number of # simultaneous Travis runs, which speeds turnaround time on review since there # is a cap of on the number of simultaneous runs. branches: only: - master - /^\d+\.\d+\.x$/ - /^test-.*$/ # container-based infrastructure sudo: false addons: apt: packages: # Keep in sync with letsencrypt-auto-source/pieces/bootstrappers/deb_common.sh and Boulder. - python-dev - python-virtualenv - gcc - libaugeas0 - libssl-dev - libffi-dev - ca-certificates # For certbot-nginx integration testing - nginx-light - openssl install: "travis_retry $(command -v pip || command -v pip3) install codecov tox" script: - travis_retry tox - '[ -z "${BOULDER_INTEGRATION+x}" ] || (travis_retry tests/boulder-fetch.sh && tests/tox-boulder-integration.sh)' after_success: '[ "$TOXENV" == "py27-cover" ] && codecov' notifications: email: false irc: channels: - secure: "SGWZl3ownKx9xKVV2VnGt7DqkTmutJ89oJV9tjKhSs84kLijU6EYdPnllqISpfHMTxXflNZuxtGo0wTDYHXBuZL47w1O32W6nzuXdra5zC+i4sYQwYULUsyfOv9gJX8zWAULiK0Z3r0oho45U+FR5ZN6TPCidi8/eGU+EEPwaAw=" on_cancel: never on_success: never on_failure: always use_notice: true