[ 
https://issues.apache.org/jira/browse/THRIFT-4351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16192942#comment-16192942
 ] 

ASF GitHub Bot commented on THRIFT-4351:
----------------------------------------

GitHub user jeking3 opened a pull request:

    https://github.com/apache/thrift/pull/1387

    THRIFT-4351: use travis build stages to optimize build,

    avoiding duplicate rebuilds of the same image
    THRIFT-4345: solidify docker build strategy for maximum
    coverage: trusty, xenial, artful as stock as they can be
    THRIFT-4344: add top level language summary markdown and
    update readme with a new image on the layered architecture
    THRIFT-3847: remove VERSION macro from config.h

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jeking3/thrift THRIFT-4351

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/1387.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1387
    
----
commit b93f58914937abeacf3914543a195611e452bb7c
Author: James E. King, III <[email protected]>
Date:   2017-09-30T22:44:16Z

    THRIFT-4351: use travis build stages to optimize build,
    avoiding duplicate rebuilds of the same image
    THRIFT-4345: solidify docker build strategy for maximum
    coverage: trusty, xenial, artful as stock as they can be
    THRIFT-4344: add top level language summary markdown and
    update readme with a new image on the layered architecture
    THRIFT-3847: remove VERSION macro from config.h

----


> 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
>            Assignee: 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