From e803eed75b990b595db837726881382147fa1f3e Mon Sep 17 00:00:00 2001 From: Sviatoslav Sydorenko Date: Sun, 15 Sep 2024 02:35:15 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=AA=20Upload=20coverage=20from=20the?= =?UTF-8?q?=20rest=20of=20CI=20jobs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .codecov.yml | 2 +- .github/workflows/ci.yml | 2 -- Makefile | 24 ++++++++++++++++++------ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/.codecov.yml b/.codecov.yml index f7a04bd8a08b..62cb24f1bb06 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 c8b8c9c34428..06bd26fbf3d0 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 7ae02197c0a0..66f38fe7a1e8 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)