Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
50edb1e
feat(install): add --yes flag for non-interactive SDK installation an…
r0x0r Aug 18, 2026
0295ebf
test(install): cover the host-vs-TheRock version-note explanation (EA…
r0x0r Aug 28, 2026
46d14a8
install: address --yes review — propagate flag, fix host-newer parse,…
r0x0r Sep 3, 2026
82281a6
docs(install): document --yes for SDK reinstall and cover chat/MCP pl…
r0x0r Sep 8, 2026
62105bb
test(e2e): pass --yes on the remaining shared-tree SDK install (EAI-7…
r0x0r Sep 9, 2026
44e849a
fix(install): add --yes to the rocmd MCP install_sdk spawn and correc…
r0x0r Sep 10, 2026
3244d96
fix(install): say "replace as the active default" in the --yes help (…
r0x0r Sep 10, 2026
5701a8f
Merge origin/main into rocm-latest-version (EAI-7956)
r0x0r Sep 10, 2026
04849a2
fix(install): gate the SDK consent prompt on the active default runti…
r0x0r Sep 10, 2026
ee8fac3
style: rustfmt the active-default gate test and step
r0x0r Sep 10, 2026
27d4bff
Merge origin/main into rocm-latest-version
r0x0r Sep 11, 2026
fecf93d
Merge origin/main into rocm-latest-version (EAI-7956)
r0x0r Sep 11, 2026
76c6aa3
fix(install): stop injected --yes from approving sudo package install…
r0x0r Sep 11, 2026
d6435b4
fix(install): credit the consent flag that was actually passed (EAI-7…
r0x0r Sep 11, 2026
d40c420
Merge remote-tracking branch 'origin/main' into HEAD
r0x0r Sep 14, 2026
acec516
Merge origin/main into rocm-latest-version
r0x0r Sep 14, 2026
9ee039a
fix(install): fail the consent gate closed and carry --yes through fr…
r0x0r Sep 15, 2026
b4e78e2
docs(readme): link the install-consent section by URL, not a page anchor
r0x0r Sep 15, 2026
c593462
fix(install): fail the consent gate closed on both default_runtime_id…
r0x0r Sep 15, 2026
aa554f3
fix(install): blame only the active key's own unreadable manifest, na…
r0x0r Sep 15, 2026
4a53615
fix(install): strip an attached-value --yes, disclose the injected co…
r0x0r Sep 15, 2026
27eef66
test(install): cover the consent disclosure end to end, honest strip …
r0x0r Sep 15, 2026
2cf687e
Merge origin/main into rocm-latest-version
r0x0r Sep 16, 2026
ddc8f7a
Merge origin/main into rocm-latest-version
r0x0r Sep 16, 2026
49ad726
test(e2e): reach the consent gate for a cross-family install (EAI-7956)
r0x0r Sep 16, 2026
dfeffcb
Merge origin/main into rocm-latest-version
r0x0r Sep 16, 2026
bef9ea4
docs: cover the SDK install consent gate in the testing guides (EAI-7…
r0x0r Sep 16, 2026
34f7eb4
docs: correct two comments the consent gate work falsified (EAI-7956)
r0x0r Sep 17, 2026
2c99788
Merge origin/main into rocm-latest-version
r0x0r Sep 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 39 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,11 @@ rocm install sdk
This downloads TheRock ROCm wheels and a matching PyTorch stack into a managed
environment. On machines with an existing ROCm install, `rocm examine` will
show it as `legacy_rocm_status: detected_unmanaged` — running `rocm install sdk`
creates a separate managed runtime alongside it.
creates a separate managed runtime alongside it. Running the command when a

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This paragraph and the one at :266-283 explain the same three facts — the gate, the narrow flag, and what --yes additionally approves — with the second running about 3x the length. Both are accurate today; the risk is that a future reword updates one and not the other, which is the failure mode this PR exists to prevent elsewhere. Worth collapsing to one authoritative spot with a pointer.

managed runtime is already the active default asks first, because the new
install takes over as the active default; see
[ROCm installation](https://github.com/ROCm/rocm-cli/blob/main/README.md#rocm-installation)
for that gate and the flags that approve it without a prompt.

Then serve a model:

Expand Down Expand Up @@ -297,6 +301,7 @@ sometimes because it also needs sudo or a reboot).
rocm install sdk [--channel release|nightly] [--format wheel|tarball]
[--version x.y.z | --build-date YYYY-MM-DD]
[--family gfx110X-all] [--prefix PATH] [--dry-run]
[--approve-replacing-active-default] [--yes]

rocm install driver [--dkms] [--yes] [--dry-run] [--reconcile]

Expand All @@ -305,17 +310,39 @@ rocm update [--apply] [--runtime KEY] [--activate] [--dry-run]
```

`install sdk` downloads TheRock ROCm wheels into a Python environment managed
by rocm-cli. `install driver` installs the AMD kernel driver on Linux (DKMS or
native package). `update` checks for a newer ROCm package; pass `--apply` to
install it, or `--dry-run` to preview what `--apply` would do without changing
anything (`--dry-run` does not require `--apply`). `--runtime` and `--activate`
require `--apply` or `--dry-run` — pass one of those instead of naming a
runtime or requesting activation on its own. `--json` prints the check
result as a single line of JSON instead of text; `--timeout-secs` bounds its
network calls (`--timeout-secs` requires `--json`; both `--json` and
`--timeout-secs` conflict with `--apply`, and `--json` also conflicts with
`--dry-run`). `update --apply` never prompts; `--yes` is accepted for
consistency with other mutating commands but has no effect on it.
by rocm-cli. An install with no active default runtime never prompts, but once a
managed runtime is the active default every `install sdk` asks first, because
the new install takes over as the active default. That gate is not scoped to the
family or channel you are installing: a `--family` or `--channel` you have never
installed before takes over the active default just as a same-family upgrade
does, so it asks too. To approve that non-interactively — in scripts or CI, where
the prompt would otherwise refuse — pass `--approve-replacing-active-default`,
which is also what the refusal itself recommends and what ROCm CLI's own
non-interactive surfaces (chat, MCP, the dashboard) pass. `--yes` grants the same
approval *and* approves installing required system packages (such as OpenMPI for
vLLM), which means `sudo`; reach for it only where something can answer a sudo
password prompt — which an unattended job cannot, unless it has passwordless sudo
configured. In the default managed install root, the root and its manifest are
keyed by version, so an upgrade or downgrade keeps the previous install on disk
and only a same-version reinstall reuses the same root. `--prefix` opts out of
that: the folder you name is used verbatim for every version, so successive
installs into one prefix replace each other in place — and if the venv already
there no longer runs its own Python, it is removed outright and rebuilt. The
consent gate does not cover that: it asks about changing the active default
runtime, not about what a named prefix loses. `install driver` installs the AMD
kernel driver on Linux (DKMS or native package). `update` checks for a newer
ROCm package; pass `--apply` to install it, or `--dry-run` to preview what
`--apply` would do without changing anything (`--dry-run` does not require
`--apply`). `--runtime` and `--activate` require `--apply` or `--dry-run` — pass
one of those instead of naming a runtime or requesting activation on its own.
`--json` prints the check result as a single line of JSON instead of text;
`--timeout-secs` bounds its network calls (`--timeout-secs` requires `--json`;
both `--json` and `--timeout-secs` conflict with `--apply`, and `--json` also
conflicts with `--dry-run`). `update --apply` never prompts and needs no
approval flag: selecting a runtime to update is itself the approval, and it
leaves the active default alone unless you add `--activate`. `update` does
accept `--yes`, for consistency with other mutating commands, but it grants
nothing there — the approval line the update path prints never credits it.

ROCm 10 and newer ship from a different source layout. It is opt-in, and asking
for it takes two things together: pin the version with `--version`, and name the
Expand Down
Loading
Loading