-
Notifications
You must be signed in to change notification settings - Fork 24
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
CI/CD: Update max Python to 3.12 #309
Conversation
c1a0ef0
to
49b6b39
Compare
The casadi wheel build is failing for Python 3.12, so I guess we'll need to wait and try this again at a later date. |
@kentrutan CasADi released 3.6.4 with Python 3.12 wheels two days ago, so this MR is now ready. I made some changes to basically just restart the CI/CD pipelines, I'll leave it to you to squash/properly rebase on top of master. EDIT: |
@jackvreeken Because of these delays, we should probably pin max Python version until all dependencies support the new Python version. What do you think? At some point, we will want to pin versions of all dependencies. What do you think of using a tool like hatch or poetry to help with this? Not saying we move to that now, but maybe at the same time we are ready to migrate more/all of setup.py into latest recommended packaging practice. |
0a3b3cf
to
9061f99
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #309 +/- ##
==========================================
- Coverage 81.23% 81.21% -0.03%
==========================================
Files 17 17
Lines 4264 4264
Branches 950 796 -154
==========================================
- Hits 3464 3463 -1
Misses 651 651
- Partials 149 150 +1 ☔ View full report in Codecov by Sentry. |
642c75f
to
07f0c76
Compare
0c1fcdb
to
0449911
Compare
@jackvreeken What fixed the problem: getting rid of setup.py, the CasADi updates, or both? Do you have any thoughts on my earlier comment now that we (you) have some more experience with the issue?
If you agree, it might be a good time to pin max Python with this PR. |
Fixing 3.12 was:
Hmm, my thoughts on pinning (exact versions) is that:
So for most dependencies we can use semver and pin the major version in |
0449911
to
9e66aae
Compare
We need setuptools as a dependency for distutils.ccompiler to work in Python 3.12 and higher. Also since there are so many versions of Python active (3.8 to 3.12), it seems excessive to test every version. This changes the matrix to just three versions: 3.8, 3.10, 3.12. For future updates, I envision picking min, max, and median of the supported Python versions.
9e66aae
to
0906809
Compare
OK I'll pin some versions per your comment. PR #315 (next to be merged) looks like a better place to do it. EDIT: I looked into pinning and found that the So, plan B, we will follow PyPA's lead and refrain from any additional version pinning for now. |
Try Python 3.12 in the test matrix.
Also since there are so many versions of Python active (3.8 to 3.12), it seems excessive to test every version. This changes the matrix to just three versions: 3.8, 3.10, 3.12. For future updates, I envision picking min, max, and median of the supported Python versions.