Farm tests on Azure configuration

This commit is contained in:
Adrien Ferrand 2020-04-26 18:42:56 +02:00
parent 75f8dddf88
commit 02e630d5a9
7 changed files with 61 additions and 44 deletions

View file

@ -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:

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

66
tox.ini
View file

@ -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}