Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Update dependencies #48
Conversation
|
LGTM for the most part, but what's up with the new |
|
@free I've also noticed that dependency and wasn't too happy about it. It comes from Prometheus since v1.0.0, so it seems we have to live with it. It's also controlled by the build annotation here and isn't used unless it's a Windows build. |
|
Fair enough, then. LGTM |
|
Hi @free, do you have any ETA on when it can be merged? No hurry, just asking. :) |
|
I was thinking that having approved the PR you would be able to do the honors yourself. Is that not the case? |
|
@free Oh no, I don't have write access to the repository, so I can't merge any of PRs, even approved ones. |
|
Damn, didn't know that. Then I'll merge it myself. |
|
@free No worries, thanks for this! |
|
@free When you have some time, would it be generally possible to bump up the version? According to semantic versioning and my understanding, it probably would be something like Those release docker tags which you set up recently do a really good job for Kubernetes clusters. In this case, relying on a specific version helps us moving forward and rollback automatically, rather than having Otherwise, if you want to add some features before the next 0.x release or work out the pull request list, I'm happy to join. :) |
* Update vendored packages with `govendor update +e +v +m` * Add labelPairSorter type to implement sortable labelPairs * Update Clickhouse dependency
Hi @free ,
Here is one of the pull requests I mentioned earlier.
We want to update vendor dependencies, among which:
libpq- contains connection leaks bugfixes, Pinger interface, etc.mysql- similar improvementsprometheus/client_golang- became v1.x with stable API and several bugfixesClickHouse-kshvakov/clickhousewas officially moved toClickHouse/clickhouse-goAdditionally, I've added appengine into ignore (vendor.json) as we don't work with Google AppEngine API here and cleaned up unused packages with
govendor remove +uFew points:
Once Prometheus go client was released as a major version, they also removed some functions and deprecated API, one of which is LabelPairSorter: prometheus/client_golang/pull/453
To use the function where it's needed, they encourage to implement sort interface in place.
We can do the same as they did in Prometheus Pushgateway.
With a major version, Prometheus client uses
xxhashpackage v2, which is referenced via go modules and can't be fetched with govendor because of different branch handling (issue).To work this around (as the real fix is to migrate to go modules) I had to clone
xxhash v2manually to GOPATH and then appliedgovendor updateto add it to a vendor directory.It's not the way I'd like to treat this dependency, but it seems to be a rather quick and working solution as the hashing algorithm package doesn't seem to be updated that frequently that it could become a problem. So, in my opinion, it's acceptable.
The next step, of course, would be the migration to
go modulesas it's recommended and also packages become less compatible withgovendor. Meanwhile, we get updated dependencies with improvements and bugfixes.What do you think?