• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

nvidia-holoscan / holoscan-cli / 28530228148
78%
main: 77%

Build:
Build:
LAST BUILD BRANCH: pull-request/193
DEFAULT BRANCH: main
Ran 01 Jul 2026 03:52PM UTC
Jobs 1
Files 35
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

01 Jul 2026 03:51PM UTC coverage: 76.873% (-0.4%) from 77.248%
28530228148

Pull #193

github

wyli
fix: install CLI in one env and elevate only per-operation (NVBug 6336980)

`./holohub setup` regressed on PEP 668 hosts (Jetson AGX Thor / IGX Thor):
`sudo ./holohub setup` failed with `externally-managed-environment`, and a
venv install then died in `sccache.sh` writing `/opt/sccache` unprivileged.

Rework the setup privilege model around two rules:

- One Python environment. The CLI runs in the interpreter you're already in
  (active venv, or the wrapper-managed venv), so build/run/setup and
  `sys.executable` stay consistent, and setup never installs into system
  Python.

- Elevate only the system steps. Replace the command-text sudo heuristic in
  `utils/io.py` with an explicit `run_command(..., as_root=True)` and a
  `write_system_file()` helper; delete `_classify_sudo_requirement` /
  `_process_command_with_sudo`. Route apt, the Kitware keyring/apt source,
  and the bash-completion copy through explicit elevation; install the ngc
  CLI into `~/.local/bin` (no root).

Setup scripts are plain, familiar bash (no helper library): they run as the
invoking user in the project's Python environment with sudo available --
`sudo apt-get ...` for system packages, `python3 -m pip ...` for Python. The
CLI runs them with the venv on PATH and prompts for sudo once on the default
path. `sccache` installs to a user-owned dir on the host (system-wide only
when root), so no elevation is needed to close the bug; `Dockerfile.util`
installs sudo so the scripts work in-container.

Signed-off-by: Wenqi Li <wenqil@nvidia.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pull Request #193: fix: install CLI in one env and elevate only per-operation

21 of 63 new or added lines in 3 files covered. (33.33%)

3 existing lines in 2 files now uncovered.

2955 of 3844 relevant lines covered (76.87%)

0.77 hits per line

Uncovered Changes

Lines Coverage ∆ File
15
63.25
-1.94% src/holoscan_cli/utils/io.py
14
28.0
0.41% src/holoscan_cli/commands/setup_cmd.py
13
49.38
-2.57% src/holoscan_cli/utils/host_setup.py

Coverage Regressions

Lines Coverage ∆ File
2
28.0
0.41% src/holoscan_cli/commands/setup_cmd.py
1
49.38
-2.57% src/holoscan_cli/utils/host_setup.py
Jobs
ID Job ID Ran Files Coverage
1 28530228148.1 01 Jul 2026 03:52PM UTC 35
76.87
GitHub Action Run
Source Files on build 28530228148
  • Tree
  • List 35
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28530228148
  • Pull Request #193
  • PR Base - main (#27601794127)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc