diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8b15e764abae0844f7d39fc7b9a5098edbc47c3c..b3d728596f00e85b395e5bf8e7fc0c0cd79c4736 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -54,7 +54,21 @@ pylint: allow_failure: true # run unit tests -unittest: +unittest_py3.8: + tags: [ docker ] + stage: test + needs: [ ] + image: python:3.8 + script: &python_test_script + # Python docker has problems with tox and pip so use plain pytest here + - touch ~/.pycaosdb.ini + - pip install nose pytest pytest-cov python-dateutil jsonschema==4.0.1 + - pip install . + - python -m pytest unittests + +# This needs to be changed once Python 3.9 isn't the standard Python in Debian +# anymore. +unittest_py3.9: tags: [ docker ] stage: test needs: [ ] @@ -62,6 +76,14 @@ unittest: - touch ~/.pycaosdb.ini - make unittest + +unittest_py3.10: + tags: [ docker ] + stage: test + needs: [ ] + image: python:3.10 + script: *python_test_script + # Trigger building of server image and integration tests trigger_build: stage: deploy @@ -88,12 +110,12 @@ build-testenv: stage: setup only: - schedules - script: + script: - cd unittests/docker - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY # use here general latest or specific branch latest... - docker pull $CI_REGISTRY_IMAGE|| true - - docker build + - docker build --pull --build-arg COMMIT=$CI_COMMIT_SHORT_SHA --cache-from $CI_REGISTRY_IMAGE @@ -105,7 +127,7 @@ build-testenv: pages_prepare: &pages_prepare tags: [ cached-dind ] stage: deploy - needs: [ code_style, pylint, unittest ] + needs: [ code_style, pylint, unittest_py3.8, unittest_py3.9, unittest_py3.10 ] only: refs: - /^release-.*$/i