mirror of
https://github.com/certbot/certbot.git
synced 2026-06-05 14:54:24 -04:00
Nightly tests failed last night at https://travis-ci.com/certbot/certbot/builds/120816454.
The cause was the oldest the version of Ubuntu used in the tests suddenly changed from Trusty to Xenial. You can see Xenial being used in the failing test at https://travis-ci.com/certbot/certbot/jobs/219873088#L9 and Trusty being used at the last passing test at https://travis-ci.com/certbot/certbot/jobs/218936290#L9. The change in the default doesn't seem to be documented (yet) at https://docs.travis-ci.com/user/reference/overview/.
I started to pin Trusty in these tests, however, I noticed that we are running these same unit tests at e6bf3fe7f8/.travis.yml (L58). These other tests are still succeeding because it appears that including `sudo: required` causes Travis to still default to Trusty.
Deleting these duplicated tests fixes our Travis failures and speeds things up ever so slightly.
* Remove duplicate, failing oldest tests.
* pin trusty
292 lines
9.3 KiB
YAML
292 lines
9.3 KiB
YAML
language: python
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/.cache/pip
|
|
|
|
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'
|
|
- export TOX_TESTENV_PASSENV=TRAVIS
|
|
|
|
# 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:
|
|
# apache-parser-v2 is a temporary branch for doing work related to
|
|
# rewriting the parser in the Apache plugin.
|
|
- apache-parser-v2
|
|
- master
|
|
- /^\d+\.\d+\.x$/
|
|
- /^test-.*$/
|
|
|
|
# Jobs for the main test suite are always executed (including on PRs) except for pushes on master.
|
|
not-on-master: ¬-on-master
|
|
if: NOT (type = push AND branch = master)
|
|
|
|
# Jobs for the extended test suite are executed for cron jobs and pushes to
|
|
# non-development branches. See the explanation for apache-parser-v2 above.
|
|
extended-test-suite: &extended-test-suite
|
|
if: type = cron OR (type = push AND branch NOT IN (apache-parser-v2, master))
|
|
|
|
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
|
|
- python: "2.7"
|
|
env:
|
|
- TOXENV=travis-test-farm-apache2
|
|
- secure: "f+j/Lj9s1lcuKo5sEFrlRd1kIAMnIJI4z0MTI7QF8jl9Fkmbx7KECGzw31TNgzrOSzxSapHbcueFYvNCLKST+kE/8ogMZBbwqXfEDuKpyF6BY3uYoJn+wPVE5pIb8Hhe08xPte8TTDSMIyHI3EyTfcAKrIreauoArePvh/cRvSw="
|
|
<<: *extended-test-suite
|
|
- python: "2.7"
|
|
env:
|
|
- TOXENV=travis-test-farm-leauto-upgrades
|
|
- secure: "f+j/Lj9s1lcuKo5sEFrlRd1kIAMnIJI4z0MTI7QF8jl9Fkmbx7KECGzw31TNgzrOSzxSapHbcueFYvNCLKST+kE/8ogMZBbwqXfEDuKpyF6BY3uYoJn+wPVE5pIb8Hhe08xPte8TTDSMIyHI3EyTfcAKrIreauoArePvh/cRvSw="
|
|
git:
|
|
depth: false # This is needed to have the history to checkout old versions of certbot-auto.
|
|
<<: *extended-test-suite
|
|
- python: "2.7"
|
|
env:
|
|
- TOXENV=travis-test-farm-certonly-standalone
|
|
- secure: "f+j/Lj9s1lcuKo5sEFrlRd1kIAMnIJI4z0MTI7QF8jl9Fkmbx7KECGzw31TNgzrOSzxSapHbcueFYvNCLKST+kE/8ogMZBbwqXfEDuKpyF6BY3uYoJn+wPVE5pIb8Hhe08xPte8TTDSMIyHI3EyTfcAKrIreauoArePvh/cRvSw="
|
|
<<: *extended-test-suite
|
|
- python: "2.7"
|
|
env:
|
|
- 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
|
|
|
|
# container-based infrastructure
|
|
sudo: false
|
|
|
|
addons:
|
|
apt:
|
|
packages: # Keep in sync with letsencrypt-auto-source/pieces/bootstrappers/deb_common.sh and Boulder.
|
|
- python-dev
|
|
- gcc
|
|
- libaugeas0
|
|
- libssl-dev
|
|
- libffi-dev
|
|
- ca-certificates
|
|
# For certbot-nginx integration testing
|
|
- nginx-light
|
|
- openssl
|
|
|
|
# tools/pip_install.py is used to pin packages to a known working version
|
|
# except in tests where the environment variable CERTBOT_NO_PIN is set.
|
|
# 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
|
|
|
|
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
|