diff options
author | Adrien Ferrand <adferrand@users.noreply.github.com> | 2020-07-03 01:01:21 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-03 01:01:21 +0300 |
commit | 8a3a8c7097fbf91998d15adef3c780d4734d50e3 (patch) | |
tree | c9cd76d8dfc65ee5c0383b76be01c70f5f15eb6d /tox.ini | |
parent | cb3ff9ef18a6a2341192731e207674a5c4705ec4 (diff) |
Migrate the CI pipeline from Travis to Azure Pipeline (#8098)
Fixes #8071 and fixes https://github.com/certbot/certbot/issues/8110.
This PR migrates every job from Travis in Azure Pipeline.
This PR essentially converts the Travis jobs into Azure Pipeline with a complete iso-fonctionality (or I made a mistake). The jobs are added in the relevant existing pipelines (`main`, `nightly`, `advanced-test`, `release`). A global refactoring thanks to the templating system is done to reduce greatly the verbosity of the pipeline descriptions.
A specific feature (not present in Travis) is added: the stage `On_Failure`. Using directly the Mattermost API, it allows to notify pipeline failure in a Mattermost channel with a link to the failed pipelines without the need to authenticate to Microsoft.
See https://github.com/certbot/certbot/pull/8098#issuecomment-649873641 for the post merge actions to do at the end of this work.
Diffstat (limited to 'tox.ini')
-rw-r--r-- | tox.ini | 83 |
1 files changed, 36 insertions, 47 deletions
@@ -165,12 +165,13 @@ commands = [testenv:modification] commands = python {toxinidir}/tests/modification-check.py +passenv = TARGET_BRANCH [testenv:apache_compat] commands = docker build -t certbot-compatibility-test -f certbot-compatibility-test/Dockerfile . docker build -t apache-compat -f certbot-compatibility-test/Dockerfile-apache . - docker run --rm -it apache-compat -c apache.tar.gz -vvvv + docker run --rm -t apache-compat -c apache.tar.gz -vvvv whitelist_externals = docker passenv = @@ -180,7 +181,7 @@ passenv = commands = docker build -t certbot-compatibility-test -f certbot-compatibility-test/Dockerfile . docker build -t nginx-compat -f certbot-compatibility-test/Dockerfile-nginx . - docker run --rm -it nginx-compat -c nginx.tar.gz -vv -aie + docker run --rm -t nginx-compat -c nginx.tar.gz -vv -aie whitelist_externals = docker passenv = @@ -191,19 +192,19 @@ passenv = commands = python {toxinidir}/tests/modification-check.py docker build -f letsencrypt-auto-source/Dockerfile.xenial -t lea letsencrypt-auto-source - docker run --rm -t -i lea + docker run --rm -t lea whitelist_externals = docker passenv = DOCKER_* - TRAVIS_BRANCH + TARGET_BRANCH [testenv:le_auto_jessie] # At the moment, this tests under Python 2.7 only, as only that version is # readily available on the Wheezy Docker image. commands = docker build -f letsencrypt-auto-source/Dockerfile.jessie -t lea letsencrypt-auto-source - docker run --rm -t -i lea + docker run --rm -t lea whitelist_externals = docker passenv = DOCKER_* @@ -213,7 +214,7 @@ passenv = DOCKER_* # readily available on the CentOS 6 Docker image. commands = docker build -f letsencrypt-auto-source/Dockerfile.redhat6 --build-arg REDHAT_DIST_FLAVOR=centos -t lea letsencrypt-auto-source - docker run --rm -t -i lea + docker run --rm -t lea whitelist_externals = docker passenv = DOCKER_* @@ -223,7 +224,7 @@ passenv = DOCKER_* # readily available on the Oracle Linux 6 Docker image. commands = docker build -f letsencrypt-auto-source/Dockerfile.redhat6 --build-arg REDHAT_DIST_FLAVOR=oraclelinux -t lea letsencrypt-auto-source - docker run --rm -t -i lea + docker run --rm -t lea whitelist_externals = docker passenv = DOCKER_* @@ -283,49 +284,37 @@ commands = passenv = DOCKER_* setenv = {[testenv:py27-oldest]setenv} -[testenv:travis-test-farm-tests-base] +[testenv:test-farm-tests-base] changedir = tests/letstest -commands = - ./travis-setup.sh deps = -rtests/letstest/requirements.txt passenv = AWS_* - TRAVIS_* - encrypted_* setenv = AWS_DEFAULT_REGION=us-east-1 -[testenv:travis-test-farm-apache2] -changedir = {[testenv:travis-test-farm-tests-base]changedir} -commands = - {[testenv:travis-test-farm-tests-base]commands} - python multitester.py apache2_targets.yaml travis-test-farm.pem SET_BY_ENV scripts/test_apache2.sh --repo {env:TRAVIS_BUILD_DIR} --branch {env:TRAVIS_BRANCH} -deps = {[testenv:travis-test-farm-tests-base]deps} -passenv = {[testenv:travis-test-farm-tests-base]passenv} -setenv = {[testenv:travis-test-farm-tests-base]setenv} - -[testenv:travis-test-farm-leauto-upgrades] -changedir = {[testenv:travis-test-farm-tests-base]changedir} -commands = - {[testenv:travis-test-farm-tests-base]commands} - python multitester.py targets.yaml travis-test-farm.pem SET_BY_ENV scripts/test_leauto_upgrades.sh --repo {env:TRAVIS_BUILD_DIR} --branch {env:TRAVIS_BRANCH} -deps = {[testenv:travis-test-farm-tests-base]deps} -passenv = {[testenv:travis-test-farm-tests-base]passenv} -setenv = {[testenv:travis-test-farm-tests-base]setenv} - -[testenv:travis-test-farm-certonly-standalone] -changedir = {[testenv:travis-test-farm-tests-base]changedir} -commands = - {[testenv:travis-test-farm-tests-base]commands} - python multitester.py targets.yaml travis-test-farm.pem SET_BY_ENV scripts/test_letsencrypt_auto_certonly_standalone.sh --repo {env:TRAVIS_BUILD_DIR} --branch {env:TRAVIS_BRANCH} -deps = {[testenv:travis-test-farm-tests-base]deps} -passenv = {[testenv:travis-test-farm-tests-base]passenv} -setenv = {[testenv:travis-test-farm-tests-base]setenv} - -[testenv:travis-test-farm-sdists] -changedir = {[testenv:travis-test-farm-tests-base]changedir} -commands = - {[testenv:travis-test-farm-tests-base]commands} - python multitester.py targets.yaml travis-test-farm.pem SET_BY_ENV scripts/test_sdists.sh --repo {env:TRAVIS_BUILD_DIR} --branch {env:TRAVIS_BRANCH} -deps = {[testenv:travis-test-farm-tests-base]deps} -passenv = {[testenv:travis-test-farm-tests-base]passenv} -setenv = {[testenv:travis-test-farm-tests-base]setenv} +[testenv:test-farm-apache2] +changedir = {[testenv:test-farm-tests-base]changedir} +commands = python multitester.py apache2_targets.yaml {env:AWS_EC2_PEM_FILE} SET_BY_ENV scripts/test_apache2.sh --repo {toxinidir} +deps = {[testenv:test-farm-tests-base]deps} +passenv = {[testenv:test-farm-tests-base]passenv} +setenv = {[testenv:test-farm-tests-base]setenv} + +[testenv:test-farm-leauto-upgrades] +changedir = {[testenv:test-farm-tests-base]changedir} +commands = python multitester.py targets.yaml {env:AWS_EC2_PEM_FILE} SET_BY_ENV scripts/test_leauto_upgrades.sh --repo {toxinidir} +deps = {[testenv:test-farm-tests-base]deps} +passenv = {[testenv:test-farm-tests-base]passenv} +setenv = {[testenv:test-farm-tests-base]setenv} + +[testenv:test-farm-certonly-standalone] +changedir = {[testenv:test-farm-tests-base]changedir} +commands = python multitester.py targets.yaml {env:AWS_EC2_PEM_FILE} SET_BY_ENV scripts/test_letsencrypt_auto_certonly_standalone.sh --repo {toxinidir} +deps = {[testenv:test-farm-tests-base]deps} +passenv = {[testenv:test-farm-tests-base]passenv} +setenv = {[testenv:test-farm-tests-base]setenv} + +[testenv:test-farm-sdists] +changedir = {[testenv:test-farm-tests-base]changedir} +commands = python multitester.py targets.yaml {env:AWS_EC2_PEM_FILE} SET_BY_ENV scripts/test_sdists.sh --repo {toxinidir} +deps = {[testenv:test-farm-tests-base]deps} +passenv = {[testenv:test-farm-tests-base]passenv} +setenv = {[testenv:test-farm-tests-base]setenv} |