kuma: Kuma release tags don't match Go module versioning

Summary

The Kuma release tags don’t work correctly with Go module versioning, making it difficult to write code that uses the Kuma API.

Steps To Reproduce

Importing the unversioned API module:

jpeach@greenling:/tmp/k$ go get github.com/kumahq/kuma/api
go: downloading github.com/kumahq/kuma/api v0.0.0-20210531143733-0079cdb82767
go get: added github.com/kumahq/kuma/api v0.0.0-20210531143733-0079cdb82767

Importing a release tag:

jpeach@greenling:/tmp/k$ go get github.com/kumahq/kuma/api@1.1.6
go: downloading github.com/kumahq/kuma/api v0.0.0-20210513090738-be98608a8344
go get: downgraded github.com/kumahq/kuma/api v0.0.0-20210531143733-0079cdb82767 => v0.0.0-20210513090738-be98608a8344

The modfile doesn’t understand what the version is:

jpeach@greenling:/tmp/k$ cat go.mod 
module k

go 1.16

require (
	github.com/kumahq/kuma/api v0.0.0-20210513090738-be98608a8344 // indirect
	google.golang.org/grpc v1.37.1 // indirect
)

I’m pretty sure that versioning the API module would work right if the version tag was “v1.1.6”. There’s more problems if you try to import anything ffrom github.com/kumahq/kuma due to the rewriting, but that’s a different issue IIUC.

Ref https://golang.org/doc/modules/version-numbers

About this issue

  • Original URL
  • State: open
  • Created 3 years ago
  • Reactions: 1
  • Comments: 17 (17 by maintainers)

Commits related to this issue

Most upvoted comments

So should we just add validation that only vx.y.z tags are acceptable?