Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.10.0
-
None
-
Travis CI
Description
Due to the time limit restrictions in Travis, the thrift project leverages many redundant builds in identical containers:
- build docker image if needed then make precross and run cross on a subset of protocols
- build docker image if needed then make precross and run cross on a different subset of protocols
- build docker image if needed then make precross and run cross on a third subset of protocols
- build docker image if needed then make check
The first four build jobs build most of the same stuff.
Alternatively, what if we could do this instead:
In parallel:
- build docker image for ubuntu-trusty if needed
- build docker image for ubuntu-xenial if needed
then, in parallel:
- make check on ubuntu-trusty and store the build away
- make check on ubuntu-xenial and store the build away
- some other jobs like ubsan can run in parallel here
then, in parallel:
- make cross (no bootstrap, no configure) on the ubuntu-trusty build result from above with all protocols
- make cross (no bootstrap, no configure) on the ubuntu-xenial build result from above with all protocols
Ideally if we could carry the docker image across build jobs that would be ideal. I'm actually going to float that idea to the travis team.