mirror of
https://github.com/ansible/awx.git
synced 2026-05-09 18:37:36 -02:30
Combine Django bump with other fixes to github checks (#16015)
* Add no cov on fail flag to fix CI * Bump django to 4.2.21 * Coverage args * Try cov equals awx * Run migration test in parallel * Ignore error and clean up commands * Try to make schema check not hang --------- Co-authored-by: Satoe Imaishi <simaishi@redhat.com>
This commit is contained in:
18
Makefile
18
Makefile
@@ -19,6 +19,12 @@ COLLECTION_VERSION ?= $(shell $(PYTHON) tools/scripts/scm_version.py | cut -d .
|
|||||||
COLLECTION_SANITY_ARGS ?= --docker
|
COLLECTION_SANITY_ARGS ?= --docker
|
||||||
# collection unit testing directories
|
# collection unit testing directories
|
||||||
COLLECTION_TEST_DIRS ?= awx_collection/test/awx
|
COLLECTION_TEST_DIRS ?= awx_collection/test/awx
|
||||||
|
# pytest added args to collect coverage
|
||||||
|
COVERAGE_ARGS ?= --cov=awx --cov-report=xml --junitxml=reports/junit.xml --no-cov-on-fail
|
||||||
|
# pytest test directories
|
||||||
|
TEST_DIRS ?= awx/main/tests/unit awx/main/tests/functional awx/conf/tests
|
||||||
|
# pytest args to run tests in parallel
|
||||||
|
PARALLEL_TESTS ?= -n auto
|
||||||
# collection integration test directories (defaults to all)
|
# collection integration test directories (defaults to all)
|
||||||
COLLECTION_TEST_TARGET ?=
|
COLLECTION_TEST_TARGET ?=
|
||||||
# args for collection install
|
# args for collection install
|
||||||
@@ -316,7 +322,7 @@ swagger: reports
|
|||||||
@if [ "$(VENV_BASE)" ]; then \
|
@if [ "$(VENV_BASE)" ]; then \
|
||||||
. $(VENV_BASE)/awx/bin/activate; \
|
. $(VENV_BASE)/awx/bin/activate; \
|
||||||
fi; \
|
fi; \
|
||||||
(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)
|
(set -o pipefail && py.test $(COVERAGE_ARGS) $(PARALLEL_TESTS) awx/conf/tests/functional awx/main/tests/functional/api awx/main/tests/docs | tee reports/$@.report)
|
||||||
@if [ "${GITHUB_ACTIONS}" = "true" ]; \
|
@if [ "${GITHUB_ACTIONS}" = "true" ]; \
|
||||||
then \
|
then \
|
||||||
echo 'cov-report-files=reports/coverage.xml' >> "${GITHUB_OUTPUT}"; \
|
echo 'cov-report-files=reports/coverage.xml' >> "${GITHUB_OUTPUT}"; \
|
||||||
@@ -334,14 +340,12 @@ api-lint:
|
|||||||
awx-link:
|
awx-link:
|
||||||
[ -d "/awx_devel/awx.egg-info" ] || $(PYTHON) /awx_devel/tools/scripts/egg_info_dev
|
[ -d "/awx_devel/awx.egg-info" ] || $(PYTHON) /awx_devel/tools/scripts/egg_info_dev
|
||||||
|
|
||||||
TEST_DIRS ?= awx/main/tests/unit awx/main/tests/functional awx/conf/tests
|
|
||||||
PYTEST_ARGS ?= -n auto
|
|
||||||
## Run all API unit tests.
|
## Run all API unit tests.
|
||||||
test:
|
test:
|
||||||
if [ "$(VENV_BASE)" ]; then \
|
if [ "$(VENV_BASE)" ]; then \
|
||||||
. $(VENV_BASE)/awx/bin/activate; \
|
. $(VENV_BASE)/awx/bin/activate; \
|
||||||
fi; \
|
fi; \
|
||||||
PYTHONDONTWRITEBYTECODE=1 py.test -p no:cacheprovider $(PYTEST_ARGS) $(TEST_DIRS)
|
PYTHONDONTWRITEBYTECODE=1 py.test -p no:cacheprovider $(PARALLEL_TESTS) $(TEST_DIRS)
|
||||||
cd awxkit && $(VENV_BASE)/awx/bin/tox -re py3
|
cd awxkit && $(VENV_BASE)/awx/bin/tox -re py3
|
||||||
awx-manage check_migrations --dry-run --check -n 'missing_migration_file'
|
awx-manage check_migrations --dry-run --check -n 'missing_migration_file'
|
||||||
|
|
||||||
@@ -350,7 +354,7 @@ live_test:
|
|||||||
|
|
||||||
## Run all API unit tests with coverage enabled.
|
## Run all API unit tests with coverage enabled.
|
||||||
test_coverage:
|
test_coverage:
|
||||||
$(MAKE) test PYTEST_ARGS="--create-db --cov --cov-report=xml --junitxml=reports/junit.xml"
|
$(MAKE) test PYTEST_ARGS="--create-db $(COVERAGE_ARGS)"
|
||||||
@if [ "${GITHUB_ACTIONS}" = "true" ]; \
|
@if [ "${GITHUB_ACTIONS}" = "true" ]; \
|
||||||
then \
|
then \
|
||||||
echo 'cov-report-files=awxkit/coverage.xml,reports/coverage.xml' >> "${GITHUB_OUTPUT}"; \
|
echo 'cov-report-files=awxkit/coverage.xml,reports/coverage.xml' >> "${GITHUB_OUTPUT}"; \
|
||||||
@@ -358,7 +362,7 @@ test_coverage:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
test_migrations:
|
test_migrations:
|
||||||
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)
|
PYTHONDONTWRITEBYTECODE=1 py.test -p no:cacheprovider --migrations -m migration_test --create-db $(PARALLEL_TESTS) $(COVERAGE_ARGS) $(TEST_DIRS)
|
||||||
@if [ "${GITHUB_ACTIONS}" = "true" ]; \
|
@if [ "${GITHUB_ACTIONS}" = "true" ]; \
|
||||||
then \
|
then \
|
||||||
echo 'cov-report-files=reports/coverage.xml' >> "${GITHUB_OUTPUT}"; \
|
echo 'cov-report-files=reports/coverage.xml' >> "${GITHUB_OUTPUT}"; \
|
||||||
@@ -376,7 +380,7 @@ test_collection:
|
|||||||
fi && \
|
fi && \
|
||||||
if ! [ -x "$(shell command -v ansible-playbook)" ]; then pip install ansible-core; fi
|
if ! [ -x "$(shell command -v ansible-playbook)" ]; then pip install ansible-core; fi
|
||||||
ansible --version
|
ansible --version
|
||||||
py.test $(COLLECTION_TEST_DIRS) --cov --cov-report=xml --junitxml=reports/junit.xml -v
|
py.test $(COLLECTION_TEST_DIRS) $(COVERAGE_ARGS) -v
|
||||||
@if [ "${GITHUB_ACTIONS}" = "true" ]; \
|
@if [ "${GITHUB_ACTIONS}" = "true" ]; \
|
||||||
then \
|
then \
|
||||||
echo 'cov-report-files=reports/coverage.xml' >> "${GITHUB_OUTPUT}"; \
|
echo 'cov-report-files=reports/coverage.xml' >> "${GITHUB_OUTPUT}"; \
|
||||||
|
|||||||
@@ -15,6 +15,9 @@ markers =
|
|||||||
filterwarnings =
|
filterwarnings =
|
||||||
error
|
error
|
||||||
|
|
||||||
|
# Breaks coverage combined with pytest-mp, surfacing as an unhandled error outside of test scope
|
||||||
|
ignore:Module awx was previously imported, but not measured:coverage.exceptions.CoverageWarning
|
||||||
|
|
||||||
# FIXME: Upgrade protobuf https://github.com/protocolbuffers/protobuf/issues/15077
|
# FIXME: Upgrade protobuf https://github.com/protocolbuffers/protobuf/issues/15077
|
||||||
once:Type google._upb._message.* uses PyType_Spec with a metaclass that has custom tp_new:DeprecationWarning
|
once:Type google._upb._message.* uses PyType_Spec with a metaclass that has custom tp_new:DeprecationWarning
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ cryptography<42.0.0 # investigation is needed for 42+ to work with OpenSSL v3.0
|
|||||||
Cython
|
Cython
|
||||||
daphne
|
daphne
|
||||||
distro
|
distro
|
||||||
django==4.2.20 # CVE-2025-26699
|
django==4.2.21 # CVE-2025-32873
|
||||||
django-cors-headers
|
django-cors-headers
|
||||||
django-crum
|
django-crum
|
||||||
django-extensions
|
django-extensions
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ dispatcherd==2025.5.21
|
|||||||
# via -r /awx_devel/requirements/requirements.in
|
# via -r /awx_devel/requirements/requirements.in
|
||||||
distro==1.9.0
|
distro==1.9.0
|
||||||
# via -r /awx_devel/requirements/requirements.in
|
# via -r /awx_devel/requirements/requirements.in
|
||||||
django==4.2.20
|
django==4.2.21
|
||||||
# via
|
# via
|
||||||
# -r /awx_devel/requirements/requirements.in
|
# -r /awx_devel/requirements/requirements.in
|
||||||
# channels
|
# channels
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set +x
|
set -euo pipefail
|
||||||
|
|
||||||
cd /awx_devel
|
cd /awx_devel
|
||||||
make clean
|
make clean
|
||||||
make awx-link
|
make awx-link
|
||||||
|
|
||||||
if [[ ! $@ ]]; then
|
if [[ $# -eq 0 ]]; then
|
||||||
make test
|
make test
|
||||||
else
|
else
|
||||||
make $@
|
make "$@"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user