-
Notifications
You must be signed in to change notification settings - Fork 159
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
Use a wrapper for test-patch to enable standalone mode #195
Conversation
ce5f291
to
94e6998
Compare
Is there no way to run the entire thing inside a docker container like I tried to do in the other PR @aw-was-here ? The original one did s lot inside CircleCI, but that was at least in a container. This extracts a lot of it from circle (good), but runs a lot locally (not as good). Can we wrap it all up in a container so all I need to execute is some |
Could you explain what your concerns are? |
72e3869
to
ed9299c
Compare
So a couple of gotchas with the current codebase:
|
Sure. A number of them
It basically comes down to, why would I want to run something locally, to launch docker, to run something, when I could have it all packaged up in a single image? We have a basic set of local requirements (docker, make), but other than that, everything is in a container. Does that explain? |
I'm not sure I understand the concern given that EVE is primarily being done in Go, which not only downloads components but also updates the source repo as part of the build. Then there is the cost of that initial docker image downloads ...
The yetus-dl wrapper downloads ~150k and unpacks it into a Well Known Location to cache it between runs. Additionally, if this is a concern, then installing it locally and using that location is also an option. (That's how I tested yetus master.)
With a lot of confidence, actually. The project is extremely careful about that. [e.g., the only known cross-platform bug that I know of is https://issues.apache.org/jira/browse/YETUS-810 .]
Well... sort of. Things start to fall apart when dealing with volume mounts (which is part of the reason why #183 doesn't really work).
That's sort of a false equivalency; there's always going to be wrapper code involved to make the proper switch between non-Circle CI and Circle CI. It's practically unavoidable.
That's not really true either, but that's ok. But I will point out that there's nothing preventing anyone from putting all of Yetus and the projects testing requirements into the same development Dockerfile. Then that would meet your goal. But I don't think people will be willing to wait 45 minutes for it to build ...
Sure. I just disagree. |
That's what I tried to do with #185, just as a separate image rather than the developer one, so they can iterate on different cycles. Not sure why it failed, in the end, though.
No argument on that one. :-) In the end, it doesn't matter much, as long as we get it so that the people who want to run yetus locally (i.e. pre-opening a PR to see the differences, can do so). The rest is tech implementation debates, which matter only so much. Happy to see any way that it works. |
eb33f90
to
f58a8d3
Compare
Apache Yetus 0.11.0 was released last night. This PR should be good to go now. |
* Move from Apache Yetus master to 0.11.0 * Provide a 'make yetus' target, moving most of the Apache Yetus setup into shared resources * Provide the necessary plumbing to either use an installed version of Apache Yetus (e.g., Circle CI) or download one on demand * Upgrade the golangci-lint binary to a released version Signed-off-by: Allen Wittenauer <aw@effectivemachines.com>
f58a8d3
to
6d60aed
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Committed.
Thanks! |
@kalyan-nidumolu can you verify that |
…ogging Only log containerd and k3s pids when they change, cutting down logging
No description provided.