Running time of travis job is over 50 minutes. After 50 minutes the job fails because it is the max execution time for travis free plan. In addition it is time consuming.
We would like to reduce the execution time to 15 minutes.
Approach
In order to reduce the execution time we split the test execution in travis into 5 separate stages that run concurrently. Each stage is self contained and can be re-triggered from travis UI.
The stages are:
OSB and Plugin Integration Tests (make goal - precommit-integration-tests-osb-and-plugin)
Service Instance and Service Bindings Integration Tests (make goal - precommit-integration-tests-service-instance-and-binding)
Other Integration Tests (make goal - precommit-integration-tests-other)
Unit tests (make goal - precommit-unit-tests)
Each stage triggers different goal in the make file that runs different tests and generate coverage report. Then By using coveralls flag "COVERALLS_PARALLEL=true" and coveralls webhook we merge the reports.
Coverage increased (+0.1%) to 86.504% when pulling 7a6e6040576407374f385a46dd2a404c5cea3ac8 on nir--reduce-travis-execution-time into e0504da151143acdaff2f5b6d0f0b63906cf4323 on master.
Motivation
Running time of travis job is over 50 minutes. After 50 minutes the job fails because it is the max execution time for travis free plan. In addition it is time consuming. We would like to reduce the execution time to 15 minutes.
Approach
In order to reduce the execution time we split the test execution in travis into 5 separate stages that run concurrently. Each stage is self contained and can be re-triggered from travis UI. The stages are:
Each stage triggers different goal in the make file that runs different tests and generate coverage report. Then By using coveralls flag "COVERALLS_PARALLEL=true" and coveralls webhook we merge the reports.