Skip to content
Snippets Groups Projects
  1. Dec 30, 2015
    • Josh Rosen's avatar
      [SPARK-10359] Enumerate dependencies in a file and diff against it for new pull requests · 27a42c71
      Josh Rosen authored
      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.
      27a42c71
  2. Dec 28, 2015
    • Josh Rosen's avatar
      [SPARK-12508][PROJECT-INFRA] Fix minor bugs in dev/tests/pr_public_classes.sh script · ab6bedd8
      Josh Rosen authored
      This patch fixes a handful of minor bugs in the `dev/tests/pr_public_classes.sh` script, which is used by the `run_tests_jenkins` script to detect the addition of new public classes:
      
      - Account for differences between BSD and GNU `sed` in order to allow the script to run on OS X.
      - Diff `$ghprbActualCommit^...$ghprbActualCommit ` instead of `master...$ghprbActualCommit`: since `ghprbActualCommit` is a merge commit which results from merging the PR into the target branch, this will give us the desired diff and will avoid certain race-conditions which could lead to false-positives.
      - Use `echo -e` instead of `echo` so that newline characters are handled correctly in output. This should fix a formatting glitch which caused the output to appear on a single line in the GitHub comment (see [the SC2028 page](https://github.com/koalaman/shellcheck/wiki/SC2028) on the Shellcheck wiki for more details).
      
      Author: Josh Rosen <joshrosen@databricks.com>
      
      Closes #10455 from JoshRosen/fix-pr-public-classes-test.
      ab6bedd8
  3. Apr 14, 2015
    • Brennon York's avatar
      [WIP][HOTFIX][SPARK-4123]: Fix bug in PR dependency (all deps. removed issue) · 77eeb10f
      Brennon York authored
      We're seeing a bug sporadically in the new PR dependency comparison test whereby it notes that *all* dependencies are removed. This happens when the current PR is built, but the final, sorted, dependency file is left blank. I believe this is an error either in the way the `git checkout` calls have been or an error within the `mvn` build for that PR (again, likely related to the `git checkout`). As such I've set the checkouts to now force (with `-f` flag) which is more in line with what Jenkins currently does on the initial checkout.
      
      Setting this as a WIP for now to trigger the build process myriad times to see if the issue still arises.
      
      Author: Brennon York <brennon.york@capitalone.com>
      
      Closes #5443 from brennonyork/HOTFIX2-SPARK-4123 and squashes the following commits:
      
      f2186be [Brennon York] added output for the various git commit refs
      3f073d6 [Brennon York] removed the git checkouts piping to dev null
      07765a6 [Brennon York] updated the diff logic to reference the filenames rather than hardlink
      e3f63c7 [Brennon York] added '-f' to the checkout flags for git
      710c8d1 [Brennon York] added 30 minutes to the test benchmark
      77eeb10f
  4. Mar 30, 2015
    • Brennon York's avatar
      [HOTFIX][SPARK-4123]: Updated to fix bug where multiple dependencies added breaks Github output · df355008
      Brennon York authored
      Currently there is a bug whereby if a new patch introduces more than one new dependency (or removes more than one) it breaks the Github post output (see [this build](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/29399/consoleFull)). This hotfix will remove `awk` print statements in place of `printf` so as not to automatically add the newline character which is then escaped and added directly at the end of the `awk` statement. This should take a failed build output such as:
      
      ```json
      data: {"body": "  [Test build #29400 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/29400/consoleFull) for   PR 5266 at commit [`2aa4be0`](https://github.com/apache/spark/commit/2aa4be0e1d7ce052f8c901c6d9462c611c3a920a).\n * This patch **passes all tests**.\n * This patch merges cleanly.\n * This patch adds the following public classes _(experimental)_:\n  * `class IDF extends Estimator[IDFModel] with IDFParams `\n  * `class Normalizer extends UnaryTransformer[Vector, Vector, Normalizer] `\n\n * This patch **adds the following new dependencies:**\n   * `avro-1.7.7.jar`
         * `breeze-macros_2.10-0.11.2.jar`
         * `breeze_2.10-0.11.2.jar`\n * This patch **removes the following dependencies:**\n   * `avro-1.7.6.jar`
         * `breeze-macros_2.10-0.11.1.jar`
         * `breeze_2.10-0.11.1.jar`"}
      ```
      
      and turn it into:
      
      ```json
      data: {"body": "  [Test build #29400 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/29400/consoleFull) for   PR 5266 at commit [`2aa4be0`](https://github.com/apache/spark/commit/2aa4be0e1d7ce052f8c901c6d9462c611c3a920a).\n * This patch **passes all tests**.\n * This patch merges cleanly.\n * This patch adds the following public classes _(experimental)_:\n  * `class IDF extends Estimator[IDFModel] with IDFParams `\n  * `class Normalizer extends UnaryTransformer[Vector, Vector, Normalizer] `\n\n * This patch **adds the following new dependencies:**\n   * `avro-1.7.7.jar`\n   * `breeze-macros_2.10-0.11.2.jar`\n   * `breeze_2.10-0.11.2.jar`\n * This patch **removes the following dependencies:**\n   * `avro-1.7.6.jar`\n   * `breeze-macros_2.10-0.11.1.jar`\n   * `breeze_2.10-0.11.1.jar`"}
      ```
      
      I've tested this locally and all worked.
      
      /cc srowen pwendell nchammas
      
      Author: Brennon York <brennon.york@capitalone.com>
      
      Closes #5269 from brennonyork/HOTFIX-SPARK-4123 and squashes the following commits:
      
      a441068 [Brennon York] Updated awk to use printf and to manually insert newlines so that the JSON github string when posted is corrected
      df355008
  5. Mar 29, 2015
    • Brennon York's avatar
      [SPARK-4123][Project Infra]: Show new dependencies added in pull requests · 55153f5c
      Brennon York authored
      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.
      
      Author: Brennon York <brennon.york@capitalone.com>
      
      Closes #5093 from brennonyork/SPARK-4123 and squashes the following commits:
      
      42e243e [Brennon York] moved starting test output to before pr tests, fixed indentation, changed mvn call to build/mvn
      dadd941 [Brennon York] reverted assembly pom, put the regular test suite back in play
      7aa1dee [Brennon York] set new dendencies into a <code> block, removed the bash debugging flag
      0074566 [Brennon York] fixed minor echo issue with quotes
      e229802 [Brennon York] updated to print the new dependency found
      27bb9b5 [Brennon York] changed the assembly pom to test whether the pr test will pick up new deps
      5375ad8 [Brennon York] git output to dev null
      9bce980 [Brennon York] ensure both gate files exist
      8f3c4b4 [Brennon York] updated to reflect the correct pushed in HEAD variable
      2bc7b27 [Brennon York] added a pom gate check
      a18db71 [Brennon York] full test of new deps script
      ea170de [Brennon York] dont let mvn execute tests
      f70d8cd [Brennon York] testing mvn with package
      62ffd65 [Brennon York] updated dependency output message and changed compile to package given the jenkins failure output
      04747e4 [Brennon York] adding simple mvn statement to see if command executes and prints compile output
      87f9bea [Brennon York] added -x flag with bash to get insight into what is executing and what isnt
      9e87208 [Brennon York] added set blocks to catch any non-zero exit codes and updated output
      6b3042b [Brennon York] removed excess git checkout print statements
      4077d46 [Brennon York] Merge remote-tracking branch 'upstream/master' into SPARK-4123
      2bb5527 [Brennon York] added echo statement so jenkins logs which pr tests are running
      d027f8f [Brennon York] proper piping of unnecessary stderr and stdout
      6e2890d [Brennon York] updated test output newlines
      d9f6f7f [Brennon York] removed echo
      bad9a3a [Brennon York] added back the new deps test
      e9e3ad1 [Brennon York] removed escapes for quotes
      97e5cfb [Brennon York] commenting out new deps script
      17379a5 [Brennon York] Merge remote-tracking branch 'upstream/master' into SPARK-4123
      56f74a8 [Brennon York] updated the unop for ensuring a test is available
      f2abc8c [Brennon York] removed the git checkout
      6912584 [Brennon York] added this_mssg echo output
      c610d42 [Brennon York] removed the error to dev/null
      b98f78c [Brennon York] added the removed deps and echo output for jenkins testing
      291a8fe [Brennon York] updated location of maven binary
      126ce61 [Brennon York] removing new deps test to isolate why jenkins isn't posting messages
      f8011d8 [Brennon York] minor updates and style changes
      63a35c9 [Brennon York] updated new dependencies test
      dae7ba8 [Brennon York] Capturing output directly from dependency builds
      94d3547 [Brennon York] adding the new dependencies script into the test mix
      2bca3c3 [Brennon York] added a git checkout 'git rev-parse HEAD' to the end of each pr test
      ae83b90 [Brennon York] removed jenkins tests to grab some values from the jenkins box
      4110993 [Brennon York] beginning work on pr test to add new dependencies
      55153f5c
  6. Mar 19, 2015
    • Brennon York's avatar
      [SPARK-5313][Project Infra]: Create simple framework for highlighting changes introduced in a PR · 8cb23a1f
      Brennon York authored
      Built a simple framework with a `dev/tests` directory to house all pull request related tests. I've moved the two original tests (`pr_merge_ability` and `pr_public_classes`) into the new `dev/tests` directory and tested to the best of my ability. At this point I need to test against Jenkins actually running the new `run-tests-jenkins` script to ensure things aren't broken down the path.
      
      Author: Brennon York <brennon.york@capitalone.com>
      
      Closes #5072 from brennonyork/SPARK-5313 and squashes the following commits:
      
      8ae990c [Brennon York] added dev/run-tests back, removed echo
      5db4ed4 [Brennon York] removed the git checkout
      1b50050 [Brennon York] adding echos to see what jenkins is seeing
      b823959 [Brennon York] removed run-tests to further test the public_classes pr test
      2b9ce12 [Brennon York] added the dev/run-tests call back in
      ffd49c0 [Brennon York] remove -c from bash as that was removing the trailing args
      735d615 [Brennon York] removed the actual dev/run-tests command to further test jenkins
      d579662 [Brennon York] Merge remote-tracking branch 'upstream/master' into SPARK-5313
      aa48029 [Brennon York] removed echo lines for testing jenkins
      24cd965 [Brennon York] added test output to check within jenkins to verify
      3a38e73 [Brennon York] removed the temporary read
      9c881ff [Brennon York] updated test suite
      183b7ee [Brennon York] added documentation on how to create tests
      0bc2efe [Brennon York] ensure each test starts on the current pr branch
      1743378 [Brennon York] added tests in test suite
      abd7430 [Brennon York] updated to include test suite
      8cb23a1f
Loading