Skip to content

x/exp/cmd/gorelease: split release, diff functionality and prepare to merge into GOROOT #46371

Open
@jayconrod

Description

@jayconrod

@jadekler and I spent some time talking today about the future of gorelease. Here's what we're thinking.

  • There seem to be two diverging use cases: 1) checking whether the module in the current directory is ready to be released as a new version, and 2) find what changed between two existing versions, either of the same module, different major versions, or different modules (forks, renames). The code that serves these use cases in nearly the same, but we should think about splitting the CLI.
  • We eventually want to make gorelease part of the go command. Like go doc, it will run a separate binary (cmd/doc in that case). As part of this, I propose we name the command go mod vet to make it clear this is module-related, and it analyzes something like go vet. The name go release makes it sound like it's performing a release (uploading something), and the GoReleaser project has a similar name.
  • Comparing APIs of existing versions doesn't seem like it should be part of go mod vet, though it's an important use case. We should move this into a new command, say golang.org/x/tools/cmd/gomoddiff.

To move forward, let's do the following:

Metadata

Metadata

Assignees

No one assigned

    Labels

    NeedsDecisionFeedback is required from experts, contributors, and/or the community before a change can be made.ToolsThis label describes issues relating to any tools in the x/tools repository.modules

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions