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 /.azure-pipelines/templates/jobs/standard-tests-jobs.yml | |
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 '.azure-pipelines/templates/jobs/standard-tests-jobs.yml')
-rw-r--r-- | .azure-pipelines/templates/jobs/standard-tests-jobs.yml | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/.azure-pipelines/templates/jobs/standard-tests-jobs.yml b/.azure-pipelines/templates/jobs/standard-tests-jobs.yml new file mode 100644 index 000000000..70d4a57d4 --- /dev/null +++ b/.azure-pipelines/templates/jobs/standard-tests-jobs.yml @@ -0,0 +1,73 @@ +jobs: + - job: test + strategy: + matrix: + macos-py27: + IMAGE_NAME: macOS-10.14 + PYTHON_VERSION: 2.7 + TOXENV: py27 + macos-py38: + IMAGE_NAME: macOS-10.14 + PYTHON_VERSION: 3.8 + TOXENV: py38 + windows-py35: + IMAGE_NAME: vs2017-win2016 + PYTHON_VERSION: 3.5 + TOXENV: py35 + windows-py37-cover: + IMAGE_NAME: vs2017-win2016 + PYTHON_VERSION: 3.7 + TOXENV: py37-cover + windows-integration-certbot: + IMAGE_NAME: vs2017-win2016 + PYTHON_VERSION: 3.7 + TOXENV: integration-certbot + linux-oldest-tests-1: + IMAGE_NAME: ubuntu-18.04 + TOXENV: py27-{acme,apache,apache-v2,certbot}-oldest + linux-oldest-tests-2: + IMAGE_NAME: ubuntu-18.04 + TOXENV: py27-{dns,nginx}-oldest + linux-py27: + IMAGE_NAME: ubuntu-18.04 + PYTHON_VERSION: 2.7 + TOXENV: py27 + linux-py35: + IMAGE_NAME: ubuntu-18.04 + PYTHON_VERSION: 3.5 + TOXENV: py35 + linux-py38-cover: + IMAGE_NAME: ubuntu-18.04 + PYTHON_VERSION: 3.8 + TOXENV: py38-cover + linux-py37-lint: + IMAGE_NAME: ubuntu-18.04 + PYTHON_VERSION: 3.7 + TOXENV: lint + linux-py35-mypy: + IMAGE_NAME: ubuntu-18.04 + PYTHON_VERSION: 3.5 + TOXENV: mypy + linux-integration: + IMAGE_NAME: ubuntu-18.04 + PYTHON_VERSION: 2.7 + TOXENV: integration + ACME_SERVER: pebble + apache-compat: + IMAGE_NAME: ubuntu-18.04 + TOXENV: apache_compat + le-auto-xenial: + IMAGE_NAME: ubuntu-18.04 + TOXENV: le_auto_xenial + apacheconftest: + IMAGE_NAME: ubuntu-18.04 + PYTHON_VERSION: 2.7 + TOXENV: apacheconftest-with-pebble + nginxroundtrip: + IMAGE_NAME: ubuntu-18.04 + PYTHON_VERSION: 2.7 + TOXENV: nginxroundtrip + pool: + vmImage: $(IMAGE_NAME) + steps: + - template: ../steps/tox-steps.yml |