-
Notifications
You must be signed in to change notification settings - Fork 431
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
Update CI to run unit tests with Python 3.9 and 3.13 #1930
base: maintenance/gramps60
Are you sure you want to change the base?
Update CI to run unit tests with Python 3.9 and 3.13 #1930
Conversation
Previous relevant discussion in #1910 and in particular #1910 (comment) Python 3.9 reaches end of life in October 2025. If gramps 6.x is not expected before then, we could target python 3.10 as the minimum on master. |
Squashed some commits and rebased onto the gramps60 branch. |
Why are the builds so much slower? Previously they were about 4 minutes; now they are 11 minutes and 13 minutes. |
|
No, that's not the reason. The "install dependencies" step takes 90 seconds instead of 60, a small change. It seems like the unit test suite actually takes longer:
That's quite suprising 🤔 |
I tried changing a couple of things but it didn't change the runtime, not sure what else to try. Still, I think it's a cleaner and more controlled test environment. |
Merged the bug fixes separately and rebased. |
We should run the unit tests with the |
No test longer than 10 s, strange. |
The current master branch as well as Gramps 6.0 beta fail with syntax errors due to the new typing module on Python 3.9 (sorry, my fault).
To prevent that from happening again, I changed the CI action to test with Python 3.9 (the oldest version we support) and Python 3.13, so we are sure Gramps runs on all supported Python versions.
To make that possible, I installed the Python dependencies in the CI with pip rather than apt.
This already showed one additional benefit: I caught an error due to a function in the
unittest
module that was removed in Python 3.12 (see https://docs.python.org/3/whatsnew/3.12.html#id3), now also fixed.@Nick-Hall, please apply these fixes to the 6.0 branch as well. Thank you!