Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
Travis CI
Description
Now Apache Storm takes advantage of Github, we can apply Travis CI to some more advantages.
- Build matrix
- Travis CI supports various JDK versions (openjdk6, openjdk7, oraclejdk7, oraclejdk8), and it can be tested separately.
- Build automatically
- pushed new commits, any new PRs
- Integrated with Github
- Contributors can see his/her PR breaks compilation / test in some minutes.
- If he/she adds commits to PR, Travis builds it automatically and update build result.
Please see https://travis-ci.org/xetorthio/jedis for example.
There're some hurdles applying Travis CI to Apache Storm project, but we can overcome these and finally get great CI.
Current hurdles
- asfgit should manage Travis CI setup for the first time
- other Apache projects already did it by requesting it to INFRA
- Travis CI restricts stdout with 4M which is too small for Storm maven output.
- Change log level in tests to WARN
- In storm-core, we can't see tests failure information on stdout cause it just prints 'clojure failed'.
- We need to find a way to upload surefire / clojure tests report files to somewhere, and uploaded files should be visible easily.
- Travis supports uploading artifacts to S3 by https://github.com/travis-ci/artifacts, but S3 is not free.
- I'm not familiar with Clojure, but can we print tests summary with clojure tests as same as Java junit tests?
- We need to find a way to upload surefire / clojure tests report files to somewhere, and uploaded files should be visible easily.