Skip to content

fix: update command handles archived releases and universal binaries#254

Merged
TimPietruskyRunPod merged 3 commits intomainfrom
fix/update-backward-compat
Mar 12, 2026
Merged

fix: update command handles archived releases and universal binaries#254
TimPietruskyRunPod merged 3 commits intomainfrom
fix/update-backward-compat

Conversation

@TimPietruskyRunPod
Copy link
Member

Summary

  • backward compat: adds a legacy build in goreleaser that publishes raw per-arch binaries (runpodctl-darwin-arm64, runpodctl-linux-amd64, etc.) so old runpodctl versions can still self-update
  • new update logic: the update command now correctly matches archived asset names (.tar.gz/.zip) and extracts the binary, and maps darwin to the universal binary (darwin-all)
  • ux: adds an "already up to date" message instead of silently exiting

Context

since v2.0.0, goreleaser only produces archives (runpodctl-darwin-all.tar.gz) and no longer publishes raw binaries. the old update command expected exact matches on runpodctl-{os}-{arch} which no longer existed, causing platform darwin-arm64 not supported in latest version for all users trying to self-update.

Test plan

  • verify goreleaser produces both archived and raw binary assets in a release
  • test runpodctl update on darwin-arm64 with the new code (archive extraction path)
  • test that an old runpodctl binary can update to this version via the raw binary assets
  • test runpodctl update when already on latest shows "already up to date"

the update command broke in v2.0.0 when goreleaser switched to archive-only
releases (tar.gz/zip) and darwin universal binaries. the old code expected raw
binary assets named runpodctl-{os}-{arch} which no longer existed.

- goreleaser: add legacy build+archive to publish raw per-arch binaries for
  backward compat with old runpodctl versions
- update: match against archived asset names (tar.gz/zip) and extract binary
- update: map darwin to universal binary asset (darwin-all)
- update: use temp files for download and extraction
- update: add "already up to date" message
@justinwlin justinwlin self-requested a review March 12, 2026 16:44
@TimPietruskyRunPod TimPietruskyRunPod merged commit aca1223 into main Mar 12, 2026
1 check passed
@TimPietruskyRunPod TimPietruskyRunPod deleted the fix/update-backward-compat branch March 12, 2026 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants