-
Notifications
You must be signed in to change notification settings - Fork 228
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
#236 makes this library unusable for go get
projects
#258
Comments
@prestonvanloon sorry for the breakage. I am looking into it right now. |
@prestonvanloon I've reverted the change, please let us know if it still breaks. For us to diagnose what happened here: what version of go are you using? And are you building with gomod support? |
Nevermind, I saw in your CI log that you're building with Go 1.8.x (!). I believe that's where the issue is: the change optimistically assumed that downstreams were using modern versions. Let me get to the root cause of this to find a solution. |
We are using go 1.11 for linting. See this travis file: This runner does We use bazel for the dependency management of our binaries, but all linting runs at HEAD and we try to update our dependencies as soon as new pushes happen to master (assuming our tests still pass and the updates are trivial updates). |
You're right. I got thrown off by the docker log at the beginning of the CI log. It is the docker binary that's built with go1.8.x. Unfortunately the log has changed: https://api.travis-ci.com/v3/job/177080918/log.txt. Can you give me access to your Travis instance, please? Or send me a gist with the log dump where the build broke? I checked https://travis-ci.com/prysmaticlabs/prysm but don't find the run there. |
@prestonvanloon For linting? Was the linting the thing that failed (I have no access to the log anymore). Note that using versions in import paths that correspond to a v2+ branches or a tag is correct, and is used in conjunction with gomod. Go versions 1.9.7+ and 1.10.3+ also support it. It seems that gometalinter doesn't support gomod v2+ import paths natively yet and therefore tried to map the import path to the filesystem wrongly. The recommendation in this case is to use Anyway, I'm gonna circle back with the team to see if there's a way we can avoid the version number in the import path. Regardless, I'd appreciate the log from the failed build. /cc @lanzafame @anacrolix |
@raulk Here's the travis: https://travis-ci.com/prysmaticlabs/prysm. It should be public. Edit: looks like that branch was deleted and/or the build restarted so the log is gone. Yes. We run gometalinter which doesn't work with our build tooling... yet. |
The Go tooling does handle mixed use of major versioning and "old GOPATH" versioning which is nice (after a certain version I expect, probably 1.9 or 1.10, as they backported compatibility for go mod). Some tooling does not work (my current IDE included, and apparently gometalinter). It's a nice to have if @prestonvanloon any reason you're not pinning your dependencies in some way? |
@anacrolix because we don't care about the dependencies code for purposes of linting our code.
Are you planning on no longer supporting install via |
I don't believe this is correct if you use Go versions 1.9.7+, 1.10.3+, and 1.11+.
I don't believe this is correct, with the same caveats as above. However I don't want to put a mention of go modules support until it's certain. |
We plan on supporting go get until go mod is stable.
@anacrolix you are also correct, it should work: https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher. For example, this does work: |
Edit: I am very wrong. |
@prestonvanloon I thought it was the linter that failed, not |
@raulk we could not |
Ok wait, I am terribly mistaken. I was the linter. I managed to recover a log. In any case, this type of virtual renaming breaks our Bazel build tooling as well and seems to have poor support across IDEs/tooling. Sorry for the confusion. It only breaks our linter, build tool, and probably more tooling, but we could fetch it via |
We reverted the change, and have tentatively settled on an approach that allows us to use pre-v2 versions to remove the version number from the path: namespacing gx versions under the |
#236
Failing build for github.com/prysmaticlabs/prysm: https://api.travis-ci.com/v3/job/177080918/log.txt
How are users supposed to use this library with
go get
?Looks like this is the one of the offending code:
go-libp2p-kad-dht/dht.go
Lines 11 to 13 in f05ddbf
Where github.com/libp2p/go-libp2p-kad-dht/v5/providers does not exist. Looking in this repository and godocs, this directory doesn't exist.
The text was updated successfully, but these errors were encountered: