From 3274e02fd87b93975d409ec47661b8011b1a7fbf Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Tue, 15 Dec 2020 15:28:44 -0800 Subject: [PATCH] Update Azure Pipelines scripts and config. (#72986) * Increase fetch depth to reduce the frequency of full test runs for out-of-date PRs. * Update scripts to match those which will be used in collections. --- .azure-pipelines/azure-pipelines.yml | 2 +- .azure-pipelines/scripts/aggregate-coverage.sh | 7 ++++++- .azure-pipelines/scripts/report-coverage.sh | 7 +++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.azure-pipelines/azure-pipelines.yml b/.azure-pipelines/azure-pipelines.yml index 0ea1de8aa21..1edccb067a4 100644 --- a/.azure-pipelines/azure-pipelines.yml +++ b/.azure-pipelines/azure-pipelines.yml @@ -31,7 +31,7 @@ variables: - name: entryPoint value: test/utils/shippable/shippable.sh - name: fetchDepth - value: 100 + value: 500 resources: containers: diff --git a/.azure-pipelines/scripts/aggregate-coverage.sh b/.azure-pipelines/scripts/aggregate-coverage.sh index 2200502f56a..f3113dd0a9f 100755 --- a/.azure-pipelines/scripts/aggregate-coverage.sh +++ b/.azure-pipelines/scripts/aggregate-coverage.sh @@ -12,4 +12,9 @@ mkdir "${agent_temp_directory}/coverage/" options=(--venv --venv-system-site-packages --color -v) ansible-test coverage combine --export "${agent_temp_directory}/coverage/" "${options[@]}" -ansible-test coverage analyze targets generate "${agent_temp_directory}/coverage/coverage-analyze-targets.json" "${options[@]}" + +if ansible-test coverage analyze targets generate --help >/dev/null 2>&1; then + # Only analyze coverage if the installed version of ansible-test supports it. + # Doing so allows this script to work unmodified for multiple Ansible versions. + ansible-test coverage analyze targets generate "${agent_temp_directory}/coverage/coverage-analyze-targets.json" "${options[@]}" +fi diff --git a/.azure-pipelines/scripts/report-coverage.sh b/.azure-pipelines/scripts/report-coverage.sh index d8a689d8031..1bd91bdc99f 100755 --- a/.azure-pipelines/scripts/report-coverage.sh +++ b/.azure-pipelines/scripts/report-coverage.sh @@ -5,4 +5,11 @@ set -o pipefail -eu PATH="${PWD}/bin:${PATH}" +if ! ansible-test --help >/dev/null 2>&1; then + # Install the devel version of ansible-test for generating code coverage reports. + # This is only used by Ansible Collections, which are typically tested against multiple Ansible versions (in separate jobs). + # Since a version of ansible-test is required that can work the output from multiple older releases, the devel version is used. + pip install https://github.com/ansible/ansible/archive/devel.tar.gz --disable-pip-version-check +fi + ansible-test coverage xml --stub --venv --venv-system-site-packages --color -v