Fix building sdist into wheels and avoid broken Cython#1915
Fix building sdist into wheels and avoid broken Cython#1915ischoegl merged 3 commits intoCantera:mainfrom
Conversation
This version of Cython has a bug with respect to compiling multiple modules independently. It was fixed for CI in Cantera#1908 and this change also enforces the version requirement for the build systems.
Sets template variables for dependency versions for the sdist. This will ensure consistent versioning across all our packages. This change will also resolve errors building the sdist into wheels due to the regression fixed by cython/cython#6957
ischoegl
left a comment
There was a problem hiding this comment.
Thanks for addressing, @bryanwweber! Apart from the minor comment, could you have a look at the post-merge-tests that are currently failing due to the same Cython issue?
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1915 +/- ##
=======================================
Coverage 74.11% 74.11%
=======================================
Files 445 445
Lines 55454 55454
Branches 9121 9121
=======================================
Hits 41101 41101
Misses 11262 11262
Partials 3091 3091 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Proof that the changes work to prevent using this broken Cython with Scons: https://github.com/Cantera/cantera/actions/runs/15809549593/job/44558991192?pr=1915#step:7:375 🎉 Now I just have to fix that it wasn't supposed to do that 😞 |
|
Any ideas how to resolve this error when building on I think it's this error: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1082085 but I don't recall if it's come up here before. |
I have the suspicion that it’s related to #1843. It’s obviously unrelated to Cython … |
Yes thank you, I knew I'd seen it here before! Edit: it looks like Ray fixed it with the |
After talking to Ingmar offline, I think we need a little more discussion about how to handle this changed dependency requirement, instead of just forcing |
This change fixes several failures in the post-merge tests: * Disallow Cython 3.1.2 to avoid the duplicate symbols bug * Resolve Python dependency conflicts on Python 3.14 Aside from the fixes, this change adds: * uv pip install for package installs from PyPI. uv is much faster than pip while still being compatible * Add post_merge_reqs.txt, a requirements.txt-format file to store dependencies needed to build and test Cantera in the post-merge test workflow. Using this file allows the dependencies to be cached, reducing overall runtime when versions don't change. Hopefully this method can be extended for other workflows to reduce churn in the history when dependencies need to be updated.
4a72ccc to
efdff2b
Compare
I think we probably need to start a discussion upstream with the SUNDIALS devs or the Ubuntu package maintainers. There should be some way of making MPI optional so it's not necessary to compile a serial program with the MPI compiler wrapper. |
Changes proposed in this pull request
Building wheels is currently broken due to the regression fixed for CI in #1908 here and cython/cython#6957 in Cython. Since this version will always be broken, we should enforce in the build systems that it is incompatible.
If applicable, fill in the issue number this pull request is fixing
Checklist
scons build&scons test) and unit tests address code coverage