-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Support RISV64 #2079
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
Hey, thank you for opening your first Issue ! 🙂 If you would like to contribute we have a guide for contributors. |
Hello, The In all cases, the |
@ldez thanks for the heads up! Using |
If that build and run it's safe 😉 The best way to handle that is to fix the root cause: $ go mod why -m github.com/prometheus/procfs
# github.com/prometheus/procfs
github.com/golangci/golangci-lint/pkg/golinters
github.com/yeya24/promlinter
github.com/prometheus/client_golang/prometheus
github.com/prometheus/procfs But the The "indirect" approach follows semver, the Minimal Version Selection (MVS), and it's transitive, then it a safe way. |
TIL about this command thanks!
Oh really? Don't they carefully follow semver?
Are we sure it's safe though? I guess it still replaces older versions with 0.6.0 for all dependencies right? As in it does compile so that's good, but I can't guarantee it behaves the same as before right? Especially since these are 0.x.x releases (unstable). Ill dig through their release notes and get back. |
Actually I was wrong, the RISCV64 fix came with release v0.3.0, not v0.6.0.
So we could use v0.3.0 to stay on the safe side, although v0.6.0 might be safer with the several bug fixes it comes with 🤔 |
It's not really a replacement: by using In all the cases, MVS chooses only one version of a dependency, then currently we use In golangci-lint, we don't really use Also golangci-lint is not designed to be used as a library, then we don't have to care about use in another context. so yes it's safe 😉 |
If you want to be 200% sure:
=> everything works as expected |
Still not confident? Want to be 300% sure? Check the diff between v0.1.3 and v0.6.0. prometheus/procfs@v0.1.3...v0.6.0 There are no breaking changes of the API 😉 |
So don't be afraid:
Yes, it's safe 😄 Edit: I close the issue by mistake 😄 |
Thanks so much for all the clarifications! Sorry for being way too paranoid. Anyway, in the worst case promlinter may behave strangely in some corner cases, but as you mentioned golangcilint isn't meant to be used as a lib or a productiom program so that's fine. A tiny few notes:
Assuming the tests cover the code and are deep enough to detect behavioral changes. Probably the case, but not always.
I did and also asked on their repo if they can think of any breaking change: prometheus/procfs#389 We can merge that 0.6.0 PR you made then, nice 👍 I'll come back here if I find anything. I'm also onto the helm and buildx repositories asking them to upgrade their procfs, although this might be more risky so we will definitely find any breaking change I think.
Tell me about it, this close button is way too close to the comment button 😄 |
another element: between v1.7.1 and v1.11.0 of As you can see there no changes, except |
your feature request related to a problem? Please describe.
fails with:
Describe the solution you'd like.
I expect golangci-lint to be buildable for riscv64 as it is for all other platforms.
There is the dependency
github.com/prometheus/procfs
which added support for riscv64 inv0.6.0
(prometheus/procfs@910e685)golangci-lint probably depends on many dependencies using versions pre-v0.6.0 of procfs so it's more of a long shot than something that can be fixed in a single PR I believe.
Describe alternatives you've considered.
Fixes the build, but probably in a risky-ish way I guess. Not a priority issue at all, but I thought it would be useful to track it.
Additional context
No response
The text was updated successfully, but these errors were encountered: