-
Notifications
You must be signed in to change notification settings - Fork 174
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
Enable dep's automatic vendor pruning #387
Conversation
This turns on all the pruners, which may be too aggressive.
Reminder to add a changelog entry! |
done :) do we know if any of our dependencies need anything other than pure Go files to compile correctly? hopefully not - if they don't, then those pruning levels should be fine. |
Looks like this needs a gofmt or something since it blew up in travis? But overall, if this compiles them I'm great with it. :) |
Hmmm...modifying stuff in vendor, even for a gofmt, is gonna be a no-no pretty soon in dep. i guess i can do it for now (it seems like we already have fugly hacks for this in travis that make it tricky for me to change the |
This needs to not be a requirement anymore.
Why is that? If we're vendoring an improperly-formatted repository, shouldn't we be able to fix it? (yes, I know the answer is "they should be gofmt-ing, but as you know, that doesn't always happen). It's easy for us to disable the check on the |
When we add verification in dep - golang/dep#121 - it will mean that dep keeps its own hashes of the contents of vendor, generated on the basis of exactly what the upstream produced. Those hashes will be used to (among other things) not have to fully repopulate vendor on every |
I don't want to block this PR, but a couple of things that come to mind:
|
From the diff, it looks like it is at least partially that the upstream authors didn't properly run gofmt themselves; e.g., i see some spaces instead of tabs.
yes, if the dependencies have problems like this, it will probably be an issue with dep, as dep will consider their un-fmt'ed form to be what's expected, and will complain about a mismatch.
it's not a blocker, but it would be nice to do. i think the key here is that we shouldn't need to care about whether or not our dependencies have run |
That definitely seems like an issue in dep, then - I know the Though, that's not related to this issue here. I'm willing to lgtm this, after rebasing onto master! lgtm |
Also, just note: this branch hasn't actually been run on Jenkins yet. You may want to resubmit this as a new PR to force it to register on Jenkins. |
(this is now done) |
Summary
This turns on all of dep's pruning options. That may be too aggressive, but let's start from there and work backwards.
Motivation
Because...well, look at that line count :)
Test plan
Rollout/monitoring/revert plan