This is where you'll find the all the CI related files for Concourse.
Currently the repo is split into five main sections:
Configuration files for BOSH- and terraform-managed deployments used in testing.
A lot of Dockerfiles are used throughout the Concourse automation. Many of those are in the /dockerfiles
folder.
Overrides for docker compose
.
Pipeline definitions live here. Some highlights:
The crown jewel of this entire repo, it's how concourse is built, tested, and shipped.
This instance group contains one instanced pipeline for each open pull request. pr.yml
specifies the tests to run for each pull request, and will update the pull request with the results of the tests.
Whenever any of these pipeline definitions get changed, the reconfigure pipeline will run to reconfigure the affected pipelines.
This pipeline also tracks the list of pull requests and sets an instanced pipeline for each one.
This is the template that gets used for all of the base resource types that are supported by the Concourse team. Each of those repos follows a similar enough structure that the same template can be used to do the basic PR-testing and shipping tasks for all of them.
The set of resource types for which we automatically test PRs against and ship images to DockerHub is determined by the RESOURCES
parameter to the render-resource-pipeline-templates
task.
The source of truth for which resource types are bundled into Concourse is not clearly documented in public right now, but the ultimate source of truth is the set of inputs to the resource-types-images
job in the main pipeline.
Concourse specific task files, these range from testing the front end to building binaries to sending notifications to Slack.