mirror of
https://github.com/certbot/certbot.git
synced 2026-06-05 06:42:10 -04:00
125 lines
3.2 KiB
YAML
125 lines
3.2 KiB
YAML
language: python
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/.cache/pip
|
|
|
|
before_script:
|
|
- 'if [ $TRAVIS_OS_NAME = osx ] ; then ulimit -n 1024 ; 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:
|
|
- 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 on non-master branches.
|
|
extended-test-suite: &extended-test-suite
|
|
if: type = cron OR (type = push AND branch != master)
|
|
|
|
matrix:
|
|
include:
|
|
# Main test suite
|
|
- python: "2.7"
|
|
env: BOULDER_INTEGRATION=v1 INTEGRATION_TEST=all TOXENV=py27_install
|
|
sudo: required
|
|
services: docker
|
|
<<: *not-on-master
|
|
- python: "2.7"
|
|
env: BOULDER_INTEGRATION=v2 INTEGRATION_TEST=all TOXENV=py27_install
|
|
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"
|
|
|
|
- sudo: required
|
|
env: TOXENV=nginx_compat
|
|
services: docker
|
|
before_install:
|
|
addons:
|
|
<<: *not-on-master
|
|
- 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"
|
|
env: TOXENV='py27-{acme,apache,certbot,dns,nginx,postfix}-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_trusty
|
|
services: docker
|
|
before_install:
|
|
addons:
|
|
<<: *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
|
|
|
|
|
|
# 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: "$(command -v pip || command -v pip3) install codecov tox"
|
|
script:
|
|
- tox
|
|
- '[ -z "${BOULDER_INTEGRATION+x}" ] || (tests/boulder-fetch.sh && tests/tox-boulder-integration.sh)'
|
|
|
|
after_success: '[ "$TOXENV" == "py27-cover" ] && codecov -F linux'
|
|
|
|
notifications:
|
|
email: false
|