-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-4123][Project Infra]: Show new dependencies added in pull requests #5093
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
Conversation
|
Test build #28886 has finished for PR 5093 at commit
|
|
Test build #28887 has finished for PR 5093 at commit
|
dev/tests/pr_new_dependencies.sh
Outdated
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.
Do we need to do any kind of cleaning between the two Maven operations?
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.
Honestly I'm unsure. I believe we're going to need to run a mvn clean compile dependency:build-classpath for each to work properly, but @pwendell was running it without the compile step which I couldn't reproduce locally without an install as well. Going to test now and see what Jenkins tells me.
|
Test build #28888 has finished for PR 5093 at commit
|
|
Test build #28890 has started for PR 5093 at commit
|
|
Test build #28894 has started for PR 5093 at commit
|
|
Test build #28895 has started for PR 5093 at commit
|
|
Test build #28896 has finished for PR 5093 at commit
|
dev/tests/pr_new_dependencies.sh
Outdated
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.
It would actually be good to show additions and removals of dependencies (in some cases a library will get a new version, which ends up here as an addition and removal). I updated the JIRA title to reflect that.
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.
Was thinking the same thing actually. I'll make sure to include that before this WIP is completed. Thanks!
|
Test build #29006 has finished for PR 5093 at commit
|
|
Test build #29007 has started for PR 5093 at commit
|
|
Test build #29008 has finished for PR 5093 at commit
|
|
Test build #29014 has finished for PR 5093 at commit
|
|
Test build #29017 has finished for PR 5093 at commit
|
|
Test build #29241 has finished for PR 5093 at commit
|
|
Test build #29247 has finished for PR 5093 at commit
|
|
Test build #29248 has finished for PR 5093 at commit
|
|
Test build #29250 has finished for PR 5093 at commit
|
|
Test build #29251 has finished for PR 5093 at commit
|
|
All complete. You can check out build 29250 up a few to get what the output would be like if a new dependency were added. One issue which I'd love to get some opinion on... Right now the initial post message to Github (i.e. the "Test build started + patch merges cleanly") will take up to 20 minutes to post if any I'll admit I'm more in favor of the latter option as I think it keeps things clean as well as the fact that "merges cleanly" is slightly ambiguous given that Github reports on this as well. Thoughts? Whichever way we go I can get that final change up and then I'd say this is ready for review into master. |
|
I have advocated in the past for removing the redundant "merges cleanly" message, but IIRC some people found it useful and wanted to keep it. One way or the other, yes, the mergability test needs to run only once. And more generally, we want the "tests started" message to post as quickly as possible so that contributors know the CI is working. If that means not posting dependency changes until all tests are done, I personally think that's fair. |
dev/tests/pr_new_dependencies.sh
Outdated
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.
Pretty trivial but the third arg could be described here. I assume the other two scripts simply ignore the third arg.
|
I personally favor a "tests have started" message quickly, yes, but I don't find it essential to print the merge status in that initial message, no. All of those results can be printed in the second "tests have finished" message IMHO. So I think I agree with you. |
…nged mvn call to build/mvn
|
Thanks for the update guys. Per the consensus I moved the "tests have started" message to before the PR tests run. Also, @srowen, updated all items per your comments. Any additional thoughts all? |
|
Test build #29314 has finished for PR 5093 at commit
|
|
That's looking good to me. It seems to work -- here we actually see the small possibility of a false positive. A separate change updated Avro to 1.7.7 at about the same time that this test ran. I don't think it's a big deal since we can easily reason about it or retest if in doubt. I'll wait a bit for comments but I like it. |
|
I've taken this over at #10461, where I found a clean way to speed up the checks to a point where they run near instantaneously without having to modify or delete source files. |
…r new pull requests This patch adds a new build check which enumerates Spark's resolved runtime classpath and saves it to a file, then diffs against that file to detect whether pull requests have introduced dependency changes. The aim of this check is to make it simpler to reason about whether pull request which modify the build have introduced new dependencies or changed transitive dependencies in a way that affects the final classpath. This supplants the checks added in SPARK-4123 / #5093, which are currently disabled due to bugs. This patch is based on pwendell's work in #8531. Closes #8531. Author: Josh Rosen <joshrosen@databricks.com> Author: Patrick Wendell <patrick@databricks.com> Closes #10461 from JoshRosen/SPARK-10359.
…r new pull requests This patch adds a new build check which enumerates Spark's resolved runtime classpath and saves it to a file, then diffs against that file to detect whether pull requests have introduced dependency changes. The aim of this check is to make it simpler to reason about whether pull request which modify the build have introduced new dependencies or changed transitive dependencies in a way that affects the final classpath. This supplants the checks added in SPARK-4123 / apache#5093, which are currently disabled due to bugs. This patch is based on pwendell's work in apache#8531. Closes apache#8531. Author: Josh Rosen <joshrosen@databricks.com> Author: Patrick Wendell <patrick@databricks.com> Closes apache#10461 from JoshRosen/SPARK-10359.
…r new pull requests This patch adds a new build check which enumerates Spark's resolved runtime classpath and saves it to a file, then diffs against that file to detect whether pull requests have introduced dependency changes. The aim of this check is to make it simpler to reason about whether pull request which modify the build have introduced new dependencies or changed transitive dependencies in a way that affects the final classpath. This supplants the checks added in SPARK-4123 / apache#5093, which are currently disabled due to bugs. This patch is based on pwendell's work in apache#8531. Closes apache#8531. Author: Josh Rosen <joshrosen@databricks.com> Author: Patrick Wendell <patrick@databricks.com> Closes apache#10461 from JoshRosen/SPARK-10359.
Starting work on this, but need to find a way to ensure that, after doing a checkout from
apache/master, we can successfully return to the current checkout. I believe thatgit rev-parse HEADwill get me what I want, but pushing this PR up to test what the Jenkins boxes are seeing.