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.
This commit is contained in:
Adrien Ferrand
2020-07-02 15:01:21 -07:00
committed by GitHub
parent cb3ff9ef18
commit 8a3a8c7097
28 changed files with 475 additions and 504 deletions
+4 -8
View File
@@ -137,7 +137,7 @@ of output can make it hard to find specific failures when they happen.
Running automated integration tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Generally it is sufficient to open a pull request and let Github and Travis run
Generally it is sufficient to open a pull request and let Github and Azure Pipelines run
integration tests for you. However, you may want to run them locally before submitting
your pull request. You need Docker and docker-compose installed and working.
@@ -202,12 +202,8 @@ using an HTTP-01 challenge on a machine with Python 3:
Running tests in CI
~~~~~~~~~~~~~~~~~~~
Certbot uses both Azure Pipelines and Travis to run continuous integration
tests. If you are using our Azure and Travis setup, a branch whose name starts
with `test-` will run all Azure and Travis tests on that branch. If the branch
name starts with `azure-test-`, it will run all of our Azure tests and none of
our Travis tests. If the branch starts with `travis-test-`, only our Travis
tests will be run.
Certbot uses Azure Pipelines to run continuous integration tests. If you are using our
Azure setup, a branch whose name starts with `test-` will run all tests on that branch.
Code components and layout
==========================
@@ -455,7 +451,7 @@ Steps:
containing your pull request to squash or amend commits. We use `squash
merges <https://github.com/blog/2141-squash-your-commits>`_ on PRs and
rewriting commits makes changes harder to track between reviews.
6. Did your tests pass on Travis? If they didn't, fix any errors.
6. Did your tests pass on Azure Pipelines? If they didn't, fix any errors.
.. _ask for help: