Travis to run Bahmni Core IT

I just spent quite some time on making this “work”.

What made it difficult is that the output of building Bahmni Core is just too verbose, and it hits the 4MB log file size limit imposed by Travis. As you can see here, there is no obvious workaround when facing this issue.

It took me no less than 11 iterations to converge to the following solution (commit here):

  1. Mechanically reduce the output of Maven to get rid of things like downloads… etc.
  2. Choosing a subset of Bahmni Core projects for which IT would be run, discarding the others:
    • bahmni-emr-api
    • bahmnicore-api
    • bahmnicore-omod

The good news is that bahmnicore-api and bahmnicore-omod are probably where most of the dev work occurs, so that’s that.

What was literally killing the build though was the admin subproject! bahmnicore-omod is also extremely verbose, but thankfully could be sneaked in anyway.

I wonder if anyone would have some ideas as to why those two builds are so verbose? You can try out admin like this for example:

mvn verify -P IT -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -pl admin/

(You might need to run mvn clean install -Dmaven.javadoc.skip=true beforehand.)

There is a mountain of Spring beans warnings, (and actually we can also witness this at runtime when launching Bahmni btw.) A lot of noise for nothing really. It would be great if we could reduce the log, at least for the sake of Travis CI.

Cc @angshuonline @sumanmaity112 @binduak @darius

1 Like

While this didn’t happen (yet) on master, some PRs branches were experiencing failing builds due to Travis’s default timeout of 10min.

Following this: https://docs.travis-ci.com/user/common-build-problems/#Build-times-out-because-no-output-was-received

I pushed this to master: https://github.com/Bahmni/bahmni-core/commit/4b82757328b83add989a1d0d914c0830e67cc401

Let’s keep an eye on it. Hopefully that’ll just do the trick.