Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Move the remaining `scripts/` tooling to Rust (`cargo xtask` / e2e scenarios)

Open Beginner friendly
#572 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

@rominf is already working on this.

Since Oct 7, 2026.

  • #588 by @rominf — open

Assessment

Difficulty
2/5
Estimated time
Under an hour
Newbie friendliness
85/100
Issue type
Refactor
Clarity
Clearly specified
Activity status
Active
Tech stack
rust
Domain
tooling

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.toml parsing, asset naming and signing;
  • bring them under cargo test and 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 on main since #396, covered by dash.feature) and fix the stale single_exe_release_gate.py reference 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.py standalone → xtask
  • reclaim-gpu.sh → xtask
  • *_therock_gpu_test.py / therock_sdk_install_test.py → @requires-gpu scenarios, or removed where a scenario already covers them
  • tests/remote-ssh/run*.sh → Rust harness. The fake-*.sh stand-ins stay, because they run inside the container.

Staying native:

  • install.sh / install.ps1, which run before any Rust binary exists
  • docs/rocm-docs/conf.py
  • .github/scripts/Invoke-WslBash.ps1
  • setup-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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ROCm/rocm-cli

All issues in ROCm/rocm-cli

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.