Skip to content

proposal: cmd/dist: cli based upgrades #53596

Description

@matthewhartstonge

A number of the programming languages I use support upgrade paths built into their tooling which has made keeping up to date extremely easy. This is definitely more of a ✨nice to have✨ for developer experience.

Benefits

  • Could make upgrades easier for newcomers.
  • Could make it easier for developers to stay up to date.
  • Could make polyglot device management easier for teams by the CLI being able to run the upgrade.
  • Could help stop human polling of go.dev, twitter or rss release feeds to know when a new version is out.

Prior Art

  • flutter upgrade
  • rustup upgrade
  • Most JavaScript frameworks provide some form of the above, i.e. ember update but this is little different as these are libraries/frameworks than a language.

Example

The following example pinched from the Flutter upgrade flow:

$ go upgrade
upgrading from go1.18.2 to go1.18.3...

Downloading Go SDK...
Expanding downloaded archive...

Upgrading Go...
Go 1.18.3 • channel stable • https://github.com/golang/go.git
revision 4068be5 (28 days ago) • 2022-06-02 04:38:00 +1200
$ go upgrade
go is already up to date on channel stable
go version go1.18.3 windows/amd64

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions