[
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.
was:
Due to the time limit restrictions in Travis, the thrift project leverages many
redundant builds in identical containers:
# make precross and run cross on a subset of protocols
# make precross and run cross on a different subset of protocols
# make precross and run cross on a third subset of protocols
# make check
The first four build jobs build most of the same stuff.
Alternatively, what if we could do this, increasing coverage:
In parallel:
# make check on ubuntu-trusty and store the build away
# make check on ubuntu-xenial and store the build away
In parallel:
# make cross on the ubuntu-trusty build result from above
# make cross on the ubuntu-xenial build result from above
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.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)