summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSviatoslav Sydorenko (Святослав Сидоренко) <wk@sydorenko.org.ua>2024-09-17 15:53:56 +0200
committerGitHub <noreply@github.com>2024-09-17 15:53:56 +0200
commit66e7210ba41eef525d60def7438f3596488d5615 (patch)
treeed115ebf9a3fa707679445183d8fb177ec4ce089
parent🧪 Delegate source filtering to coverage.py (#15528) (diff)
downloadawx-66e7210ba41eef525d60def7438f3596488d5615.tar.xz
awx-66e7210ba41eef525d60def7438f3596488d5615.zip
🧪 Upload coverage from the rest of CI jobs (#15526)
-rw-r--r--.codecov.yml2
-rw-r--r--.github/workflows/ci.yml2
-rw-r--r--Makefile24
3 files changed, 19 insertions, 9 deletions
diff --git a/.codecov.yml b/.codecov.yml
index f7a04bd8a0..62cb24f1bb 100644
--- a/.codecov.yml
+++ b/.codecov.yml
@@ -2,7 +2,7 @@
codecov:
notify:
- after_n_builds: 1 # Number of test matrix+lint jobs uploading coverage
+ after_n_builds: 5 # Number of test matrix+lint jobs uploading coverage
wait_for_ci: false
require_ci_to_pass: false
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c8b8c9c344..06bd26fbf3 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -59,7 +59,6 @@ jobs:
- name: Upload test coverage to Codecov
if: >-
!cancelled()
- && matrix.tests.name == 'api-test'
&& steps.make-run.outputs.cov-report-files != ''
uses: codecov/codecov-action@v4
with:
@@ -79,7 +78,6 @@ jobs:
- name: Upload test results to Codecov
if: >-
!cancelled()
- && matrix.tests.name == 'api-test'
&& steps.make-run.outputs.test-result-files != ''
uses: codecov/test-results-action@v1
with:
diff --git a/Makefile b/Makefile
index 532c5e3a22..124119ce70 100644
--- a/Makefile
+++ b/Makefile
@@ -327,7 +327,12 @@ swagger: reports
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
- (set -o pipefail && py.test $(PYTEST_ARGS) awx/conf/tests/functional awx/main/tests/functional/api awx/main/tests/docs | tee reports/$@.report)
+ (set -o pipefail && py.test --cov --cov-report=xml --junitxml=reports/junit.xml $(PYTEST_ARGS) awx/conf/tests/functional awx/main/tests/functional/api awx/main/tests/docs | tee reports/$@.report)
+ @if [ "${GITHUB_ACTIONS}" = "true" ]; \
+ then \
+ echo 'cov-report-files=reports/coverage.xml' >> "${GITHUB_OUTPUT}"; \
+ echo 'test-result-files=reports/junit.xml' >> "${GITHUB_OUTPUT}"; \
+ fi
check: black
@@ -361,10 +366,12 @@ test_coverage:
fi
test_migrations:
- if [ "$(VENV_BASE)" ]; then \
- . $(VENV_BASE)/awx/bin/activate; \
- fi; \
- PYTHONDONTWRITEBYTECODE=1 py.test -p no:cacheprovider --migrations -m migration_test $(PYTEST_ARGS) $(TEST_DIRS)
+ PYTHONDONTWRITEBYTECODE=1 py.test -p no:cacheprovider --migrations -m migration_test --create-db --cov=awx --cov-report=xml --junitxml=reports/junit.xml $(PYTEST_ARGS) $(TEST_DIRS)
+ @if [ "${GITHUB_ACTIONS}" = "true" ]; \
+ then \
+ echo 'cov-report-files=reports/coverage.xml' >> "${GITHUB_OUTPUT}"; \
+ echo 'test-result-files=reports/junit.xml' >> "${GITHUB_OUTPUT}"; \
+ fi
## Runs AWX_DOCKER_CMD inside a new docker container.
docker-runner:
@@ -377,7 +384,12 @@ test_collection:
fi && \
if ! [ -x "$(shell command -v ansible-playbook)" ]; then pip install ansible-core; fi
ansible --version
- py.test $(COLLECTION_TEST_DIRS) -v
+ py.test $(COLLECTION_TEST_DIRS) --cov --cov-report=xml --junitxml=reports/junit.xml -v
+ @if [ "${GITHUB_ACTIONS}" = "true" ]; \
+ then \
+ echo 'cov-report-files=reports/coverage.xml' >> "${GITHUB_OUTPUT}"; \
+ echo 'test-result-files=reports/junit.xml' >> "${GITHUB_OUTPUT}"; \
+ fi
# The python path needs to be modified so that the tests can find Ansible within the container
# First we will use anything expility set as PYTHONPATH
# Second we will load any libraries out of the virtualenv (if it's unspecified that should be ok because python should not load out of an empty directory)