aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorDongjoon Hyun <dongjoon@apache.org>2016-05-10 21:04:22 +0100
committerSean Owen <sowen@cloudera.com>2016-05-10 21:04:22 +0100
commit603c4f8ebde3ff61ac84a9460e6602c38a176e9f (patch)
tree18d990928afc14cebd39e71aa01ef7a6a6993079 /.travis.yml
parentd28c67544b26c38d51a31d1f8dac3fc23860e1ef (diff)
downloadspark-603c4f8ebde3ff61ac84a9460e6602c38a176e9f.tar.gz
spark-603c4f8ebde3ff61ac84a9460e6602c38a176e9f.tar.bz2
spark-603c4f8ebde3ff61ac84a9460e6602c38a176e9f.zip
[SPARK-15207][BUILD] Use Travis CI for Java Linter and JDK7/8 compilation test
## What changes were proposed in this pull request? Currently, Java Linter is disabled in Jenkins tests. https://github.com/apache/spark/blob/master/dev/run-tests.py#L554 However, as of today, Spark has 721 java files with 97362 code (without blank/comments). It's about 1/3 of Scala. ``` -------------------------------------------------------------------------------- Language files blank comment code -------------------------------------------------------------------------------- Scala 2353 62819 124060 318747 Java 721 18617 23314 97362 ``` This PR aims to take advantage of Travis CI to handle the following static analysis by adding a single file, `.travis.yml` without any additional burden on the existing servers. - Java Linter - JDK7/JDK8 maven compile Note that this PR does not propose to remove some of the above work items from the Jenkins. It's possible, but we need to observe the Travis CI stability for a while. The main goal of this issue is to remove committer's overhead on linter-related PRs (the original PR and the fixation PR). ## How was this patch tested? Pass the Travis CI tests. Please see the following link. https://travis-ci.org/dongjoon-hyun/spark/builds/128595350 https://travis-ci.org/dongjoon-hyun/spark/builds/128708372 Author: Dongjoon Hyun <dongjoon@apache.org> Closes #12980 from dongjoon-hyun/SPARK-15207.
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml51
1 files changed, 51 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000..c16f76399c
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,51 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Spark provides this Travis CI configuration file to help contributors
+# check Scala/Java style conformance and JDK7/8 compilation easily
+# during their preparing pull requests.
+# - Scalastyle is executed during `maven install` implicitly.
+# - Java Checkstyle is executed by `lint-java`.
+# See the related discussion here.
+# https://github.com/apache/spark/pull/12980
+
+# 1. Choose OS (Ubuntu 14.04.3 LTS Server Edition 64bit, ~2 CORE, 7.5GB RAM)
+sudo: required
+dist: trusty
+
+# 2. Choose language and target JDKs for parallel builds.
+language: java
+jdk:
+ - oraclejdk7
+ - oraclejdk8
+
+# 3. Setup cache directory for SBT and Maven.
+cache:
+ directories:
+ - $HOME/.sbt
+ - $HOME/.m2
+
+# 4. Turn off notifications.
+notifications:
+ email: false
+
+# 5. Run maven install before running lint-java.
+install:
+ - export MAVEN_SKIP_RC=1
+ - build/mvn -T 4 -q -DskipTests -Pyarn -Phadoop-2.3 -Pkinesis-asl -Phive -Phive-thriftserver install
+
+# 6. Run lint-java.
+script:
+ - dev/lint-java