mirror of
https://github.com/certbot/certbot.git
synced 2026-06-07 15:52:08 -04:00
75 lines
2.7 KiB
YAML
75 lines
2.7 KiB
YAML
language: python
|
|
dist: xenial
|
|
|
|
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'
|
|
# 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
|
|
# `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:
|
|
# This job is always executed, including on master
|
|
- python: "2.7"
|
|
env: TOXENV=py27-cover FYI="py27 tests + code coverage"
|
|
|
|
# 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'
|
|
# Most of the time TRAVIS_RETRY is an empty string, and has no effect on the
|
|
# script command. It is set only to `travis_retry` during farm tests, in
|
|
# order to trigger the Travis retry feature, and compensate the inherent
|
|
# flakiness of these specific tests.
|
|
script: '$TRAVIS_RETRY tox'
|
|
|
|
after_success: '[ "$TOXENV" == "py27-cover" ] && codecov -F linux'
|
|
|
|
notifications:
|
|
email: false
|