Azure / azure-dev

A developer CLI that reduces the time it takes for you to get started on Azure. The Azure Developer CLI (azd) provides a set of developer-friendly commands that map to key stages in your workflow - code, build, deploy, monitor, repeat.
https://aka.ms/azd
MIT License
416 stars 204 forks source link

Go module tagging #360

Open danieljurek opened 2 years ago

danieljurek commented 2 years ago

Tag the go module on release according to discussion in https://github.com/Azure/azure-dev/issues/370#issuecomment-1031643183

Releasing Go Modules

Releasing to Go Modules from a monorepo requires that the tag contain a path to the module code. In this case we'd want to add an additional tag to the release tag (e.g. v1.1.0 and cli/azd/v1.1.0) https://go.dev/ref/mod#vcs-version ... We'd add the tag after creating the release.

danieljurek commented 2 years ago

This isn't terribly important for a private repo. This work should be considered in public preview.

danieljurek commented 2 years ago

@ellismg -- Is module tagging for Go release something we should be doing in our repo? The use case I see here would be someone wanting to make use of any public functionality of our code in their own Go project.

ellismg commented 2 years ago

Is module tagging for Go release something we should be doing in our repo? The use case I see here would be someone wanting to make use of any public functionality of our code in their own Go project.

I think it's something we may want down the line - but not initially. I don't want us to think of the go code in this repository as public surface area yet (and we won't follow something like the Go Compatibility Promise for now for agility. When we get ready to go 1.0.0 we should figure out what that means for our go code (I suspect we'll want to leverage internal packages at that point so most of this stuff is not importable outside of azd).