Looks good. Should we go ahead and change this to run precheckin instead of
build?

-Dan

On Thu, Nov 2, 2017 at 9:53 AM, Anthony Baker <aba...@pivotal.io> wrote:

> If you’d like to check this out, here’s the PR containing the pipeline and
> job scripts:
> https://github.com/apache/geode/pull/1006
>
> And the pipeline itself:
> https://concourse.apachegeode-ci.info
>
> There are three pipelines defined:
>
> - develop:  runs `gradle build`.  Can be extended to include other
> precheckin tests based on feedback.
> - docker-images: builds the container used for the develop pipeline.
> - meta: watches for changes to the pipeline files and automatically
> updates the runtime pipelines.
>
> Authentication is integrated with GitHub.  If you want the ability to
> manually stop/start jobs please request on the dev@g.a.o mailing list
> (same as for Jenkins) and include your GitHub id.
>
> What do you think?
>
> Anthony
>
> > On Oct 6, 2017, at 7:08 AM, Anthony Baker <aba...@pivotal.io> wrote:
> >
> > Hi all,
> >
> > I’d like to propose the following that we switch our continuous
> > integration (CI) system from Jenkins [1] to Concourse [2].  I suggest
> > this because we continue to experience a significant number of
> > environmental-related test failures.
> >
> > These issues include CPU interference from other Jenkins jobs on the
> > same host, running out of disk space, port conflicts, and other
> > gremlins.  The net effect is that we are only getting 1-2 successful
> > builds per month.  Certainly not all test failures can be traced back
> > to environmental issues.  However, internal testing on isolated VM’s
> > shows a combined success rate of about 3X higher compared to ASF
> > Jenkins for the same tests.  This is still definitely NotAwesome, but
> > removing environmental factors will let us focus on stabilizing flaky
> > tests.
> >
> > Concourse is an Apache-licensed open source CI system based on
> > pipelines.  The pipelines are defined in a YML file containing job
> > definitions—inputs, outputs, resources, and tasks.  A task is simply a
> > bash script that returns 0/1 for success/failure.  A web UI displays
> > build status.  Importantly, each job runs inside an isolated
> > container.  The containers are load-balanced across a pool of workers.
> > For an example of a build pipeline, see [3] for the pipeline used to
> > build concourse itself.
> >
> > A Concourse environment is deployed and managed in cloud environments
> > through bosh [4].  Pivotal has agreed to donate AWS and/or GCP compute
> > and storage resources as well as manage the infrastructure.  These
> > project resources would be available for use by all committers and
> > community members regardless of corporate affiliations.  Note that
> > AFAIK there is no explicit requirement to host CI on ASF
> > infrastructure—unlike for critical project resources such as source
> > code, mailing lists, and issue tracking.
> >
> > The source for the pipeline and job scripts would reside within the
> > geode-* repos.  Geode committers would be able to modify those, same
> > as with our .travis.yml scripts.  All test results and build artifacts
> > would be publicly viewable just like with our Jenkins build output
> > today.  Requests for admin assistance would go through the dev@geode
> > mailing list.
> >
> > Thoughts?  As a first step we could run both CI systems side-by-side
> > and see how the Concourse approach works for our project.
> >
> > Thanks,
> > Anthony
> >
> >
> > [1] https://builds.apache.org/job/Geode-nightly/
> > [2] https://concourse.ci
> > [3] https://ci.concourse.ci
> > [4] https://bosh.io
>
>

Reply via email to