Skip to content

Conversation

@brennonyork
Copy link

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 that git rev-parse HEAD will get me what I want, but pushing this PR up to test what the Jenkins boxes are seeing.

@SparkQA
Copy link

SparkQA commented Mar 19, 2015

Test build #28886 has finished for PR 5093 at commit ae83b90.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Mar 19, 2015

Test build #28887 has finished for PR 5093 at commit 2bca3c3.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

Copy link
Contributor

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?

Copy link
Author

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.

@SparkQA
Copy link

SparkQA commented Mar 19, 2015

Test build #28888 has finished for PR 5093 at commit 94d3547.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.
  • This patch adds no new dependencies

@SparkQA
Copy link

SparkQA commented Mar 19, 2015

Test build #28890 has started for PR 5093 at commit dae7ba8.

  • This patch merges cleanly.

@SparkQA
Copy link

SparkQA commented Mar 19, 2015

Test build #28894 has started for PR 5093 at commit 63a35c9.

  • This patch merges cleanly.

@SparkQA
Copy link

SparkQA commented Mar 19, 2015

Test build #28895 has started for PR 5093 at commit f8011d8.

  • This patch merges cleanly.

@SparkQA
Copy link

SparkQA commented Mar 19, 2015

Test build #28896 has finished for PR 5093 at commit 126ce61.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

Copy link
Contributor

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.

Copy link
Author

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!

@SparkQA
Copy link

SparkQA commented Mar 23, 2015

Test build #29006 has finished for PR 5093 at commit 291a8fe.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.
  • This patch adds no new dependencies.

@SparkQA
Copy link

SparkQA commented Mar 23, 2015

Test build #29007 has started for PR 5093 at commit b98f78c.

  • This patch merges cleanly.

@SparkQA
Copy link

SparkQA commented Mar 23, 2015

Test build #29008 has finished for PR 5093 at commit 6912584.

  • This patch passes all tests.

@SparkQA
Copy link

SparkQA commented Mar 23, 2015

Test build #29014 has finished for PR 5093 at commit f2abc8c.

  • This patch passes all tests.

@SparkQA
Copy link

SparkQA commented Mar 23, 2015

Test build #29017 has finished for PR 5093 at commit 56f74a8.

  • This patch passes all tests.

@SparkQA
Copy link

SparkQA commented Mar 26, 2015

Test build #29241 has finished for PR 5093 at commit 27bb9b5.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Mar 26, 2015

Test build #29247 has finished for PR 5093 at commit e229802.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.
  • This patch adds the following new dependencies:
    • <

@SparkQA
Copy link

SparkQA commented Mar 26, 2015

Test build #29248 has finished for PR 5093 at commit 0074566.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.
  • This patch adds the following new dependencies:
    • clojure-1.6.0.jar

@SparkQA
Copy link

SparkQA commented Mar 26, 2015

Test build #29250 has finished for PR 5093 at commit 7aa1dee.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.
  • This patch adds the following new dependencies:
    • clojure-1.6.0.jar

@SparkQA
Copy link

SparkQA commented Mar 26, 2015

Test build #29251 has finished for PR 5093 at commit dadd941.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.
  • This patch does not change any dependencies.

@brennonyork
Copy link
Author

@pwendell @srowen @nchammas

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 pom.xml files were changed because it will then run and build both the current PR plus the master branch. This is purely because the "This patch merges cleanly" output is from a pr_test and runs in the core test loop. The easiest option to reflect the original way things have been posted would be to move the pr_merge_ability test out of the main test loop and have it execute independently. The other option would be to merely post the "Test build started at ..." message and remove the "merges cleanly" portion to be posted with in the post-test message.

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.

@brennonyork brennonyork changed the title [SPARK-4123][Project Infra][WIP]: Show new dependencies added in pull requests [SPARK-4123][Project Infra]: Show new dependencies added in pull requests Mar 26, 2015
@nchammas
Copy link
Contributor

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.

Copy link
Member

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.

@srowen
Copy link
Member

srowen commented Mar 27, 2015

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.

@brennonyork
Copy link
Author

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?

@SparkQA
Copy link

SparkQA commented Mar 27, 2015

Test build #29314 has finished for PR 5093 at commit 42e243e.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.
  • This patch adds the following new dependencies:
    • avro-1.7.7.jar
  • This patch removes the following dependencies:
    • avro-1.7.6.jar

@srowen
Copy link
Member

srowen commented Mar 28, 2015

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.

@JoshRosen
Copy link
Contributor

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.

asfgit pushed a commit that referenced this pull request Dec 30, 2015
…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.
JoshRosen added a commit to JoshRosen/spark that referenced this pull request Jan 10, 2016
…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.
JoshRosen added a commit to JoshRosen/spark that referenced this pull request Jan 10, 2016
…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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants