Skip to content

Build the compatibility packages as noarch: generic - #190

Open
EzraBrooks wants to merge 1 commit into
RoboStack:masterfrom
EzraBrooks:compat-noarch
Open

EzraBrooks wants to merge 1 commit into
RoboStack:masterfrom
EzraBrooks:compat-noarch

Conversation

@EzraBrooks

@EzraBrooks EzraBrooks commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

A ros-<distro>-<name> package only depends on ros2-<name> and the mutex, so one noarch build serves every platform. skip_existing reads the channel's noarch subdir too, so they aren't rebuilt once published.

@EzraBrooks
EzraBrooks force-pushed the compat-noarch branch 4 times, most recently from 6b2d660 to 2609946 Compare November 9, 2026 21:47
@EzraBrooks

Copy link
Copy Markdown
Contributor Author

Rebased upon #196 and the change is much nicer now imo

A ros-<distro>-<name> package only depends on ros2-<name> and the mutex, so one
noarch build serves every platform. get_channel_records reads the channel's
noarch subdir too, so skip_existing finds them once published.
@EzraBrooks

Copy link
Copy Markdown
Contributor Author

et voila.. 8 non-test LoC after the changes from #196.

This does require changes to how RoboStack uploads things, though, so I'm going to wait on RoboStack/robostack#193 before opening the companion PR for this.

@Tobias-Fischer Tobias-Fischer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but would like @traversaro to take a look too please

@traversaro
traversaro marked this pull request as ready for review November 10, 2026 21:09
@traversaro

Copy link
Copy Markdown
Member

Good for me, but the PR was still in draft was that intentional?

@EzraBrooks

Copy link
Copy Markdown
Contributor Author

yes, intentionally still in draft in this case; I don't want us to merge until I have the robostack PR good to go so we don't break vinca main for robostack

Tobias-Fischer added a commit to Tobias-Fischer/robostack-fork that referenced this pull request Nov 13, 2026
…ages

vinca-rs builds them as noarch: generic (Tobias-Fischer/vinca-rs#5, from
RoboStack/vinca#190 and RoboStack#212): every platform's jobs build and
upload them, the upload skips what's already there, and generate's skip_existing
reads the channel's noarch subdir. Takes effect with the vinca-rs release that has it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tobias-Fischer added a commit to Tobias-Fischer/vinca-rs that referenced this pull request Nov 13, 2026
…tler-build; compatibility packages are noarch: generic (#5)

- pixi_build_ros::license replaces src/license.rs (with the span fix,
  prefix-dev/pixi#7534); pixi-build-ros pinned to Tobias-Fischer/pixi
  robostack-integration (#7533 + #7534) until merged.
- skip_existing renders the recipes' outputs as rattler-build PackageIdentity and
  lets rattler_build_core::build::existing_packages match them against the
  channel's builds for this distribution (prefix-dev/rattler-build#2943, on a
  rattler-build commit whose rattler crates resolve with pixi's: branch
  Tobias-Fischer/rattler-build skip-existing-for-pixi).
- ros-<distro>-* compatibility packages are noarch: generic (RoboStack/vinca#190):
  only run requirements, one build for every platform (the same build string on
  every platform; skip_existing already reads the noarch subdir).

RoboStack monorepo, 4 distributions x 5 platforms: the only change is
`noarch: generic` in the 22465 compatibility recipes.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants