Repository navigation
fix(bringup): loud AUTOLAUNCH FAILED banner instead of silent tmux prompt - #402
Merged
Merged
Conversation
…ompt The autolaunch tmux chains (bws && sws && ros2 launch ...) died silently when any package failed to build: the pane returned to a prompt, docker logs showed nothing, and the symptom surfaced only as missing data far downstream (e.g. 'Foxglove has a connection issue'). The GCS variant (bws && sws; ros2 launch) even launched unsourced after a failed build. Both bind-mounted .bashrc files gain an autolaunch() helper that runs build → source → launch and prints an unmissable red banner (plus a plain-text repeat for ANSI-stripping log processors) when the build fails or the launch exits nonzero. All robot variants (desktop, voxl, l4t) and the GCS compose commands now use it; the zed camera service keeps its own chain (separate bashrc). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Test Metrics —
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
While live-testing the Foxglove auto-layout feature (#401), the robot container's autolaunch chain
bws && sws && ros2 launch ...died silently: one package failed to build (a machine-local staledpvoleftover needingnvcc), the&&chain short-circuited, and the tmux pane just returned to a prompt.docker logsshowed nothing. The symptom surfaced only far downstream — "Foxglove has a connection issue" (empty panels, no robot topics on the GCS domain) — and took a full debugging session to trace back to a build failure at bring-up.The GCS variant was worse:
bws && sws; ros2 launch ...— after a failed build it skipped sourcing but still ran the launch.What changed
Both bind-mounted
.bashrcfiles (robot/docker/.bashrc,gcs/docker/.bashrc) gain anautolaunch()helper that runs build → source → launch and prints an unmissable banner when a stage fails:Red/white ANSI banner plus a plain-text repeat (for ANSI-stripping log processors); the tmux output-mirroring hooks carry it into
docker logs/airstack logs. A nonzeroros2 launchexit gets the same treatment ("the stack is DOWN", with the exit code).The compose autolaunch commands now use it:
robot/docker/docker-compose.yamlgcs/docker/gcs-base-docker-compose.yamlbws && sws; ros2 launchmis-chain that launched unsourced after a failed build)The zed camera service keeps its own chain — it mounts a separate bashrc and is camera-only.
Since the
.bashrcs are bind-mounted, the change takes effect on next container start with no image rebuild. VERSION bumped 0.20.0-alpha.10 → 0.20.0-alpha.11; release-notes Changed bullet added.Validation
bws/sws/ros2: build failure → banner +rc=1+ no launch attempt; launch exiting 42 → banner +rc=42; success → no banner,rc=0.bash -non both.bashrcs; YAML parse on both compose files.airstack upwith a deliberately broken package should show the banner inairstack logs.🤖 Generated with Claude Code