Hi,
As mentioned in our last discussion, I explored adding Travis support to
Search.
The diff is here:
https://github.com/gsmet/hibernate-search/commit/cbd2c1fff05532974823da57...
(yes it's short but it was a long road :))
I had to raise a bit the JGroups timeout for one test and had to fix
TestRunnerStandalone
so that it effectively uses the configuration from the profile (this change
is not specific to Travis and should be committed anyway).
The result is here:
https://travis-ci.org/gsmet/hibernate-search
What I like in Travis:
- The CI configuration is code and is versioned
- Parallelization with a *lot* of resources
- The ability to build a test matrix very easily
- Complete isolation as each build is run in its own Docker container
What is less cool:
- The only way to get the logs is to ship them to AWS S3 - that said, I did
it and it's pretty straightforward as it's well integrated (I commented out
the code in the .travis.yml for now)
- It might seem less flexible as we are depending on the Travis
infrastructure (for instance, I created a ticket to ask for the support of
JDK 9:
https://github.com/travis-ci/travis-ci/issues/5520) but in fact, you
can do whatever you want: see
https://github.com/Blazebit/blaze-persistence
.travis.yml file for a comprehensive example
So if we move to Travis, I think the regular builds could run on Travis and
we could keep Jenkins for specific ones (deploy/release).
I'll take a look at OGM tomorrow. Travis supports out of the box most of
the NoSQL databases (
https://docs.travis-ci.com/user/database-setup/) so
I'm pretty curious to see how it goes.
Thoughts?
--
Guillaume