From 9a62d40678cc4b9e35a4c491036ee0411ebd9850 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ale=C5=A1=20Mr=C3=A1zek?= Date: Tue, 21 Jan 2025 16:27:00 +0100 Subject: [PATCH] .gitlab-ci.yml: python: parallel unit tests --- .gitlab-ci.manager.yml | 90 ------------------------------------------ .gitlab-ci.yml | 77 +++++++++++++++++++++++++++++------- 2 files changed, 63 insertions(+), 104 deletions(-) delete mode 100644 .gitlab-ci.manager.yml diff --git a/.gitlab-ci.manager.yml b/.gitlab-ci.manager.yml deleted file mode 100644 index 48f6d470c..000000000 --- a/.gitlab-ci.manager.yml +++ /dev/null @@ -1,90 +0,0 @@ -stages: - - check - -default: - image: $IMAGE_PREFIX/manager:$IMAGE_TAG - before_script: - - poetry --version - - poetry env use $PYTHON_INTERPRETER - tags: - - docker - - linux - - amd64 - -examples:py3.12: - stage: check - script: - - poetry install --all-extras --only main,dev - - poe examples - variables: - PYTHON_INTERPRETER: python3.12 - -check:py3.12: - stage: check - script: - - poetry install --all-extras --only main,dev,lint - - poe check - variables: - PYTHON_INTERPRETER: python3.12 - -format:py3.12: - stage: check - script: - - poetry install --all-extras --only main,dev,lint - - poe format - variables: - PYTHON_INTERPRETER: python3.12 - -lint:py3.12: - stage: check - script: - - poetry install --all-extras --only main,dev,lint - - poe lint - variables: - PYTHON_INTERPRETER: python3.12 - -.unit: &unit - stage: check - script: - - poetry install --all-extras --only main,dev,test - - poe test - # the following command makes sure that the source root of the coverage file is at $gitroot - - poetry run bash -c "coverage combine .coverage; coverage xml" - artifacts: - reports: - coverage_report: - coverage_format: cobertura - path: coverage.xml - junit: unit.junit.xml - paths: - - unit.junit.xml - -unit:py3.8: - <<: *unit - variables: - PYTHON_INTERPRETER: python3.8 - -unit:py3.9: - <<: *unit - variables: - PYTHON_INTERPRETER: python3.9 - -unit:py3.10: - <<: *unit - variables: - PYTHON_INTERPRETER: python3.10 - -unit:py3.11: - <<: *unit - variables: - PYTHON_INTERPRETER: python3.11 - -unit:py3.12: - <<: *unit - variables: - PYTHON_INTERPRETER: python3.12 - -unit:py3.13: - <<: *unit - variables: - PYTHON_INTERPRETER: python3.13 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3e786e282..e9581f708 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # vim:foldmethod=marker variables: + PYTHON_VERSION: '3.12' DEBIAN_FRONTEND: noninteractive LC_ALL: C.UTF-8 GIT_SUBMODULE_STRATEGY: recursive @@ -474,20 +475,6 @@ test:valgrind: --wrap="valgrind --leak-check=full --trace-children=yes --quiet --suppressions=/lj.supp" --suite snowflake -manager: - stage: test - needs: [] - trigger: - include: .gitlab-ci.manager.yml - strategy: depend - except: - refs: - - master@knot/knot-resolver - - master@knot/security/knot-resolver - - tags - variables: - - $SKIP_CI == "1" - pytests: <<: *test_flaky needs: @@ -883,3 +870,65 @@ docs:website: - "git push --force --set-upstream origin \"docs/${CI_COMMIT_REF_NAME}\"" # }}} + +# docs: {{{ + +.python: &python + <<: *nodep + image: $IMAGE_PREFIX/manager:$IMAGE_TAG + stage: sanity + before_script: + - poetry --version + - poetry env use python${PYTHON_VERSION} + +python:examples: + <<: *python + script: + - poetry install --all-extras --only main,dev + - poe examples + +python:check: + <<: *python + script: + - poetry install --all-extras --only main,dev,lint + - poe check + +python:format: + <<: *python + script: + - poetry install --all-extras --only main,dev,lint + - poe format + +python:lint: + <<: *python + script: + - poetry install --all-extras --only main,dev,lint + - poe lint + +python:unit: + <<: *python + stage: test + parallel: + matrix: + - PYTHON_VERSION: + - '3.8' + - '3.9' + - '3.10' + - '3.11' + - '3.12' + - '3.13' + script: + - poetry install --all-extras --only main,dev,test + - poe test + # the following command makes sure that the source root of the coverage file is at $gitroot + - poetry run bash -c "coverage combine .coverage; coverage xml" + artifacts: + reports: + coverage_report: + coverage_format: cobertura + path: coverage.xml + junit: unit.junit.xml + paths: + - unit.junit.xml + +# }}} \ No newline at end of file -- 2.47.2