ancillary concourse flows
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Godeps
api
build
ci
cmd/checkin
db
fixtures
.gitignore
LICENSE
Procfile
README
manifest.yml
types.go

README

                              __              __   _
                        _____/ /_  ___  _____/ /__(_)___
                       / ___/ __ \/ _ \/ ___/ //_/ / __ \
                      / /__/ / / /  __/ /__/ ,< / / / / /
                      \___/_/ /_/\___/\___/_/|_/_/_/ /_/

                  github pull request interface for concourse

= about

Concourse uses statically defined resources in order to manage build
dependencies. A resource is an external stream of versions that map to
artefacts. This maps well onto Git repositories, S3 buckets, and even time.

Unfortunately mapping an entire repository's worth of pull requests into a
version of a resource is not simple because here is no absolute ordering and
old versions in the history may not be valid as people force push over the top
of their pull requests. Pull requests aren't a good fit for the resource
abstraction. It may be possible to get them working but given the complexity
there must be some edge cases that we'd miss.

Checkin is the new approach that uses the API of both platforms (GitHub and
Concourse) to join the two without them needing to know about each other.

Here's how it works:

1. Checkin is deployed somewhere on the internet that can be reached by GitHub
   and where it can reach your Concourse server.

2. GitHub pull request events are sent to your application which builds a
   execution plan from a template.

3. The plan is submitted to Concourse which dutifully runs it. Checkin keeps
   tabs on the build and if it passes then the commit is marked as successful
   on GitHub.