--- # Add plugins by changing INSTALL_PYTEST_PLUGINS. # See https://docs.pytest.org/en/latest/reference/plugin_list.html for available plugins python:pytest: image: registry.gitlab.com/notno/python-tests stage: test variables: PYTEST_COVERAGE_THRESHOLD: "25" INSTALL_PYTEST_PLUGINS: "pytest-asyncio pytest-xdist" # See https://docs.pytest.org/en/latest/reference/plugin_list.html CHECK_PATH: "./${PYTHON_PACKAGE}" DEFAULT_ARGS: "-vvv --capture=tee-sys" EXTRA_ARGS: "" # Set optional arguments script: - pip install pytest pytest-cov ${INSTALL_PYTEST_PLUGINS} - pip install . - python -m pytest --cov=${CHECK_PATH} --cov-fail-under=${PYTEST_COVERAGE_THRESHOLD} --junitxml=${CI_PROJECT_DIR}/pytest-report.xml --cov-report xml:${CI_PROJECT_DIR}/pytest-coverage.xml -o cache_dir=${CI_PROJECT_DIR}/.pytest_cache ${DEFAULT_ARGS} ${EXTRA_ARGS} artifacts: reports: junit: pytest-report.xml cobertura: pytest-coverage.xml cache: key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" paths: - .pytest_cache