]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
.gitlab-ci.yml: python: parallel unit tests
authorAleš Mrázek <ales.mrazek@nic.cz>
Tue, 21 Jan 2025 15:27:00 +0000 (16:27 +0100)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Mon, 12 May 2025 13:17:02 +0000 (15:17 +0200)
.gitlab-ci.manager.yml [deleted file]
.gitlab-ci.yml

diff --git a/.gitlab-ci.manager.yml b/.gitlab-ci.manager.yml
deleted file mode 100644 (file)
index 48f6d47..0000000
+++ /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
index 3e786e282bef734c8c464b19855173aaac97f7fd..e9581f708763c911d73aa6b956e2583467930324 100644 (file)
@@ -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