Skip to content

[Docker] Call the isaaclab console script directly in the images - #7503

Draft
hujc7 wants to merge 1 commit into
isaac-sim:developfrom
hujc7:jichuanh/docker-isaaclab-console-entrypoint
Draft

[Docker] Call the isaaclab console script directly in the images#7503
hujc7 wants to merge 1 commit into
isaac-sim:developfrom
hujc7:jichuanh/docker-isaaclab-console-entrypoint

Conversation

@hujc7

@hujc7 hujc7 commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

The Docker images call isaaclab.sh -p for every Python invocation. Putting the environment
on PATH makes the isaaclab console script directly callable, so the call sites read
isaaclab -p — shorter than the launcher path, with no wrapper.

Description

Follow-up to a review comment asking what it would take to remove isaaclab.sh -p from the
images:

#7405 — [Docker] Install the Docker images from uv.lock (merged)

  • ENV PATH="${VENV_PATH_ARG}/bin:${PATH}" — placed below the install layers, which it
    would otherwise invalidate. Nothing is shadowed: python3, pip3 and isaaclab are not on
    PATH in the current images at all.
  • uv run was the alternative and needs --frozen --no-sync --project to behave the same:
    without them it re-resolves the project on every call and warns when invoked outside it.
    Measured 124 ms against 110 ms per call, for a longer line.
  • install_deps.py apt moves below the workspace install. It ran before it, where the
    console script cannot import its own package. Nothing between the two steps needs apt
    first — the third-party packages are already installed and the workspace members are
    pure-Python editables.
  • Two aliases removedisaaclab shadowed the console script once it is on PATH, and
    tensorboard was an explicit path into the environment.

isaaclab.sh still ships and is unchanged; this only changes how the images reach it.

Type of change

  • New feature (non-breaking change which adds functionality) — the images gain isaaclab on
    PATH; no public API changes

Release backport

  • Backport this pull request to the active release branch after it merges into develop

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • No documentation change is required — the documented isaaclab.sh entrypoint still ships and is unchanged
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works — built base and cuRobo and verified isaaclab -p imports isaacsim, the prebundle repoint still runs, and no prebundled package is left dangling
  • A changelog fragment is not required because no source package changed — the diff is docker/ only
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@github-actions github-actions Bot added documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team infrastructure labels Sep 2, 2026
Review feedback on isaac-sim#7405: the images went through ``isaaclab.sh -p`` for every
Python invocation. Putting the environment on PATH makes the console script
directly callable, so the call sites read ``isaaclab -p`` -- shorter than the
launcher path, with no wrapper.

``uv run`` was the other option but needs ``--frozen --no-sync --project`` to
match: without them it re-resolves the project on every call, and it warns when
invoked outside the project directory. Measured 124 ms against 110 ms per call.

``install_deps.py apt`` moves below the workspace install. It ran before it,
where the console script cannot import its own package, and nothing between the
two steps needs apt first: the third-party packages are already installed and
the workspace members are pure-Python editables.

Two aliases go with it. ``isaaclab`` shadowed the console script now on PATH,
and ``tensorboard`` was an explicit path into the environment. ``isaaclab.sh``
itself still ships and is unchanged; this only changes how the images reach it.
@hujc7
hujc7 force-pushed the jichuanh/docker-isaaclab-console-entrypoint branch from 54eae88 to 37a562c Compare September 3, 2026 17:05
@hujc7 hujc7 added the ci:run-docker Trigger the on-demand Docker and GPU CI workflow label Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:run-docker Trigger the on-demand Docker and GPU CI workflow documentation Improvements or additions to documentation infrastructure isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant