Skip to content

Add native macOS RoboStack setup - #12

Merged
yassinsolim merged 2 commits into
mainfrom
chore/macos-robostack-setup-yassin
Aug 8, 2026
Merged

Add native macOS RoboStack setup#12
yassinsolim merged 2 commits into
mainfrom
chore/macos-robostack-setup-yassin

Conversation

@yassinsolim

Copy link
Copy Markdown
Member

Summary

  • add a minimal RoboStack Jazzy environment for native Apple Silicon development
  • add a four-command helper for setup, builds, launch, and arbitrary ROS commands
  • document the Mac workflow in the existing README, build guide, and contribution guide
  • pin pytest below version 9 for ROS 2 Jazzy launch testing compatibility

Validation

  • fresh environment solve passed with all direct package dependencies present
  • ./scripts/macos.sh setup created the environment and built all three packages
  • live ./scripts/macos.sh launch started robot state publisher, Joint State Publisher GUI, and RViz; the robot initialized
  • shellcheck scripts/macos.sh passed
  • bash -n scripts/macos.sh passed
  • whitespace and editor diagnostics passed
  • lint and package metadata tests passed

Known test behavior

The existing bringup launch teardown assertion can report robot state publisher exit -6 on macOS after SIGINT instead of the allowed 0 or -2. Runtime startup and the live launch smoke test pass. This PR does not change that test or runtime node.

@yassinsolim
yassinsolim requested a review from mujtaba-zia August 8, 2026 20:23
run_workspace spawned a new `bash -c`, which does not inherit the
script's `set -euo pipefail`. A failing `cd` or a failing
`source install/setup.bash` was therefore ignored, and the user's
command still ran without the workspace overlay while the helper
reported success (exit 0).

Guard both steps explicitly so the helper aborts with an actionable
message instead of silently running commands against the wrong
environment. Explicit guards are used rather than `set -e` because
`set -u` breaks ROS's generated setup.bash (COLCON_TRACE unbound) and
`set -e` would propagate into that sourced script.

@mujtaba-zia mujtaba-zia left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

lgtm

@yassinsolim
yassinsolim merged commit 6c9c311 into main Aug 8, 2026
1 check passed
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.

2 participants