Move the remaining `scripts/` tooling to Rust (`cargo xtask` / e2e scenarios)
Maintainers usually reply within 2 days
Assessment
- Difficulty
- 2/5
- Estimated time
- Under an hour
- Newbie friendliness
- 85/100
Research direction
Start by deleting the unused scripts/tui_e2e_smoke.py file, then open AGENTS.md to fix the stale single_exe_release_gate.py reference. Search the repository for other mentions of the removed script to confirm no broken references remain.
Written by the indexing model from the issue text.
Description
cargo xtask already owns packaging, signing, coverage and the install-lifecycle harness (#139). About 9.5k lines of Python and shell tooling remain under scripts/ and tests/remote-ssh/. All of it already needs the Rust toolchain, because it builds or drives the rocm binary. Porting it would:
- keep its checks next to the Rust code they validate, such as
expectations.tomlparsing, asset naming and signing; - bring them under
cargo testand the per-crate coverage floors; - drop Python from the required CI jobs.
Proposed order, one PR each:
- Remove
scripts/tui_e2e_smoke.py(unused, fails onmainsince #396, covered bydash.feature) and fix the stalesingle_exe_release_gate.pyreference in AGENTS.md -
smoke_local.py→cargo xtask smoke -
xfail_expectations_hint.py→ xtask -
release_readiness.py→ xtask (after #550 lands) -
build_single_exe_release.pystandalone→ xtask -
reclaim-gpu.sh→ xtask -
*_therock_gpu_test.py/therock_sdk_install_test.py→@requires-gpuscenarios, or removed where a scenario already covers them -
tests/remote-ssh/run*.sh→ Rust harness. Thefake-*.shstand-ins stay, because they run inside the container.
Staying native:
install.sh/install.ps1, which run before any Rust binary existsdocs/rocm-docs/conf.py.github/scripts/Invoke-WslBash.ps1setup-wsl-portable-build-deps.sh
Each port keeps its checks assertion for assertion, and its --self-test becomes cargo test coverage.
- Dominant language
- Rust
- Stars
- 41
- Forks
- 10
- Avg merge
- 5d 14h
- Merged PRs (30d)
- 87
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ROCm/rocm-cli
-
serve: the post-launch smoke test spins forever at 100% CPU if the engine closes the connection mid-responsePossibly taken A pull request linked to this issue is open or already merged. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
ROCm/rocm-cli#514 · 1 comment ·
Maintainers usually reply within 2 days
-
examine: lspci cannot name a GPU that pci.ids does not know, though the device id is on the lineOpenbug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 2 days
-
diagnose: a line reading "blacklistamdgpu" is treated as blacklisting amdgpuPossibly taken A pull request linked to this issue is open or already merged. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 2 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 2 days
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Maintainers usually reply within 2 days
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 4 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Update dusk-bls12_381 to 0.16Possibly taken @HDauven claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
`TcpListenerService` shares one `Extensions` store across all accepted connectionsPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
googlefonts/fontquant#43 ·