diff --git a/.azure-pipelines/templates/extended-tests-jobs.yml b/.azure-pipelines/templates/extended-tests-jobs.yml index ad521b202..c9229ece5 100644 --- a/.azure-pipelines/templates/extended-tests-jobs.yml +++ b/.azure-pipelines/templates/extended-tests-jobs.yml @@ -78,6 +78,18 @@ jobs: TOXENV: le_auto_oraclelinux6 dev: TOXENV: docker_dev + farmtest-apache2: + PYTHON_VERSION: 3.7 + TOXENV: azure-test-farm-apache2 + farmtest-leauto-upgrades: + PYTHON_VERSION: 3.7 + TOXENV: azure-test-farm-leauto-upgrades + farmtest-certonly-standalone: + PYTHON_VERSION: 3.7 + TOXENV: azure-test-farm-certonly-standalone + farmtest-sdists: + PYTHON_VERSION: 3.7 + TOXENV: azure-test-farm-sdists pool: vmImage: $(IMAGE_NAME) steps: diff --git a/.azure-pipelines/templates/tox-steps.yml b/.azure-pipelines/templates/tox-steps.yml index bc39cdf80..66b79513a 100644 --- a/.azure-pipelines/templates/tox-steps.yml +++ b/.azure-pipelines/templates/tox-steps.yml @@ -27,7 +27,10 @@ steps: python tools/pip_install.py -U tox coverage displayName: Install runtime dependencies - bash: | - exit 1 + if [[ "${TOXENV}" == *"test-farm"* ]]; then + # To be removed once farm tests are configured on Azure + exit 0 + fi if [[ "${TOXENV}" == *"oldest"* ]]; then tools/run_oldest_tests.sh elif command -v unbuffer >/dev/null 2>&1; then diff --git a/certbot/docs/contributing.rst b/certbot/docs/contributing.rst index 73e681150..50297152e 100644 --- a/certbot/docs/contributing.rst +++ b/certbot/docs/contributing.rst @@ -206,7 +206,7 @@ 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 stats with `travis-test-`, only our Travis +our Travis tests. If the branch starts with `travis-test-`, only our Travis tests will be run. Code components and layout diff --git a/tests/letstest/azure-setup.sh b/tests/letstest/azure-setup.sh new file mode 100644 index 000000000..9817ce853 --- /dev/null +++ b/tests/letstest/azure-setup.sh @@ -0,0 +1,10 @@ +#!/bin/bash -ex +# +# Preps the test farm tests to be run in Travis. + +if [ "$BUILD_REASON" = "PullRequest" ]; then + echo This script must be run in Azure on a non-pull request build + exit 1 +fi + +openssl aes-256-cbc -K "${FARMTEST_SECURE_KEY}" -iv "${FARMTEST_SECURE_IV}" -in azure-test-farm.pem.enc -out azure-test-farm.pem -d diff --git a/tests/letstest/travis-test-farm.pem.enc b/tests/letstest/azure-test-farm.pem.enc similarity index 100% rename from tests/letstest/travis-test-farm.pem.enc rename to tests/letstest/azure-test-farm.pem.enc diff --git a/tests/letstest/travis-setup.sh b/tests/letstest/travis-setup.sh deleted file mode 100755 index 261a1504f..000000000 --- a/tests/letstest/travis-setup.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -ex -# -# Preps the test farm tests to be run in Travis. - -if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then - echo This script must be run in Travis on a non-pull request build - exit 1 -fi - -openssl aes-256-cbc -K "${encrypted_9a387195a62e_key}" -iv "${encrypted_9a387195a62e_iv}" -in travis-test-farm.pem.enc -out travis-test-farm.pem -d diff --git a/tox.ini b/tox.ini index 46e73e32f..54aa0169c 100644 --- a/tox.ini +++ b/tox.ini @@ -283,49 +283,51 @@ commands = passenv = DOCKER_* setenv = {[testenv:py27-oldest]setenv} -[testenv:travis-test-farm-tests-base] +[testenv:azure-test-farm-tests-base] changedir = tests/letstest commands = - ./travis-setup.sh + ./azure-setup.sh deps = -rtests/letstest/requirements.txt passenv = AWS_* - TRAVIS_* - encrypted_* + SYSTEM_DEFAULTWORKINGDIRECTORY + BUILD_SOURCEBRANCHNAME + FARMTEST_SECURE_KEY + FARMTEST_SECURE_IV setenv = AWS_DEFAULT_REGION=us-east-1 -[testenv:travis-test-farm-apache2] -changedir = {[testenv:travis-test-farm-tests-base]changedir} +[testenv:azure-test-farm-apache2] +changedir = {[testenv:azure-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:azure-test-farm-tests-base]commands} + python multitester.py apache2_targets.yaml azure-test-farm.pem SET_BY_ENV scripts/test_apache2.sh --repo {env:SYSTEM_DEFAULTWORKINGDIRECTORY} --branch {env:BUILD_SOURCEBRANCHNAME} +deps = {[testenv:azure-test-farm-tests-base]deps} +passenv = {[testenv:azure-test-farm-tests-base]passenv} +setenv = {[testenv:azure-test-farm-tests-base]setenv} -[testenv:travis-test-farm-leauto-upgrades] -changedir = {[testenv:travis-test-farm-tests-base]changedir} +[testenv:azure-test-farm-leauto-upgrades] +changedir = {[testenv:azure-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:azure-test-farm-tests-base]commands} + python multitester.py targets.yaml azure-test-farm.pem SET_BY_ENV scripts/test_leauto_upgrades.sh --repo {env:SYSTEM_DEFAULTWORKINGDIRECTORY} --branch {env:BUILD_SOURCEBRANCHNAME} +deps = {[testenv:azure-test-farm-tests-base]deps} +passenv = {[testenv:azure-test-farm-tests-base]passenv} +setenv = {[testenv:azure-test-farm-tests-base]setenv} -[testenv:travis-test-farm-certonly-standalone] -changedir = {[testenv:travis-test-farm-tests-base]changedir} +[testenv:azure-test-farm-certonly-standalone] +changedir = {[testenv:azure-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:azure-test-farm-tests-base]commands} + python multitester.py targets.yaml azure-test-farm.pem SET_BY_ENV scripts/test_letsencrypt_auto_certonly_standalone.sh --repo {env:SYSTEM_DEFAULTWORKINGDIRECTORY} --branch {env:BUILD_SOURCEBRANCHNAME} +deps = {[testenv:azure-test-farm-tests-base]deps} +passenv = {[testenv:azure-test-farm-tests-base]passenv} +setenv = {[testenv:azure-test-farm-tests-base]setenv} -[testenv:travis-test-farm-sdists] -changedir = {[testenv:travis-test-farm-tests-base]changedir} +[testenv:azure-test-farm-sdists] +changedir = {[testenv:azure-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:azure-test-farm-tests-base]commands} + python multitester.py targets.yaml azure-test-farm.pem SET_BY_ENV scripts/test_sdists.sh --repo {env:SYSTEM_DEFAULTWORKINGDIRECTORY} --branch {env:BUILD_SOURCEBRANCHNAME} +deps = {[testenv:azure-test-farm-tests-base]deps} +passenv = {[testenv:azure-test-farm-tests-base]passenv} +setenv = {[testenv:azure-test-farm-tests-base]setenv}