[ 
https://issues.apache.org/jira/browse/THRIFT-4351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James E. King, III updated THRIFT-4351:
---------------------------------------
    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.

https://docs.travis-ci.com/user/build-stages/

  was:
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.


> Use Travis CI Build Stages to optimize the CI build
> ---------------------------------------------------
>
>                 Key: THRIFT-4351
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4351
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Build Process
>    Affects Versions: 0.10.0
>         Environment: Travis CI
>            Reporter: James E. King, III
>
> 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.
> https://docs.travis-ci.com/user/build-stages/



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to