PR: Add Python 3.11 to CIs/tags & overhaul CI config#392
PR: Add Python 3.11 to CIs/tags & overhaul CI config#392dalthviz merged 6 commits intospyder-ide:masterfrom CAM-Gerlach:add-support-py311
Conversation
|
@ccordoba12 @dalthviz I've apparently discovered a conda dependency solution issue that can be worked around here, but should probably be fixed properly upstream, most likely with a new release of the conda create -n test-env python=3.11 pyqt qtor equivalently conda create -n test-env python=3.11 pyqt=5.15 qt=5.15fails on all platforms with a dependency resolution error, which you can see the full output of on CI in e.g. this run. Specifically, I've traced the issue to following three incompatible constraints:
To note, conda create -n test-env python=3.11 pyqt=5.15.7 qt-main=5.15.6 qt-webengine=5.15.4does resolve. Also, 5.15.4 is the latest version of Should this be reported to one or more of those feedstocks? Or can something else be done about it? |
I think it should be reported in the qt-feedstock to update the constraints it has on |
|
Thanks, I've opened conda-forge/qt-feedstock#234 on there as suggested. In the meantime, though, that doesn't block this PR, since I implemented a workaround (that's not quite as elegant as I'd like, but works just fine for now). |
ccordoba12
left a comment
There was a problem hiding this comment.
A couple of small suggestions for you @CAM-Gerlach, otherwise looks good to me.
Co-authored-by: Carlos Cordoba <ccordoba12@gmail.com>
ccordoba12
left a comment
There was a problem hiding this comment.
Looks good to me now, thanks @CAM-Gerlach!
As discussed in #386 , adds official support for Python 3.11 (following a similar template to #296 which added 3.10 support) in the Trove tags and CI tests, making the necessary binding and Qt version adjustments as required for the 3.11 jobs, including a somewhat non-ideal but necessary workaround for a conda package solver incompatibility on Py311 + pyqt 5.15 + qt 5.15.
Along the way, I've refactored the CI config to centralize the binding and Qt API version selection all in one place in the matrix config, to greatly reduce duplication of version constants and the scattering of the logic multiple places in the declarative config and the dynamic execution script. In concert with that, I've been able to:
conda installcall for PySide6 and fix its indent (from PR PR: Try PySide6 on conda #378)test.sh, including a small but meaningful typo in a comment, an unnecessarypipspec/version, and a tab/spaces problemI've also updated/fixed a few related small ancillary bits:
checkoutandsetup-pythonaction versions to the currentwheelbuild-time dependencylicense_filemetadata key superceded bylicense_filesFixes #386