F pipeline python versions
Summary
For #124 (closed). Adds unittest support for all supported Python versions.
Focus
Contrary to our initial plan, I decided to abandon pyenv since it is a pain in the ass to be run within a debian-based pipeline image and rather use the official Python 3.X docker images. These also have their problems with tox (or rather, pip within tox, see, e.g. https://gitlab.indiscale.com/caosdb/src/caosdb-pylib/-/jobs/141105), so plain pytest needs to be used instead.
Test Environment
No manual testing, just verify that the unittest_py3.X
jobs actually run on the correct Python version (take a look at the final pipeline output.)
Check List for the Author
Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines
-
All automated tests pass -
Reference related issues -
Up-to-date CHANGELOG.md (or not necessary) -
Annotations in code (Gitlab comments) - Intent of new code
- Problems with old code
- Why this implementation?
Check List for the Reviewer
-
I understand the intent of this MR -
All automated tests pass -
Up-to-date CHANGELOG.md (or not necessary) -
The test environment setup works and the intended behavior is reproducible in the test environment -
In-code documentation and comments are up-to-date. -
Check: Are there specifications? Are they satisfied?
For further good practices have a look at our review guidelines.
Merge request reports
Activity
assigned to @florian
57 unittest: 57 unittest_py3.8: 58 tags: [ docker ] 59 stage: test 60 needs: [ ] 61 image: python:3.8 62 script: &python_test_script 63 # Python docker has problems with tox and pip so use plain pytest here 64 - touch ~/.pycaosdb.ini 65 - pip install nose pytest pytest-cov python-dateutil jsonschema==4.0.1 66 - pip install . 67 - python -m pytest unittests 68 69 # This needs to be changed once Python 3.9 isn't the standard Python in Debian 70 # anymore. 71 unittest_py3.9: 54 54 allow_failure: true 55 55 56 56 # run unit tests 57 unittest: 57 unittest_py3.8: 58 tags: [ docker ] 59 stage: test 60 needs: [ ] 61 image: python:3.8 62 script: &python_test_script 63 # Python docker has problems with tox and pip so use plain pytest here 64 - touch ~/.pycaosdb.ini 65 - pip install nose pytest pytest-cov python-dateutil jsonschema==4.0.1 66 - pip install . 67 - python -m pytest unittests requested review from @henrik
mentioned in commit f05dca21