The RoboStack monorepo
All maintained ROS distributions in RoboStack are built from one repository: RoboStack/robostack.
That wasn’t always the case.
Before 2026 Okt, every distribution had its own repository: ros-humble, ros-jazzy, ros-lyrical, ros-rolling and so on.
A fix for a broken package often had to be made four times, in four repositories, with four CI setups that slowly drifted apart.
Keeping all of that in sync took more maintainer time than building the packages themselves.
So in 2026 the maintained distributions moved into one repository.
How the monorepo is organized
Section titled “How the monorepo is organized”Each distribution has its own folder in distros/<distro>/ for what is specific to it, and everything the distributions have in common lives in shared/.
A patch, a test or a dependency fix that applies to all distributions is made once.
New ROS distributions are added as a new folder in the same repository.
The distributions that moved in were:
| Distribution | Recipes |
|---|---|
| Humble | distros/humble |
| Jazzy | distros/jazzy |
| Lyrical | distros/lyrical |
| Rolling | distros/rolling |
The move was driven by Tobias Fischer, with a lot of review from Silvio Traversaro. The plan is documented in this issue.
Package names
Section titled “Package names”Packages built from the monorepo are named ros2-<package>, for example ros2-desktop.
The distribution comes from the channel you install from.
Every one of them also has a ros-<distro>-<package> package that points to it, so older instructions like pixi add ros-jazzy-desktop keep working.
Reporting an issue or requesting a package
Section titled “Reporting an issue or requesting a package”Open an issue in RoboStack/robostack and mention which distribution you are using.
Missing a package? Open a package request there. robostack-bot opens the pull request that adds it to the build, and a maintainer reviews it.
Building packages locally
Section titled “Building packages locally”Clone the monorepo and run the tasks for the distribution you want to work on:
git clone https://github.com/RoboStack/robostack.gitcd robostackpixi run rs jazzy buildThe README explains the layout and the other tasks.
Deprecated distributions
Section titled “Deprecated distributions”Noetic, Kilted, Galactic and Foxy were not moved into the monorepo and are deprecated. Their packages stay installable from their channels, but they don’t get new builds or fixes. Their repositories are kept for reference:
| Distribution | Repository |
|---|---|
| Noetic | RoboStack/ros-noetic |
| Kilted | RoboStack/ros-kilted |
| Galactic | RoboStack/ros-galactic |
| Foxy | RoboStack/ros-foxy |
If you are on one of these, move to a distribution that is built from the monorepo.
With Pixi that is mostly changing the channel and the package prefix in your pixi.toml.
Questions? Ask them in the robotics channel on the prefix.dev Discord or join the monthly community meeting.