robostack.github.io icon indicating copy to clipboard operation
robostack.github.io copied to clipboard

Update documentation to add pixi.toml and to reflect move away from robostack-staging channel

Open TedVanderfeen opened this issue 11 months ago • 6 comments

Initial change so that I can open the PR: Changed installation > installing for clarity

Addresses https://github.com/RoboStack/robostack.github.io/issues/67 and better reflects https://github.com/RoboStack/robostack.github.io/pull/68

TedVanderfeen avatar Feb 11 '25 22:02 TedVanderfeen

Draft pixi.toml for comment. I've setup the different distributions as environments so the setup steps for this would be:

#create the pixi project folder and pixi.toml file
pixi init robostack
#move to the pixi project folder
cd robostack

Open the created pixi.toml in any text editor and paste the below into the file (remove the configuration created by pixi init):

[project]
# Prerequisites:
# - Windows: Visual Studio Build Tools or Visual Studio (2019 or 2022)
#   see https://docs.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-160
# - Pixi package manager: https://pixi.sh
name = "robostack"
version = "0.1.0"
description = "Development environment for RoboStack ROS packages"
authors = ["Your Name <[email protected]>"]
channels = ["https://prefix.dev/conda-forge"]
platforms = ["linux-64", "win-64", "osx-64", "osx-arm64", "linux-aarch64"]

[dependencies]
python = "==3.11"
compilers = "*"
cmake = "*"
pkg-config = "*"
make = "*"
ninja = "*"

[environments]
noetic = { features = ["noetic"] }
humble = { features = ["humble"] }
jazzy = { features = ["jazzy"] }

[target.win-64.dependencies]
# if using Windows, uncomment ONE Visual Studio version:
#vs2019_win-64 = "*"  # For VS 2019
#vs2022_win-64 = "*"  # For VS 2022

#noetic
[feature.noetic]
#channels = ["https://prefix.dev/robostack-noetic"] 
channels = ["https://prefix.dev/robostack-staging"] ##TODO Remove staging once robostack-noetic is available in the prefix.dev catalog

[feature.noetic.dependencies]
ros-noetic-desktop = "*"
catkin_tools = "*"
rosdep = "*"

#humble
[feature.humble]
channels = ["https://prefix.dev/robostack-humble"]

[feature.humble.dependencies]
ros-humble-desktop = "*"
colcon-common-extensions = "*"
rosdep = "*"

#jazzy
[feature.jazzy]
channels = ["https://prefix.dev/robostack-jazzy"]

[feature.jazzy.dependencies]
ros-jazzy-desktop = "*"
colcon-common-extensions = "*"
rosdep = "*"

Save and Exit Start an environment with your desired robostack distribution using one of the below commands: ROS noetic

pixi shell -e noetic

ROS humble

pixi shell -e humble

ROS jazzy

pixi shell -e jazzy

TedVanderfeen avatar Feb 12 '25 01:02 TedVanderfeen

Thanks!

Regarding the section:

[target.win-64.dependencies]
# if using Windows, uncomment ONE Visual Studio version:
#vs2019_win-64 = "*"  # For VS 2019
#vs2022_win-64 = "*"  # For VS 2022

As of the latest version of February 2025, the compilers meta-package depends on vs2019_win-64, so vs2022_win-64 is only necessary if you only have VS2022 installed (and not VS2019) or if you strictly need VS2022. To be honest I do not know how to write down in a user friendly way at the moment, but I wanted to write it down this in a comment.

traversaro avatar Feb 12 '25 08:02 traversaro

Thanks for the heads up. Will have a look at that when I get a chance.

TedVanderfeen avatar Feb 12 '25 08:02 TedVanderfeen

Have set this up using tabs rather than sub-pages under gettingstarted. Tabs separate the page into mamba/pixi. At the moment the intention is for users to copy the pixi.toml config from the getting started guide and paste it into their own local copy created by pixi init __. But I'm not sure if I'm 100% happy with that solution. Any thoughts/comments/concerns?

It also looks like we're still blocked by https://github.com/RoboStack/robostack.github.io/issues/74, so not quite ready to merge yet.

TedVanderfeen avatar Feb 13 '25 08:02 TedVanderfeen

Having some issues with the environments and need to figure out if it's because of Windows or my pixi.toml..

TedVanderfeen avatar Feb 13 '25 08:02 TedVanderfeen

Have set this up using tabs rather than sub-pages under gettingstarted. Tabs separate the page into mamba/pixi.

Thanks for this! I think this is great.

At the moment the intention is for users to copy the pixi.toml config from the getting started guide and paste it into their own local copy created by pixi init __. But I'm not sure if I'm 100% happy with that solution. Any thoughts/comments/concerns?

I think this is probably a good idea. Once pixi will have more advanced templating capability we can use it (see https://github.com/prefix-dev/pixi/issues/2837), but for now a good&old documentation to copy paste is already a great improvement on the current status quo.

traversaro avatar Feb 13 '25 12:02 traversaro

I opened https://github.com/RoboStack/ros-noetic/pull/506 to unblock the situation on the noetic side.

traversaro avatar Feb 26 '25 23:02 traversaro

Humble and Jazzy environments tested and working.

TedVanderfeen avatar Feb 28 '25 04:02 TedVanderfeen

I am happy to report that all environments are now installing and activating correctly from the prefix.dev channels. This updated documentation should be good to go.

TedVanderfeen avatar Mar 05 '25 07:03 TedVanderfeen

I am happy to report that all environments are now installing and activating correctly from the prefix.dev channels. This updated documentation should be good to go.

Thanks a lot for all the work!

traversaro avatar Mar 05 '25 07:03 traversaro

Suggestions committed, thanks @traversaro!

TedVanderfeen avatar Mar 05 '25 09:03 TedVanderfeen

Thanks a lot @TedVanderfeen - this is great! And thanks for the review @traversaro.

Tobias-Fischer avatar Mar 06 '25 21:03 Tobias-Fischer