[CI] Regression and maintenance
- Python 3.13 support (CI testing)
- Testing of all supported Python version 3.10-3.13 (pip and conda)
- Testing with pinned dependencies in regression tests and with open dependencies in maintenance tests
Regression and maintenance test
Before:
Developer run the CI on their developer branches (code changes) in an evolving environment. It was sometime hard to address if a test "failed" because of the new code (regression) or because of changes in our software stack.
Now:
Regression tests run on developer branches with a stable environment. (e.g. for tests pip install -e ".[pinned,test]")
Maintenance test are run on master with an evolving environment. (e.g. for testspip install -e ".[test]").
Roles
Locally, developers work with the stable environment. e.g. pip install -e ".[pinned,dev,docs,test]"
Users may combine ogstools with other libraries. Therefore, they are encouraged to install with "open" dependencies pip install ogstools
. For reproducing an error OR for using no other library, they can try pip install ogstools[pinned]
. Users need to take that they can reproduce their environment (containing ogstools + others) with e.g. pip freeze
.
OGS CI may use pip install ogstools[pinned] OR the "freezed" (see Users) environment.
Only maintainers use: pip install -e ".[dev,docs,test]"
Footnote
.
is here the directory of the ogstools sources.
-
Feature description was added to the changelog -
Tests covering your feature were added? -
Any new feature or behaviour change was documented? No documentation, yet. Maybe the Reviewers have a good idea, where and what.
-
API-breaking changes documented here No breaking changes
The idea for the optional dependency group "pinned" is taken from pyvista: https://github.com/pyvista/pyvista/pull/6753/