RoboStack / RoboStack/robostack.github.io

Investigation: Using `pixi-build-ros` with `pixi` instead of `vinca` with `rattler-build`.

Ouverte
#175 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Astro
Étoiles
385
Forks
36
Merge moyen
5 h 37 min
PR mergées (30 j)
18

Description

Leaving this here as an intermediate result of some investigation into the topic of using pixi-build-ros instead of vinca to generate the recipes and build the packages for the ROS distros in RoboStack.

Issues found:

  • pixi doesn't automatically use all dependencies in the workspace as host/build dependencies of the other packages in the workspace so it's not easy to setup a workspace that contains all packages from a git source. (https://github.com/prefix-dev/pixi/issues/6901)
  • pixi-build-ros doesn't support the concept of patches yet. (https://github.com/prefix-dev/pixi/issues/6918)
    We could support this by adding the copy of source into a source folder again like the backends used to do.
  • You would still need some script to manage the distro snapshots as a way to fill in the [package.build.source] for pixi build.
  • There needs to be a build orchestrator like vinca-gha to create the multi stage GitHub Actions workflow file.
    This would be a feature that is welcome to Pixi anyway as it would be really cool to have any type of workspace split it's builds into multiple jobs, on any CI server.

Smaller issues:

  • pixi-build-ros needs to support <group_depend> from a package.xml.
  • pixi-build-ros needs to support ros2-<package_name> naming convention.
  • We need a backend for dummy meta packages where we need to shim conda-forge packages like ros-xxx-eigenpy.

Claude generated sketch, not perfect but sketches the idea of this comparison.
Image


I feel like this would only align the tools more but wouldn't bring too many UX improvements to RoboStack today. As you would still need to maintain a generator to translate the rosdistro_snapshot into pixi.toml files instead of recipe.yaml files. The robostack.yaml would still need to be maintained.

Where I can see value is in making pixi-build-ros a better tool for ROS development. The required CI job orchestration tool would be a big win for Pixi and the work to maintain vinca can be moved to pixi-build-ros to share more of the effort between the projects.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par pixi-build-ros et les issues Pixi liées #6901 et #6918, puis examinez les lacunes listées concernant les patches, les snapshots de distro, l’orchestration des workflows et les métadonnées des paquets ROS. Le travail sera considéré comme terminé lorsqu’un périmètre aura été défini et qu’un suivi concret aura été établi pour les améliorations retenues ; cette issue ne nomme ni fichiers ni tests.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
github-actions
Domaine
build-system, ci-cd, tooling
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Active
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.