-
Notifications
You must be signed in to change notification settings - Fork 347
getting newer versions to appear on pkg.go.dev #4380
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Well our project neither now is nor ever was a go module, nor does consist even in part of go modules. There has been talk of using the go module system, but one of our dependencies has issues with the newer versions of Go that support modules, so we can't at this time. We likely won't change the tag naming scheme until such time that it becomes necessary (that is, when we switch to the Go module system). |
I don't think creating new tags would be a big deal - if we really want to keep the practice of naming our releases like |
No, you need to have a go.mod file. See https://golang.org/cmd/go/#hdr-Module_compatibility_and_semantic_versioning, especially the paragraph beginning "Code written." |
Welp. Looks like this'll need to wait for #5229 |
Now that Traffic Control 6.0.0 is released and If I understand semantic versioning correctly, in order to get our latest godocs to show up on pkg.go.dev by default, we would need to either
Does that sound right to you, @jba? |
Right. The simplest thing is the second option. Tag your repo v1.2.0, for instance, and we will show that version as the latest. |
Could you please explain what you mean by "tag your repo"? We have a v6.0.0 tag on GitHub ( How can we make the tag greater than version 1? |
@ocket8888, the tag must be for a v0 or v1 version. But just to be clear about what I was suggesting, I was commenting on @zrhoffman's three bullet points:
Please no; this would be a regression.
This is the "second option" I referred to in my comment. The actual commands would be something like (assuming you're on master):
Because this would be a v0/v1 version with a go.mod file, pkgsite would consider it the latest version for the module path
This is the only way to properly have a module with major version 6; that is, to have your v6 tag recognized by pkgsite as the latest version. As the Go Module Reference states,
|
But why, though? I can do It's looking like our three options are all undesirable, and currently zrhoffman is working on a solution (#6305) where we just have to make |
The short answer is that a new major version involves a breaking change, and breaking changes should never actually break existing users, and so require a different module path. You don't have to move to v2 and add But you are not alone. For more (much more than you probably want), see https://golang.org/issue/44550. |
There is no such thing as
|
Well that's good to hear, at least there's no |
One thing to note is that, although appending To see this effect on another project, although Migrate's readme says, for
The pkg.go.dev documentation for go-migrate shows v3 with So, getting the newer version to show up on pkg.go.dev will not keep the older version from showing up on pkg.go.dev by default at the repo's path. |
You could deprecate it (in which case we'd show a banner) or you could retract all versions (in which case we wouldn't show it). https://go.dev/about#removing-a-package. |
In the discussion to which jba kindly linked us, a proposal is linked for automating the package path updating associated with major version revs: golang/go#32014. It's not done yet, but could possibly help. I still think 2500 lines of changes for simple version housekeeping on every release is far, far too much, and I'm not so much concerned with using my editor's find/replace function as I am with having to comb through those changes and ensure they were all intentional. Nevertheless, that tool would be an improvement over a manual update, and probably much less error-prone (although documentation e.g. in READMEs and comments would have to be done by hand, still, in all likelihood). Also we'd have cool imports like |
This is the pkg.go.dev team responding to the feedback left today, which reads:
The Go module system recognizes module versions by semantic version tags on the repo, as described in the go command doc and this blog post. We look at those tags (indirectly, via the module proxy index), and we consider the latest one to be the highest (in the semver sense) "release" tag. A release tag is of the form vX.Y.Z. If there is a higher prerelease tag (vX.Y.Z-blahblah) or pseudo-version, we remember it but don't consider it "latest."
So by our definition, the latest version of your repo is v1.1.3, published June 30, 2015.
If you were to tag your current master v1.1.4, then fetch it through the proxy using
go get
, we would soon update our page.Hope this helps.
The text was updated successfully, but these errors were encountered: