[
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)