summaryrefslogtreecommitdiffstats
path: root/ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/publish-codecov.sh
blob: 5dd7cfde7c6bc65d5be1736cce93a936ea077c1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env bash
# Upload code coverage reports to codecov.io.
# Multiple coverage files from multiple languages are accepted and aggregated after upload.
# Python coverage, as well as PowerShell and Python stubs can all be uploaded.

set -o pipefail -eu

output_path="$1"

curl --silent --show-error https://ansible-ci-files.s3.us-east-1.amazonaws.com/codecov/codecov.sh > codecov.sh

for file in "${output_path}"/reports/coverage*.xml; do
  name="${file}"
  name="${name##*/}" # remove path
  name="${name##coverage=}" # remove 'coverage=' prefix if present
  name="${name%.xml}" # remove '.xml' suffix

  bash codecov.sh \
    -f "${file}" \
    -n "${name}" \
    -X coveragepy \
    -X gcov \
    -X fix \
    -X search \
    -X xcode ||
    echo "Failed to upload code coverage report to codecov.io: ${file}"
done