This directory contains pipelines, task files, and scripts to run various sets of builds and tests on our Concourse continuous integration server.
Learn more about Concourse overall
We use Concourse because:
The Concourse directory should contain this README and three sub-directories only:
There should be just a handful of pipelines in this directory:
gpdb_master-generated.yml the pipeline that compiles, tests, and produces installers from the master branch of gpdb. This is a generated and should not be edited directly. The template pipelines/templates/gpdb-tpl.yml should be edited and the utility pipelines/gen_pipeline.py should be used to generate production and developer pipeliens. Please review the pipelines README.md for additional information.dev_generate_installer.yml which compiles and generates an installer for the given source and saves it to a dev bucket.pr_pipeline.yml which compiles and tests pull requests.concourse-upgrade.yml which uses Concourse to upgrade itself.pipeline_coverity.yml run a build with coverity flags, separate so that it isn't accidentally triggeredAll task yamls should live in this directory. If a task file is not referenced in the pipelines directory it is considered abandoned and can be removed.
All script files should live in this directory. If a script file is not referenced in any of the directories it is considered abandoned and can be removed.
There are some exceptions to this rule. Please do not create any more exceptions, and remove these as the occasion arises:
There is a gpdb team in the Concourse instance. Use this team to create any pipelines instead of the main team.
Many developers want to create their own copies of the master pipeline.
To accommodate this without naming confusion, workload instability, nor artifact collision, please follow instructions in pipelines README.md for additional information.
fly destroy-pipeline)gpdb_master when setting your dev pipeline. Try to prefix your pipeline name with dev:Changes should be proposed to this contract with a PR.
Use gpdb5-pulse-worker tag to invoke the job to trigger and monitor Pulse projects