Skip to content
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

DEP: can we drop support for Python 3.9 now ? #4977

Closed
neutrinoceros opened this issue Sep 3, 2024 · 6 comments · Fixed by #4979
Closed

DEP: can we drop support for Python 3.9 now ? #4977

neutrinoceros opened this issue Sep 3, 2024 · 6 comments · Fixed by #4979
Labels
dependencies Pull requests that update a dependency file infrastructure Related to CI, versioning, websites, organizational issues, etc proposal Proposals for enhancements, changes, etc tests: running tests Issues with the test setup
Milestone

Comments

@neutrinoceros
Copy link
Member

It is that time of the year were a new version of Python is (about to be) born, and we can rotate out the oldest-supported one.
This one however is a bit special: Python 3.9 was the last version to work out-of-the-box with the now long-discontinued nosetest.
We already have a manually patched version of nosetest running on Jenkins with Python 3.10 so we know that's doable, but dropping Python 3.9 means it will become even harder to reproduce failures locally.
However, since there hasn't been much progress on the front of migrating our oldest tests to pytest, running the patched version of nose might still be the way to go for now.

@Xarthisius, is your patch publicly visible anywhere ? It would be useful to add it to the repo so it can be used on GHA CI too.

@neutrinoceros neutrinoceros added proposal Proposals for enhancements, changes, etc tests: running tests Issues with the test setup infrastructure Related to CI, versioning, websites, organizational issues, etc dependencies Pull requests that update a dependency file labels Sep 3, 2024
@neutrinoceros neutrinoceros added this to the 4.4.0 milestone Sep 3, 2024
@neutrinoceros
Copy link
Member Author

(this shouldn't block the 4.4.0 release, I'm just hoping it could be resolved by then)

@Xarthisius
Copy link
Member

I'm not doing anything beside what was mentioned here: #4302 (comment)

Is it publicly visible? Yes, it's in every log:

+ python -m pip install nose nose-exclude
Collecting nose
  Using cached nose-1.3.7-py3-none-any.whl.metadata (1.7 kB)
Collecting nose-exclude
  Using cached nose_exclude-0.5.0-py3-none-any.whl
Using cached nose-1.3.7-py3-none-any.whl (154 kB)
Installing collected packages: nose, nose-exclude
Successfully installed nose-1.3.7 nose-exclude-0.5.0
+ find .venv/lib/python3.10/site-packages/nose -name '*.py' -exec sed -i -e s/collections.Callable/collections.abc.Callable/g '{}' ';'

@nastasha-w
Copy link
Contributor

nastasha-w commented Sep 14, 2024

Is there something specific about the nose tests that makes them difficult to switch to pytest? I.e., is there some technical issue to resolve there? Or is it just a whole lot of work nobody's really gotten around to or committed to?

Because in the second case, we could try opening up a sign-up sheet or something, or start off with a zoom co-working session or something to try to kick things off.

@neutrinoceros
Copy link
Member Author

It's tangent to this issue so I suggest we don't pull that thread here but in short: pytest dropped support for yield based tests a while ago (which was a form of parametrization in nosetests), and we have a substantial amount of testing infrastructure built around these, so migrating them isn't trivial (and there are a lot of them).
see for instance #3734 (and the pytest label in general).

@chrishavlin
Copy link
Contributor

+1 for dropping support for python 3.9. but until we drop nose, it'd be nice to document what you need to do to run locally in a clearer spot than this issue. how bout we add the find/sed command from @Xarthisius's comment to the note that @nastasha-w added in #4955 ?

@neutrinoceros
Copy link
Member Author

Good point. Done in #4979

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file infrastructure Related to CI, versioning, websites, organizational issues, etc proposal Proposals for enhancements, changes, etc tests: running tests Issues with the test setup
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants