Compare commits

...

4 Commits

Author SHA1 Message Date
Adrien Ferrand
a9d7b6eb12 Enable only farm tests 2019-08-14 20:25:30 +02:00
Adrien Ferrand
b8a6ec4299 Update .travis.yml 2019-08-14 20:18:54 +02:00
Adrien Ferrand
49eaa200e5 travis_retry is a bash function, so it can be called only from current bash 2019-08-14 17:40:49 +02:00
Adrien Ferrand
119dc8ee20 Use travis_retry in travis builds to retry the farm tests 2019-08-14 17:07:15 +02:00

View File

@@ -8,6 +8,8 @@ before_script:
- 'if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ulimit -n 1024 ; fi'
# On Travis, the fastest parallelization for integration tests has proved to be 4.
- 'if [[ "$TOXENV" == *"integration"* ]]; then export PYTEST_ADDOPTS="--numprocesses 4"; fi'
# Use Travis retry feature for farm tests since they are flaky
- 'if [[ "$TOXENV" == "travis-test-farm"* ]]; then export TRAVIS_RETRY=travis_retry; fi'
- export TOX_TESTENV_PASSENV=TRAVIS
# Only build pushes to the master branch, PRs, and branches beginning with
@@ -34,72 +36,72 @@ extended-test-suite: &extended-test-suite
matrix:
include:
# Main test suite
- python: "2.7"
env: ACME_SERVER=pebble TOXENV=integration
sudo: required
services: docker
<<: *not-on-master
# This job is always executed, including on master
- python: "2.7"
env: TOXENV=py27-cover FYI="py27 tests + code coverage"
- python: "2.7"
env: TOXENV=lint
<<: *not-on-master
- python: "3.4"
env: TOXENV=mypy
<<: *not-on-master
- python: "3.5"
env: TOXENV=mypy
<<: *not-on-master
- python: "2.7"
# Ubuntu Trusty or older must be used because the oldest version of
# cryptography we support cannot be compiled against the version of
# OpenSSL in Xenial or newer.
dist: trusty
env: TOXENV='py27-{acme,apache,certbot,dns,nginx}-oldest'
sudo: required
services: docker
<<: *not-on-master
- python: "3.4"
env: TOXENV=py34
sudo: required
services: docker
<<: *not-on-master
- python: "3.7"
dist: xenial
env: TOXENV=py37
sudo: required
services: docker
<<: *not-on-master
- sudo: required
env: TOXENV=apache_compat
services: docker
before_install:
addons:
<<: *not-on-master
- sudo: required
env: TOXENV=le_auto_xenial
services: docker
<<: *not-on-master
- python: "2.7"
env: TOXENV=apacheconftest-with-pebble
sudo: required
services: docker
<<: *not-on-master
- python: "2.7"
env: TOXENV=nginxroundtrip
<<: *not-on-master
# Extended test suite on cron jobs and pushes to tested branches other than master
- sudo: required
env: TOXENV=nginx_compat
services: docker
before_install:
addons:
<<: *extended-test-suite
# # Main test suite
# - python: "2.7"
# env: ACME_SERVER=pebble TOXENV=integration
# sudo: required
# services: docker
# <<: *not-on-master
#
# # This job is always executed, including on master
# - python: "2.7"
# env: TOXENV=py27-cover FYI="py27 tests + code coverage"
#
# - python: "2.7"
# env: TOXENV=lint
# <<: *not-on-master
# - python: "3.4"
# env: TOXENV=mypy
# <<: *not-on-master
# - python: "3.5"
# env: TOXENV=mypy
# <<: *not-on-master
# - python: "2.7"
# # Ubuntu Trusty or older must be used because the oldest version of
# # cryptography we support cannot be compiled against the version of
# # OpenSSL in Xenial or newer.
# dist: trusty
# env: TOXENV='py27-{acme,apache,certbot,dns,nginx}-oldest'
# sudo: required
# services: docker
# <<: *not-on-master
# - python: "3.4"
# env: TOXENV=py34
# sudo: required
# services: docker
# <<: *not-on-master
# - python: "3.7"
# dist: xenial
# env: TOXENV=py37
# sudo: required
# services: docker
# <<: *not-on-master
# - sudo: required
# env: TOXENV=apache_compat
# services: docker
# before_install:
# addons:
# <<: *not-on-master
# - sudo: required
# env: TOXENV=le_auto_xenial
# services: docker
# <<: *not-on-master
# - python: "2.7"
# env: TOXENV=apacheconftest-with-pebble
# sudo: required
# services: docker
# <<: *not-on-master
# - python: "2.7"
# env: TOXENV=nginxroundtrip
# <<: *not-on-master
#
# # Extended test suite on cron jobs and pushes to tested branches other than master
# - sudo: required
# env: TOXENV=nginx_compat
# services: docker
# before_install:
# addons:
# <<: *extended-test-suite
- python: "2.7"
env:
- TOXENV=travis-test-farm-apache2
@@ -122,135 +124,135 @@ matrix:
- TOXENV=travis-test-farm-sdists
- secure: "f+j/Lj9s1lcuKo5sEFrlRd1kIAMnIJI4z0MTI7QF8jl9Fkmbx7KECGzw31TNgzrOSzxSapHbcueFYvNCLKST+kE/8ogMZBbwqXfEDuKpyF6BY3uYoJn+wPVE5pIb8Hhe08xPte8TTDSMIyHI3EyTfcAKrIreauoArePvh/cRvSw="
<<: *extended-test-suite
- python: "3.7"
dist: xenial
env: TOXENV=py37 CERTBOT_NO_PIN=1
<<: *extended-test-suite
- python: "2.7"
env: ACME_SERVER=boulder-v1 TOXENV=integration
sudo: required
services: docker
<<: *extended-test-suite
- python: "2.7"
env: ACME_SERVER=boulder-v2 TOXENV=integration
sudo: required
services: docker
<<: *extended-test-suite
- python: "2.7"
env: ACME_SERVER=boulder-v1 TOXENV=integration-certbot-oldest
sudo: required
services: docker
<<: *extended-test-suite
- python: "2.7"
env: ACME_SERVER=boulder-v2 TOXENV=integration-certbot-oldest
sudo: required
services: docker
<<: *extended-test-suite
- python: "2.7"
env: ACME_SERVER=boulder-v1 TOXENV=integration-nginx-oldest
sudo: required
services: docker
<<: *extended-test-suite
- python: "2.7"
env: ACME_SERVER=boulder-v2 TOXENV=integration-nginx-oldest
sudo: required
services: docker
<<: *extended-test-suite
- python: "3.4"
env: TOXENV=py34
<<: *extended-test-suite
- python: "3.5"
env: TOXENV=py35
<<: *extended-test-suite
- python: "3.6"
env: TOXENV=py36
<<: *extended-test-suite
- python: "3.7"
dist: xenial
env: TOXENV=py37
<<: *extended-test-suite
- python: "3.4"
env: ACME_SERVER=boulder-v1 TOXENV=integration
sudo: required
services: docker
<<: *extended-test-suite
- python: "3.4"
env: ACME_SERVER=boulder-v2 TOXENV=integration
sudo: required
services: docker
<<: *extended-test-suite
- python: "3.5"
env: ACME_SERVER=boulder-v1 TOXENV=integration
sudo: required
services: docker
<<: *extended-test-suite
- python: "3.5"
env: ACME_SERVER=boulder-v2 TOXENV=integration
sudo: required
services: docker
<<: *extended-test-suite
- python: "3.6"
env: ACME_SERVER=boulder-v1 TOXENV=integration
sudo: required
services: docker
<<: *extended-test-suite
- python: "3.6"
env: ACME_SERVER=boulder-v2 TOXENV=integration
sudo: required
services: docker
<<: *extended-test-suite
- python: "3.7"
dist: xenial
env: ACME_SERVER=boulder-v1 TOXENV=integration
sudo: required
services: docker
<<: *extended-test-suite
- python: "3.7"
dist: xenial
env: ACME_SERVER=boulder-v2 TOXENV=integration
sudo: required
services: docker
<<: *extended-test-suite
- sudo: required
env: TOXENV=le_auto_jessie
services: docker
<<: *extended-test-suite
- sudo: required
env: TOXENV=le_auto_centos6
services: docker
<<: *extended-test-suite
- sudo: required
env: TOXENV=docker_dev
services: docker
addons:
apt:
packages: # don't install nginx and apache
- libaugeas0
<<: *extended-test-suite
- language: generic
env: TOXENV=py27
os: osx
# Using this osx_image is a workaround for
# https://travis-ci.community/t/xcode-8-3-homebrew-outdated-error/3798.
osx_image: xcode10.2
addons:
homebrew:
packages:
- augeas
- python2
<<: *extended-test-suite
- language: generic
env: TOXENV=py3
os: osx
# Using this osx_image is a workaround for
# https://travis-ci.community/t/xcode-8-3-homebrew-outdated-error/3798.
osx_image: xcode10.2
addons:
homebrew:
packages:
- augeas
- python3
<<: *extended-test-suite
# - python: "3.7"
# dist: xenial
# env: TOXENV=py37 CERTBOT_NO_PIN=1
# <<: *extended-test-suite
# - python: "2.7"
# env: ACME_SERVER=boulder-v1 TOXENV=integration
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "2.7"
# env: ACME_SERVER=boulder-v2 TOXENV=integration
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "2.7"
# env: ACME_SERVER=boulder-v1 TOXENV=integration-certbot-oldest
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "2.7"
# env: ACME_SERVER=boulder-v2 TOXENV=integration-certbot-oldest
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "2.7"
# env: ACME_SERVER=boulder-v1 TOXENV=integration-nginx-oldest
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "2.7"
# env: ACME_SERVER=boulder-v2 TOXENV=integration-nginx-oldest
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "3.4"
# env: TOXENV=py34
# <<: *extended-test-suite
# - python: "3.5"
# env: TOXENV=py35
# <<: *extended-test-suite
# - python: "3.6"
# env: TOXENV=py36
# <<: *extended-test-suite
# - python: "3.7"
# dist: xenial
# env: TOXENV=py37
# <<: *extended-test-suite
# - python: "3.4"
# env: ACME_SERVER=boulder-v1 TOXENV=integration
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "3.4"
# env: ACME_SERVER=boulder-v2 TOXENV=integration
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "3.5"
# env: ACME_SERVER=boulder-v1 TOXENV=integration
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "3.5"
# env: ACME_SERVER=boulder-v2 TOXENV=integration
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "3.6"
# env: ACME_SERVER=boulder-v1 TOXENV=integration
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "3.6"
# env: ACME_SERVER=boulder-v2 TOXENV=integration
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "3.7"
# dist: xenial
# env: ACME_SERVER=boulder-v1 TOXENV=integration
# sudo: required
# services: docker
# <<: *extended-test-suite
# - python: "3.7"
# dist: xenial
# env: ACME_SERVER=boulder-v2 TOXENV=integration
# sudo: required
# services: docker
# <<: *extended-test-suite
# - sudo: required
# env: TOXENV=le_auto_jessie
# services: docker
# <<: *extended-test-suite
# - sudo: required
# env: TOXENV=le_auto_centos6
# services: docker
# <<: *extended-test-suite
# - sudo: required
# env: TOXENV=docker_dev
# services: docker
# addons:
# apt:
# packages: # don't install nginx and apache
# - libaugeas0
# <<: *extended-test-suite
# - language: generic
# env: TOXENV=py27
# os: osx
# # Using this osx_image is a workaround for
# # https://travis-ci.community/t/xcode-8-3-homebrew-outdated-error/3798.
# osx_image: xcode10.2
# addons:
# homebrew:
# packages:
# - augeas
# - python2
# <<: *extended-test-suite
# - language: generic
# env: TOXENV=py3
# os: osx
# # Using this osx_image is a workaround for
# # https://travis-ci.community/t/xcode-8-3-homebrew-outdated-error/3798.
# osx_image: xcode10.2
# addons:
# homebrew:
# packages:
# - augeas
# - python3
# <<: *extended-test-suite
# container-based infrastructure
sudo: false
@@ -273,20 +275,20 @@ addons:
# virtualenv is listed here explicitly to make sure it is upgraded when
# CERTBOT_NO_PIN is set to work around failures we've seen when using an older
# version of virtualenv.
install: "tools/pip_install.py -U codecov tox virtualenv"
script: tox
install: 'tools/pip_install.py -U codecov tox virtualenv'
script: '$TRAVIS_RETRY tox'
after_success: '[ "$TOXENV" == "py27-cover" ] && codecov -F linux'
notifications:
email: false
irc:
channels:
# This is set to a secure variable to prevent forks from sending
# notifications. This value was created by installing
# https://github.com/travis-ci/travis.rb and running
# `travis encrypt "chat.freenode.net#certbot-devel"`.
- secure: "EWW66E2+KVPZyIPR8ViENZwfcup4Gx3/dlimmAZE0WuLwxDCshBBOd3O8Rf6pBokEoZlXM5eDT6XdyJj8n0DLslgjO62pExdunXpbcMwdY7l1ELxX2/UbnDTE6UnPYa09qVBHNG7156Z6yE0x2lH4M9Ykvp0G0cubjPQHylAwo0="
on_cancel: never
on_success: never
on_failure: always
#notifications:
# email: false
# irc:
# channels:
# # This is set to a secure variable to prevent forks from sending
# # notifications. This value was created by installing
# # https://github.com/travis-ci/travis.rb and running
# # `travis encrypt "chat.freenode.net#certbot-devel"`.
# - secure: "EWW66E2+KVPZyIPR8ViENZwfcup4Gx3/dlimmAZE0WuLwxDCshBBOd3O8Rf6pBokEoZlXM5eDT6XdyJj8n0DLslgjO62pExdunXpbcMwdY7l1ELxX2/UbnDTE6UnPYa09qVBHNG7156Z6yE0x2lH4M9Ykvp0G0cubjPQHylAwo0="
# on_cancel: never
# on_success: never
# on_failure: always