Merge pull request #19 from geerlingguy/15-coverage

Add codecov coverage reporting like grafana collection
This commit is contained in:
Jeff Geerling
2020-02-11 17:39:59 -06:00
committed by GitHub
4 changed files with 42 additions and 1 deletions

View File

@@ -48,3 +48,6 @@ jobs:
- name: Run integration tests on Python ${{ matrix.python_version }}
run: ansible-test integration --docker -v --color --retry-on-error --python ${{ matrix.python_version }} --continue-on-error --diff --coverage
- name: Upload coverage data
run: tests/coverage.sh

View File

@@ -1,6 +1,6 @@
# Kubernetes Collection for Ansible
[![CI](https://github.com/ansible-collections/kubernetes/workflows/CI/badge.svg?branch=master)](https://github.com/ansible-collections/kubernetes/actions)
[![CI](https://github.com/ansible-collections/kubernetes/workflows/CI/badge.svg?branch=master)](https://github.com/ansible-collections/kubernetes/actions) [![Codecov](https://img.shields.io/codecov/c/github/ansible-collections/kubernetes)](https://codecov.io/gh/ansible-collections/kubernetes)
This repo hosts the `community.kubernetes` Ansible Collection.

4
codecov.yml Normal file
View File

@@ -0,0 +1,4 @@
coverage:
precision: 2
round: down
range: "70...100"

34
tests/coverage.sh Executable file
View File

@@ -0,0 +1,34 @@
#!/bin/bash -eux
set -o pipefail
# Script Collection CI
# Once working, we may move this script elsewhere - gundalow
if find tests/output/coverage/ -mindepth 1 -name '.*' -prune -o -print -quit | grep -q .; then
stub=""
# shellcheck disable=SC2086
ansible-test coverage xml -v --requirements --group-by command --group-by version ${stub:+"$stub"}
# upload coverage report to codecov.io
# Example: tests/output/coverage/integration=kubernetes_team=docker-default=python-3.6=coverage.98a48352c8fc.4207.186313
for file in tests/output/coverage/coverage=*.xml; do
flags="${file##*/coverage=}"
flags="${flags%.xml}"
flags="${flags//=/,}"
flags="${flags//[^a-zA-Z0-9_,]/_}"
bash <(curl -s https://codecov.io/bash) \
-f "${file}" \
-F "${flags}" \
-t d6ff3062-7455-4de8-a8cb-55b3b1ddf5b2 \
-X coveragepy \
-X gcov \
-X fix \
-X search \
-X xcode \
-K \
|| echo "Failed to upload code coverage report to codecov.io: ${file}"
done
fi