pixi support - #324
Open
kevinjin0420 wants to merge 126 commits into
Open
Conversation
… update to make_available
kevinjin0420
force-pushed
the
skj/native-setup
branch
from
August 25, 2026 00:54
f75eab0 to
937d879
Compare
kevinjin0420
force-pushed
the
skj/portable
branch
from
August 25, 2026 00:58
62957e3 to
c19be35
Compare
kevinjin0420
force-pushed
the
skj/native-setup
branch
from
August 25, 2026 01:00
937d879 to
11737f6
Compare
kevinjin0420
force-pushed
the
skj/portable
branch
from
August 25, 2026 01:00
c19be35 to
57f55f2
Compare
kevinjin0420
changed the base branch from
skj/native-setup
to
skj/ubuntu24-native
August 25, 2026 18:15
kevinjin0420
changed the base branch from
skj/ubuntu24-native
to
skj/native-setup
August 25, 2026 19:23
# Conflicts: # .github/workflows/ci.yml # .github/workflows/docker-publish.yml # CMakeLists.txt # Dockerfile # ansible.sh # ansible/roles/dev/files/home/.zshrc # ansible/roles/dev/tasks/main.yml # clean.sh # scripts/mrover.zshenv # style.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Multi-distro and mac support though pixi venv
pixi.toml/pixi.lock: portable env (osx-arm64,linux-64) resolved fromrobostack-jazzy/conda-forge, replaces apt-installed ROS/toolchain/Qt/OpenCV/etc. for this pathbootstrap-portable.sh/setup-portable.sh(mirrorsbootstrap.sh/setup.sh, installs Homebrew on macOS, dispatches toapt/dnf/pacman/brewfor git/ansible)ansible/dev-portable.yml/build-portable.ymlplaybooks andbuild-portablerolepixi install, then the same Dawn/manif/imgui download scripts as the nativebuildrole, plusbun installfor the frontenddevrole gains amrover_portablevar (ansible/roles/dev/defaults/main.yml) that switches which zshenv gets sourced (scripts/mrover.zshenvvs newscripts/mrover-portable.zshenv)scripts/mrover-portable.zshenvdefines amrovershell function that runspixi shell-hook, fixes upTERM/HOST/DYLD_LIBRARY_PATHquirks from conda's compiler activation, then sourcesinstall/setup.zshCMakeLists.txtMROVER_PORTABLEoption gates out ZED/CUDA, CAN, and ESW hardware bridges, so a laptop without rover hardware can still build everything elsefind_package(... QUIET);camera_clientis skipped with a warning instead of failing configure when Qt6 isn't presentMANIF::manifinstead of the old FetchContent-only target, now that pixi provides itbuild.shbranches on$PIXI_PROJECT_ROOT: portable path skips the hardcodedclang/CUDA env vars and passes-DMROVER_PORTABLE=ON -DCMAKE_PREFIX_PATH=$CONDA_PREFIX(plus-DCMAKE_OSX_SYSROOTon macOS) instead of colcon's per-profile build/install dirsstyle.shdrops hardcoded tool version pins (clang-format-18,black==26.5.1, etc.) in favor of whatever pixi/PATH provides, replaces glob-based file lists withfindloops that tolerate missing directories, and runsbun installbefore the frontend type-checkpyproject.tomlloosens pinned deps to ranges, movesmoteusinto a newroverextra (not needed for a portable dev-only checkout), bumps target Python 3.10 -> 3.12.github/workflows/ci.ymladds apixi-based "Build (pixi Ubuntu 26)" job alongside the existing native Ubuntu 24 job; the style job now sets up pixi instead of manually installing pinned black/mypy/clang-format/shellcheck versions.github/workflows/publish-bootstrap.ymlalso publishesbootstrap-portable.shbootstrap.sh/setup.shcleanup: clone check now tests for.git(re-clones into a stale/incomplete dir instead of silently skipping) instead of just dir existence, dropped the redundant--recurse-submodulessince thedevrole already runsgit submodule update --init --recursivescripts/fix_sudo_rs.sh: Ubuntu 26 defaults tosudo-rs, which Ansible'sbecomecan't use yet. Both setup scripts run it before Ansible now — it flipssudoback to the classic binary viaupdate-alternatives, but only ifsudo-rsis actually detectedDid you add documentation to the wiki?
not done, will need proper documentation overhaul
Verfied Systems
Tested System Combinations
Known Issues
uname -mcould return x86_64 incorrectly because of a rosetta quirk$ARCHmanually