-
Notifications
You must be signed in to change notification settings - Fork 424
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
released versions on proxy.golang.org` #1098
Comments
Still noticing this: https://pkg.go.dev/github.com/bazelbuild/buildtools?tab=versions |
It would be great to adjust this to make it easier to update:
This is helpful when we build binaries from source locally for security/environment reasons. |
Any updates here? The latest version is currently still marked as |
How do these versions get released on proxy.golang.org? I only push releases here on Github and to NPM. |
@vladmos They are picked up automatically as new tags are added and requested by users. That is also why the format of the tag ( |
I've just released a new technical version tagged |
@vladmos It should, but I missed an important point: Go modules tend to not increase their major semver version that often and when they do, their import path needs to be modified as well (in this case, to include the Assuming backwards compatibility is ensures, would it be possible to move the Bazel version into the minor version? |
@fmeum should we use the "incompatible" tag since the major version is >2? |
@tyler-french I have never used it myself, how would this look like? I just noticed that Bazel CI doesn't seem to be prepared to handle the semantic versioning format: https://buildkite.com/bazel/stardoc/builds/866#0187c31b-4c54-45ac-9ea2-3513e38731ec @vladmos Switching to Go-compatible tags doesn't seem to be possible. It's probably best to delete the v6.1.2 release and/or release 6.1.3 (without the |
I fixed it on the CI side, it should work again (with both versions with Now, is there a way to make it work with go modules without changing the import path? For buildtools the version just matches the current Bazel's version (to make it easier to keep both tools in sync), changing the import path can bring more problems than solve. |
I checked the docs and I think that this would only be possible for non-module projects via Which essentially only leaves one alternative: Adopt a versioning scheme where Bazel version rules_go is working on consolidating Go depencies that are also Bzlmod dependencies (see bazel-contrib/bazel-gazelle#1526) and consistent version identifiers between the two worlds would be very helpful. |
It makes sense to change versioning to |
If you delete the Github releases and/or tags, does it also delete the archives? I think it would be OK to keep them both for now, and then communicate to consumers that they should be using the v1.X.Y. We would probably also want to make sure Bazel/Bzlmod consumers and the BCR have a safe way to "redact" or block certain versions. After this transition period, then it's probably safe to remove/delete the old tags (although the archives should probably stay preserved). Thoughts @fmeum? |
@fmeum @vladmos @linzhp I would like to revisit this, as I see its referenced in in #1237 and #967 My recommendation is just to prepend a
|
@tyler-french I don't have experience with retroactive editing of already released versions, do you know if it can break anything? Also I could just remove old versions, they don't have much value anyway. Another question is that the same versions are being released with npm (i.e. https://www.npmjs.com/package/@bazel/buildifier and https://www.npmjs.com/package/@bazel/buildozer), should those versions also get the "0." prefix? Can they be edited too? |
@vladmos You don't need to edit existing versions. Since they lack the |
Should I at least edit the few versions that do have the For the NPM packages I guess I'll need to either rename or delete old versions anyway, the v-prefix is stripped there and there's no way to understand that e.g. 0.7.2 is greater than 7.1.0. |
I think as long as we keep the old archives and tags available, and also communicate this change, it should be fine. |
@vladmos Those versions are also ignored as they violate the path structure: any vX.Y.Z with X>=2 needs to be in a |
But if I just install a package using What if I use Also, is it allowed to have a 4-numbers version? E.g. if the current Bazel release is 7.1.x and I want to make multiple buildtools releases, they'll be called |
Yes, NPM is (presumably) different. I was just referring to the Go versions. You could continue publishing
I think that would be fine, although perhaps a bit confusing for users. |
No, it is not unfortunately |
I noticed the tool has been released as v5.1.0 https://github.com/bazelbuild/buildtools/releases/tag/5.1.0 but v0.0.0-xxx is the latest release on https://pkg.go.dev/github.com/bazelbuild/buildtools@v0.0.0-20221004120235-7186f635531b. Are you planning to release the versioned releases here and so they appear at eg. https://proxy.golang.org/github.com/bazelbuild/buildtools/@v/v5.1.0.info?
The text was updated successfully, but these errors were encountered: