Skip to content

build!: stop publishing to npm; module path .../v6 for go install - #65

Open
achoimet wants to merge 2 commits into
mainfrom
build/drop-npm
Open

achoimet wants to merge 2 commits into
mainfrom
build/drop-npm

Conversation

@achoimet

Copy link
Copy Markdown
Member

The Go CLI is no longer published to npm (decision for v6).

  • Release job: the npm packaging (internal/tools/npmpkg, the npm/ launcher) and the npm publish steps are removed, along with the release job's id-token permission, which only npm provenance used. Releases are now the GitHub release (goreleaser binaries, archives and checksums), the Docker image, and the GitHub Action on top of them.
  • README: installation is now the release download, go install, the container image or the Action. A note tells npm users that steadybit@5.0.0 is the last npm version, and how to switch; profiles keep working.
  • CHANGELOG: v6.0.0 carries the npm change as Breaking.
  • Module path is now github.com/steadybit/cli/v6. Go only resolves v2+ tags for a module whose path ends in /vN. With the old path, go install github.com/steadybit/cli/cmd/steadybit@latest would have built the latest commit on main, not the release.
  • Version reporting: a binary built with go install reports its module version from the build info, while releases keep the stamped version. CI now checks that the Docker image reports the version it was built with. The post-release verify-action job already checks the downloaded binaries.

Verified locally: go vet and go test pass, a goreleaser snapshot reports its version, and a Docker build reports its VERSION and passes the container suite (20/20).

After v6.0.0 is out (package owner): npm deprecate steadybit "The Steadybit CLI is now a Go binary: see https://github.com/steadybit/cli#installation". The @steadybit/cli-* packages no longer need to be created.

The Go CLI is distributed as GitHub release binaries, with go install,
as the container image and through the GitHub Action. steadybit@5.0.0 on
npm is the last version there; the README tells npm users how to move.
CI now checks that the image reports the version stamped into it.
…eleases

Go only resolves v2+ tags for a module whose path ends in the major
version; with the old path, go install @latest built the latest commit.
A binary built that way reports its module version.
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