Introduce Travis CI build: enables builds against branches/releases/PRs
As I proposed in earlier PR (https://github.com/janino-compiler/janino/pull/120#issuecomment-598983448), it would be nice to have a way to run tests for both assertion enabled and disabled.
Hopefully there're a couple of CI services for public repository (Open Source Project), and Travis CI is widely used one and easy to use. (As well as I adopted Travis CI into a couple of projects like Jedis, Apache Storm.)
Steps to enable would be simple: open https://travis-ci.org -> Log-in via Github account -> settings (top-right icon) -> Legacy Services Integration -> find this repo and enable the build.
For now, I've only enabled Oracle JDK 8, as OpenJDK 11 seemed to fail. We could try fixing the version matrix (OpenJDK 8 to 11) after integrating with Travis CI.
https://travis-ci.org/github/HeartSaVioR/janino/builds/662364451
Above build is against my fork - it clearly represents the issue of #119. Build 23.1 enabled assertion and passed, while build 23.2 disabled assertion and failed. Existing tests even fail due to #119 but normally we don't run test with explicitly disabling assertion, so the area has been missed.
https://travis-ci.org/github/HeartSaVioR/janino/builds/662364536
Above build is #120 + travis CI support against my fork - all builds in build matrix were passed, which clearly represents #120 fixes #119, and even existing tests.
Updated to add JDKs - now it triggers the builds for the matrix - (Oracle JDK 8, OpenJDK 8, OpenJDK 9, OpenJDK 10, OpenJDK 11) x (assertion=true, assertion=false).
https://travis-ci.org/github/HeartSaVioR/janino/builds/663233350
@aunkrig Kindly ping. It would be nice if we can track the master status via Travis CI, by merging this, and simply adding a badge.
@oontvoo Kindly ping. More and more I feel CI would be useful on checking regression. Downstream would like to have belief on the project, which I understand is not easy to do due to small group of maintainers, but at least the project could say "we have CI and our all changes won't break tests so no regression."