Description
The CI pipeline currently installs requirements from requirements.txt
, requirements-test.txt
, and requirements-optional.txt
. These files list semantic requirements, e.g., numpy
, but don't "lock" the specific version, e.g., numpy==x.y.z
. During testing, this can lead to unexpected failures caused by changes in underlying packages rather than changes related to the code in this repository.
For example, this run succeeded with pylint==2.15.10
, but this run failed with pylint==2.16.2
. This was due to the change pylint-dev/pylint#7690 released with pylint 2.16.0.
Keeping the requirements semantic for the actual package, but locking the requirements for CI for reproducible builds has worked well for me in the past. I'm happy to send a PR if this is of interest but wanted to check with you before making any changes.