-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Run test suite on Python 3.10
#5209
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi, do we have to run tests from pymc/tests |
You would need to replace the py37 environments here and create a new ones with py310 https://github.com/pymc-devs/pymc/tree/main/conda-envs Then in the workflows bump the conda environment files by 1. For instance here it would become py38: pymc/.github/workflows/pytest.yml Lines 138 to 145 in 8b063f9
here py39: pymc/.github/workflows/pytest.yml Lines 223 to 230 in 8b063f9
and here py310: pymc/.github/workflows/arviz_compat.yml Lines 71 to 78 in 8b063f9
There might be other places in the worflows that need updating, and probably in this file: https://github.com/pymc-devs/pymc/blob/main/setup.py @michaelosthege might be able to spot other things I am missing |
Are Aesara and aeppl already testing on 3.10? Also to not increase our CI resource use by a third, I think we should first combine the workflows and reorganize the test suite. Then we can more easily split the load across Python versions. |
Why increase by a third? I would just bump everything one version up and drop the 3.7, which is no longer supported by numpy anyway. |
Correction, Aesara seems to test only 3.7-3.9 |
For reorganizing the test suite, there's a somewhat related discussion here: #5579 |
@ricardoV94 I created a new environment for python3.10, did the expected changes in pytest.yml file and executed the script to run tests, the output was very similar to comment Should I try rename the tests in a manner as mentioned in #5579 ? |
No, that will need a lot of refactoring. To set realistic expectations: This will take months; we can only do one at a time. Splitting Can you try to run some of the tests locally in a Python 3.10 environment? |
Sounds promising. Do you want to open a PR? Note that we don't want to increase our use of CI resources here. So just swapping the version of an existing job should be enough |
I have opened a PR, please have a look
what does CI resources imply I have read this in a lot of your comments and don't know what it means exactly |
The cumulative runtime of our CI test pipelines was 6.5 hours and we just reduced it to 3.75. Also there's an upper limit of CI minutes per month and if we hit that the jobs start queuing up. |
In case that was the source of confusion, CI stands for continuous integration, which is another obscure name for "running python tests on Github servers" |
Tests were redistributed between Python versions such that all of 3.8, 3.9, 3.10 are covered. The exact `mkl-service` version was unpinned and `mkl` was removed because the combination of pinned versions didn't support Python 3.10. The `mkl` package is already a dependency of `mkl-service` and because `mkl-service` specifies tight version limits for `mkl`, we shouldn't pin it ourselves. Closes pymc-devs#5209
Tests were redistributed between Python versions such that all of 3.8, 3.9, 3.10 are covered. The exact `mkl-service` version was unpinned and `mkl` was removed because the combination of pinned versions didn't support Python 3.10. The `mkl` package is already a dependency of `mkl-service` and because `mkl-service` specifies tight version limits for `mkl`, we shouldn't pin it ourselves. Closes #5209
We should run our tests in Python
3.10
to see if anything is broken or dependencies are missingThe text was updated successfully, but these errors were encountered: