Problem
There's no upgrade story and re-running is wasteful/leaky:
- Every run re-clones + recompiles XMRig from scratch (minutes), even when nothing changed.
prepare_workspace moves xmrig → xmrig-<timestamp> on every run and never cleans up (rigforge.sh:159-162) — archives accumulate forever (observed 8+ stale xmrig-* dirs on a test box). A disk leak.
Proposed
- An
upgrade flow that re-pulls the pinned XMRIG_VERSION, rebuilds, and restarts the service only if the version changed; skip recompile when the pinned version is already built (idempotent re-runs).
- Prune old build archives (keep last N, or remove on successful build).
- A self-update note/command for the RigForge repo itself (
git pull + re-run).
Acceptance
Problem
There's no upgrade story and re-running is wasteful/leaky:
prepare_workspacemovesxmrig→xmrig-<timestamp>on every run and never cleans up (rigforge.sh:159-162) — archives accumulate forever (observed 8+ stalexmrig-*dirs on a test box). A disk leak.Proposed
upgradeflow that re-pulls the pinnedXMRIG_VERSION, rebuilds, and restarts the service only if the version changed; skip recompile when the pinned version is already built (idempotent re-runs).git pull+ re-run).Acceptance
xmrig-*archives are pruned; disk doesn't grow unbounded.upgraderebuilds + restarts only on a version bump.