Skip to content

Conversation

@SamWhited
Copy link
Contributor

@SamWhited SamWhited commented Jan 21, 2019

Hello,

Please consider supporting Go Modules for tracking the version of the protobuf library used. There are several old issues about users having incorrect versions of the tool or how to handle versioning (eg. #26, #25, #24, #18, #10). A few of them the response was "we need an official solution before we standardize on versioning". Now that Prometheus has started using Modules, minimal support has been backported to all supported versions of Go and one older one, and they will be the default in Go 1.12 (next month sometime), I think that time may have finally come.

Note that I picked Go 1.9 as the minimum supported version because anything older than Go 1.9.7 won't read the go.mod file anyways, and the generated code appears to build under 1.9.7 just fine. I also pinned to the latest version of the protobuf library which appeared to generate the file correctly, but please let me know if there's a different version you prefer to use and I'll change the dependency.

Please consider merging this PR and then making a semver compatible tag that consumers of this library can pin to, eg. v0.0.3. Thank you for your time and consideration.

@beorn7
Copy link
Member

beorn7 commented Jan 21, 2019

@simonpasquier (who converted most of the other repos to Go modules): Do you think this makes sense for this repo, too? I guess yes, but I'd better ask you.

@beorn7
Copy link
Member

beorn7 commented Jan 21, 2019

WRT version tags: I expect this repo to be graveyarded in the not too far future. Fewer and fewer repositories within the Prometheus ecosystem depend on this one, and once OpenMetrics is finalized, this will be legacy anyway. I don't expect any changes happening in this repo. It will sit around as long as it is needed for backwards compatibility.

@SamWhited
Copy link
Contributor Author

Gentle ping; especially if this is going to be graveyarded soon, it would be nice to add a mod file and tag before then so people who are still using it until they move off can have a proper version to pin to. Thanks.

@simonpasquier
Copy link
Member

simonpasquier commented Jan 29, 2019

@SamWhited sorry for the late review, this PR fell through the cracks...

Signed-off-by: Sam Whited <sam@samwhited.com>
@SamWhited
Copy link
Contributor Author

Not to worry; thanks for the followup!

@beorn7
Copy link
Member

beorn7 commented Jan 29, 2019

👍 Thanks, everyone!

@beorn7 beorn7 merged commit fd36f42 into prometheus:master Jan 29, 2019
@SamWhited SamWhited deleted the support_modules branch January 29, 2019 23:36
thaJeztah added a commit to thaJeztah/containerd that referenced this pull request Jan 13, 2020
full diff: prometheus/client_model@99fa1f4...v0.1.0

- prometheus/client_model#22 add `go_package`, regenerate Go binding file
- prometheus/client_model#31 Support Go Modules
- prometheus/client_model#38 Remove all languages but Go and add a deprecation note

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
thaJeztah added a commit to thaJeztah/docker that referenced this pull request Jan 16, 2020
full diff: prometheus/client_model@6f38060...v0.1.0

- prometheus/client_model#22 add `go_package`, regenerate Go binding file
- prometheus/client_model#31 Support Go Modules
- prometheus/client_model#38 Remove all languages but Go and add a deprecation note

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
docker-jenkins pushed a commit to docker-archive/docker-ce that referenced this pull request Jan 17, 2020
full diff: prometheus/client_model@6f38060...v0.1.0

- prometheus/client_model#22 add `go_package`, regenerate Go binding file
- prometheus/client_model#31 Support Go Modules
- prometheus/client_model#38 Remove all languages but Go and add a deprecation note

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 9c99f8b9b3d16e1975f07ae08f418949f76e4a02
Component: engine
tussennet pushed a commit to tussennet/containerd that referenced this pull request Sep 11, 2020
full diff: prometheus/client_model@99fa1f4...v0.1.0

- prometheus/client_model#22 add `go_package`, regenerate Go binding file
- prometheus/client_model#31 Support Go Modules
- prometheus/client_model#38 Remove all languages but Go and add a deprecation note

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants