-
Notifications
You must be signed in to change notification settings - Fork 820
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
Vendor tool dependencies #695
Comments
The more I look at this, the more that the problem looks like other tools outside of agones. For instance, one of the go module pulls that Mark was seeing is actually because we use generate-groups.sh in k8s.io/code-generator which has a go install line. That would be fine, but the deps in each directory aren't explicitly met so go mod tries to retrieve them. One place where we could control it, but I am not sure we want to is the GRPC tooling and goimport install in build-image/Dockerfile. In order to do this, we would need to copy in agones to the image being built so we can use the vendor directory. |
I can't find the comment, but was there something with a tools.go that could be used to solve this issue? |
I see. I'm with you now. Sounds like copying the proto files from third_party should be the way to go? Hopefully they don't update any time soon? Or we make sure we keep that in check. |
@heartrobotninja might also be worth looking at the splitting of images that @Kuqd is working on in #630 - that may also resolve some issues. |
I just installed @Kuqd 's updated - and I'm hitting:
When trying to generate the gRPC code. If the easy solution is to import the proto files into an appropriate location - I'm all in. Maybe they should be baked into our build image? |
Addressing the last three comments: So there are two issues:
|
Small side note - is there any downside to adding I think this would also be useful. |
I am tring to build agones on windows with wsl. |
@riimi this sounds like a separate issue - can you file this as a separate bug, and we can track this as it's own issue? (I think I have an idea of why this might be happening, but we don't have many Windows devs atm) |
Is this complete? Can we close this issue now? |
Not yet. I have a second round of vendoring I will be doing for this, but I
don't have the time to get to it until next week.
*From: *Mark Mandel <[email protected]>
*Date: *Thu, May 16, 2019 at 4:54 AM
*To: *GoogleCloudPlatform/agones
*Cc: *heartrobotninja, Mention
Is this complete? Can we close this issue now?
…
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#695>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABM5DZ5WOP4MBV264UPGMYDPVTEE3ANCNFSM4HEE65RQ>
.
--
Joseph DeStefanis
Google Inc.
|
Doing another round of cleanup. I believe this issue can be closed now? |
Looks like no response on this issue. Closing. Please reopen if required. |
With the conversion to go modules, our tool dependencies initially lost their vendored copies. It turns out there is an idiomatic way to fix this as described in golang/go#25922 (comment) .
Proposal 1a: Do exactly as the above link describes and create agones/tools/tools.go and put all tools in that file as imports.
The only thing we cannot do with that is vendor the annotations.proto and http.proto from grpc-ecosystem/grpc-gateway/third_party. If I copy it over, then anyone runs
go mod vendor
it gets deleted.Proposal 1b: Create the path agones/proto/googleapis/google/api and copy them from googleapis/google/api to there (since that is where grpc-gateway gets theirs from anyway and since their third_party directory appears to be non-module vendorable).
The text was updated successfully, but these errors were encountered: