Moved tests out of the "ci_skip_integration_test" target because they don't seem to be so flaky.
Included "ci_skip_integration_test" target in Travis because the tests in there don't seem to be so flaky and we want maximum coverage.
This allows to skip the compilation of any dependencies in bootstrap.sh.
Using the cache adds minimal extra time:
- ~10 secs to retrieve and extract the ~100 MB tarball cache
- ~1.5 secs to check if the cache should be updated and no updates are necessary
In case of a corrupted cache, the cache must be deleted through the Travis CI webinterface on the settings page.
Enabling the cache required small fixes to bootstrap.sh:
- we must check for specific files and not just the existance of a directory in dist/ because the cache always creates the directories - even if they were not cached.
- py-mock must delete any existing files because Travis CI creates ".build_finished" as directory when it's not already cached. Once it's cached, it's created as file from the cache.
It should default to 2 which is the number of cores we're allowed to use. (Keep in mind that /proc/cpuinfo will show that 32 cores are available.) Therefore, I assume that GOMAXPROCS is already explicilty set to 2 by the Travis CI team.
Between 1, 2 and 4, 4 resulted in the shortest total duration. 4 was also better than 2 which is the capped number of availble cores in a Travis CI container.
I suspect that the default is 32 (the number of cores) and by setting it explicitly we effectively reduce the value - but reduce the stress on the system and therefore everything goes faster.
With this change, the following dependencies are no longer installed as well:
- New Relic monitoring (is no longer necessary)
- Java dependencies (no more necessary since we killed most of the old Java code)
for building. Also properly parsing the command line flag
in bootstrap.sh.
Should reduce te nuber of times we build proto from 4x to 1x, and
grpc from 2x to 1x. Doh.
Add travis configuration and dependencies script
Split integration test make targets to allow parallel execution in Travis
Add go packages required for coverage upload to Coveralls
Add coveralls and travis badges to README
Travis: Retry make targets to address flaky targets