Repository navigation
lyrical: build python packages for 3.12 next to 3.14 - #144
ruben-arts wants to merge 7 commits into
Conversation
Adds a 3.12 python variant to lyrical's pinning so packages are built for both versions.
# Conflicts: # distros/lyrical/distro.yaml
|
I would enable |
|
Also, xref #131 as this would be the first attempt in this direction. |
Sorry, as usual that means bumping the mutex minor and build number in https://github.com/ruben-arts/robostack/blob/lyrical-python-312/distros/lyrical/vinca.yaml#L6-L9, not sure why I was confused (probably I was confusing distro.yaml and vinca.yaml). |
|
See also RoboStack/ros-humble#424 |
--skip-existing alone means local; =all also checks the channels, so a recipe with a missing variant (e.g. python 3.12) builds only that variant and skips the published ones.
The shared qt6_main 6.11 pin resolves to qt6-main 6.11.3, whose run export (>=6.11.3) conflicts with every pyqt6 6.11.0 build on conda-forge (they need <=6.11.2). The py312 rqt packages built in this PR could not be installed with python_qt_binding. Evict the packages built against 6.11.3 from the PR cache.
|
@RoboStack/robostack-core This is currently waiting for a release of rattler-build. I'll probably not be able to finish this project as I'll be on vacation next weeks. If someone would be able to take it over that would be awesome! Feel free to close and reopen if you don't have the permissions! This should help the Nvidia Isaac Sim team to use robostack directly for their ROS examples. |
Implementation to fix #170: lyrical builds its Python packages for 3.12 next to 3.14.
What changed:
python: 3.12variant next to 3.14, so every Python-dependent package is built for both.--skip-existing=all(also checks the channels, not only the local output), and vinca is bumped toa7041a7(Skip already built recipes by exact build string vinca#184), which skips recipes by their exact build string. A recipe whose 3.14 build is already published only builds the new 3.12 variant.pyqt66.11.0 build on conda-forge needsqt6-main <=6.11.2, but the shared6.11pin resolved to 6.11.3, whose run export (>=6.11.3) ruled pyqt6 out. The rqt packages then couldn't be installed together withpython_qt_binding("Failed to resolve dependencies"). The published 3.14 packages were already built against 6.11.2. The 28 recipes that link against Qt are evicted from the PR build cache (distros/lyrical/ci.yaml) so they rebuild with the pin; this also rebuilds their 3.14 variants. The pin can go once pyqt6 is rebuilt for qt6-main 6.11.3+.Related: prefix-dev/rattler-build#2909 fixes a scheduling race in parallel builds with
--skip-existing, where an output could start before a dependency of a skipped package was built.Before merging: reset
evict_cacheindistros/lyrical/ci.yaml.AI assisted by Claude Opus 5.5 (
claude-opus-5-5).