Skip to content

docs: tell partner CLI users to upgrade with their partner installer - #198

Open
vrobert78 wants to merge 1 commit into
mainfrom
docs/partner-cli-upgrade
Open

vrobert78 wants to merge 1 commit into
mainfrom
docs/partner-cli-upgrade

Conversation

@vrobert78

Copy link
Copy Markdown
Contributor

Problem

Partner CLIs (white-label builds of this binary) are about to start checking for new releases. Binaries older than v5.12.0 print this notice when an update is available:

To upgrade, follow the instructions at: https://github.com/upsun/cli#upgrade

From v5.12.0, binaries also fall back to that link whenever they can't build a tailored upgrade command.

None of the steps under ## Upgrade work for a partner user. Homebrew, Scoop, the bash installer and apk/apt/dnf all upgrade or install the separate upsun CLI. The bash installer step even installs upsun next to the partner CLI and leaves the partner CLI as it was. A partner CLI is upgraded by running the partner's own installer again (curl -fsSL https://cli.<partner>/installer | sh).

Change

README only, no code:

  • A [!NOTE] callout at the top of ## Upgrade tells partner CLI users to re-run their partner's installer.
  • One line under ### Bash installer says this step upgrades the Upsun CLI and points back to the note.

The ## Upgrade heading is unchanged, so the #upgrade anchor still works, and no other heading produces the same anchor.

Rollout

Old binaries link to the README on main, so the fix reaches every existing install as soon as this is merged. No release is needed.

Question for the reviewer

The text uses a generic cli.<partner> placeholder and doesn't name any partner. Should it stay generic (my default), or should it name the partner installers?

🤖 Generated with Claude Code

@vrobert78
vrobert78 requested a review from pjcdawkins October 2, 2026 17:06

@upsun-dispatch upsun-dispatch Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

Changes suggested — 🟡 1 warning

🔍 Full review · 1 file reviewed

Verification
  • The ## Upgrade heading is unchanged, so links to #upgrade (the target of older binaries' upgrade link) still work.
  • installer.sh starts with #!/bin/sh, so piping a partner installer to sh in the note matches the CLI's own tailored upgrade command.
  • The added text sits inside the ## Upgrade section and under ### Bash installer, and adds no new heading or anchor.

Documentation-only change, and nothing checks it: no test or CI job validates the README upgrade instructions.

Review details
  • Commit: 0d844f4
  • Model: claude-opus-5-5

Review 1 of 10 for this pull request · View the full run

Comment thread README.md
> [!NOTE]
> **Using a partner's branded CLI?** If you installed it from a partner installer
> (`https://cli.<partner>/installer`), upgrade it by running that installer again:
> `curl -fsSL https://cli.<partner>/installer | sh`. Your provider's documentation

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Warning — Partner users may end up with a second binary and an old CLI still on PATH.

The note tells partner users to run curl -fsSL https://cli.<partner>/installer | sh with no settings. A partner installer built from installer.sh then picks its own method and folder. On Linux it picks apt, yum or apk when one is present, and on macOS it picks Homebrew. Its install folder defaults to /usr/bin or ~/.local/bin (check_install_method/check_directories).

  • A user who first installed with a custom INSTALL_DIR ends up with a second copy elsewhere. The old binary they actually run is not upgraded.
  • If the partner didn't change BREW_TAP, package and the repository URLs, the apt or Homebrew path installs upsun-cli from Upsun's sources. That is the same problem the PR describes.

The CLI's own tailored command (upgradeCommandFor, commands/root.go:270-272) adds INSTALL_METHOD=raw INSTALL_DIR=<dir of current binary> for exactly this reason, as its comment says. The note leaves both out.

This branch has not been deployed

No deployments
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.

1 participant