[Backport] Fix kitless multi-GPU tests and ROS link checks - #7558
Conversation
Greptile SummaryThis backport prevents the multi-GPU test runner from treating the kitless image's mounted
Confidence Score: 4/5The PR appears safe to merge, with a non-blocking opportunity to make the new regression test verify shell behavior rather than source-line text. The runtime change correctly distinguishes Kit-based and kitless layouts; the only accepted concern is that the added test can produce false confidence because it does not validate control flow. Files Needing Attention: docker/test/test_container_profiles.py Important Files Changed
Reviews (1): Last reviewed commit: "Guard Isaac Sim link in kitless tests" | Re-trigger Greptile |
| link_lines = [line.strip() for line in script.splitlines() if "ln -s /isaac-sim _isaac_sim" in line] | ||
|
|
||
| assert link_lines | ||
| assert all("/isaac-sim/python.sh" in line for line in link_lines), link_lines |
There was a problem hiding this comment.
Assertion does not verify guard
The assertion only checks that /isaac-sim/python.sh appears on the same source line as the symlink command, so an unconditional command with that path in a comment or unrelated expression still passes. This weakens the regression test because it does not verify that the executable check actually controls link creation.
There was a problem hiding this comment.
Isaac Lab Review Bot
Reviewed the CI backport’s conditional _isaac_sim link creation, ROS-domain link-check exclusion, and regression coverage. The changed paths preserve kit-based behavior while avoiding the kitless virtual-environment conflict; no actionable pre-merge defect is established.
- Design and architecture: The symlink guard remains localized to the container test runner’s existing setup point and distinguishes images by the executable Kit launcher. The source-inspection regression test is somewhat coupled to shell formatting and location, but this is a non-blocking maintainability tradeoff rather than a demonstrated defect.
- API: No public Python API, CLI argument, Compose contract, or environment contract changes. The tolerant link removal remains compatible with
set -e, and subsequentisaaclab.sh -pcalls retain their intended kit and kitless interpreter-resolution paths. - Implementation: Checking for executable
/isaac-sim/python.shdirectly addresses the runtime-created directory ambiguity before creating_isaac_sim. Theros\.orgexclusion covers both reported ROS hosts and follows the workflow’s existing substring-pattern style, with only the existing class of broad-match residual risk.
No blocking issues. No inline issue met the actionable-evidence threshold; the assessment above records the review feedback.
Automated review; human maintainers own approval decisions.
|
run-ci |
Description
Fixes two release CI failures without backporting #7405.
Kitless multi-GPU tests
Backports only the release-relevant multi-GPU test fix from #7540.
PR #7466 is present on
release/3.0.0, soisaaclab.shrejects a downloaded-Isaac-Sim link alongside the kitless image's active virtual environment. The test runner currently creates_isaac_sim -> /isaac-simunconditionally because runtime mounts make/isaac-simexist even in the kitless image.This change creates the link only when
/isaac-sim/python.shexists. Kit-based test images retain their existing behavior, while the kitless multi-GPU smoke test resolves Python fromVIRTUAL_ENV.This intentionally excludes #7540's image-invariant/cache changes and all of #7405, which was not backported to the release branch.
Original PR: #7540
Documentation link check
The automatic backport's link check failed twice because
www.ros.organddocs.ros.orgreturn HTTP 403 to the GitHub runner. Both links remain valid. The link-check workflow already excludes known crawl blockers, so this adds a singleros.orgexclusion covering both hosts without changing the documentation destinations or weakening checks for other domains.Failed run: https://github.com/isaac-sim/IsaacLab/actions/runs/33828925399
Type of change
Release backport
Not applicable: this PR directly targets
release/3.0.0.Validation
uv run --no-project --with pytest --with pyyaml python -m pytest docker/test/test_container_profiles.py -q- 14 passed.bash -n .github/actions/run-tests/run_tests.sh- passed..github/workflows/check-links.ymlwith PyYAML and verified the exclusion matches both failing URLs.develop.uv run isaaclab -fcommand cannot resolve this branch's Linux/Windows-only lockfile on macOS; the equivalent file-scoped hooks were run directly.Checklist
CONTRIBUTORS.md.