tests: Skip AWS ECR login outside of CI jobs
To avoid rate limiting errors, CI (currently Azure Devops) logs into the container registry (currently AWS ECR). Outside CI this is unnnecessary and makes it harder to run the tests, because very few people have access to a suitable AWS secret token. Following this change `aws ecr-public get-login-password` will only be run if the environment variable $TF_BUILD==True. This is set by Azure Pipelines jobs. If the CI platform is changed then another indicator should be used. https://adamj.eu/tech/2020/03/09/detect-if-your-tests-are-running-on-ci/
This commit is contained in:
parent
fe26b70902
commit
8613f685ab
|
@ -4,7 +4,7 @@ import ci_lib
|
|||
|
||||
batches = [
|
||||
[
|
||||
'aws ecr-public get-login-password | docker login --username AWS --password-stdin public.ecr.aws',
|
||||
'if [ "${TF_BUILD:-false}" = "True" ]; then aws ecr-public get-login-password | docker login --username AWS --password-stdin public.ecr.aws; fi',
|
||||
]
|
||||
]
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ ci_lib.run_batches([
|
|||
'python -m pip --no-python-version-warning --disable-pip-version-check "debops[ansible]==2.1.2"',
|
||||
],
|
||||
[
|
||||
'aws ecr-public get-login-password | docker login --username AWS --password-stdin public.ecr.aws',
|
||||
'if [ "${TF_BUILD:-false}" = "True" ]; then aws ecr-public get-login-password | docker login --username AWS --password-stdin public.ecr.aws; fi',
|
||||
],
|
||||
])
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ batches = [
|
|||
|
||||
if ci_lib.have_docker():
|
||||
batches.append([
|
||||
'aws ecr-public get-login-password | docker login --username AWS --password-stdin public.ecr.aws',
|
||||
'if [ "${TF_BUILD:-false}" = "True" ]; then aws ecr-public get-login-password | docker login --username AWS --password-stdin public.ecr.aws; fi',
|
||||
])
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ import ci_lib
|
|||
|
||||
batches = [
|
||||
[
|
||||
'aws ecr-public get-login-password | docker login --username AWS --password-stdin public.ecr.aws',
|
||||
'if [ "${TF_BUILD:-false}" = "True" ]; then aws ecr-public get-login-password | docker login --username AWS --password-stdin public.ecr.aws; fi',
|
||||
],
|
||||
[
|
||||
'curl https://dw.github.io/mitogen/binaries/ubuntu-python-2.4.6.tar.bz2 | sudo tar -C / -jxv',
|
||||
|
|
3
tox.ini
3
tox.ini
|
@ -104,6 +104,9 @@ passenv =
|
|||
AWS_DEFAULT_REGION
|
||||
AWS_SECRET_ACCESS_KEY
|
||||
HOME
|
||||
# Azure DevOps, TF_BUILD is set to 'True' when running in a build task
|
||||
# https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables
|
||||
TF_BUILD
|
||||
setenv =
|
||||
# See also azure-pipelines.yml
|
||||
ANSIBLE_STRATEGY = mitogen_linear
|
||||
|
|
Loading…
Reference in New Issue