This PR splits out the "publish" jobs from the CI pipeline.
The previous pipeline used a "matrix" execution to run unit-tests across several operating-systems and Python versions. Each "cell" of that matrix generated its own requirements.txt file and uploaded it as artifact. As these jobs ran in parallel, it is likely that this caused the issue that surfaced in #23.
I suspect that this fixes it.
It has the additional bonus that we don't accidentally use a requirements.txt from a Windows/Python3.9 environment to create the docker image (which runs on Linux/Python3.10).
This has the only downside that the pipeline which publishes the package only runs on one Python version on one system. But it is safe to assume that the full matrix has already run prior to actually tagging a release.
This PR splits out the "publish" jobs from the CI pipeline.
The previous pipeline used a "matrix" execution to run unit-tests across several operating-systems and Python versions. Each "cell" of that matrix generated its own
requirements.txt
file and uploaded it as artifact. As these jobs ran in parallel, it is likely that this caused the issue that surfaced in #23.I suspect that this fixes it.
It has the additional bonus that we don't accidentally use a
requirements.txt
from a Windows/Python3.9 environment to create the docker image (which runs on Linux/Python3.10).This has the only downside that the pipeline which publishes the package only runs on one Python version on one system. But it is safe to assume that the full matrix has already run prior to actually tagging a release.