├── .gitignore ├── CODE_OF_CONDUCT.md ├── GITHUB_REPO_SETUP.md ├── LICENSE ├── README.md ├── bash ├── helpers │ └── initial_settings.yml ├── pipeline.yml └── scripts │ ├── shipit │ └── test ├── boshrelease ├── README.md ├── helpers │ ├── credhub-examples.sh │ └── initial_settings.yml ├── pipeline.yml └── scripts │ ├── bump-dependent-release │ ├── export-release │ ├── shipit │ ├── testflight │ ├── update-blob │ ├── update-manifest-compiled-release │ ├── update-manifest-release │ ├── use-compiled-releases │ └── wait-until-proxy-bosh-cf-running ├── buildpack ├── helpers │ ├── credhub-examples.sh │ └── initial_settings.yml ├── pipeline.yml └── scripts │ └── shipit ├── cfpush ├── helpers │ ├── credhub-examples.sh │ └── initial_settings.yml ├── pipeline.yml └── scripts │ └── setup-app ├── docker ├── base │ ├── helpers │ │ ├── credhub-examples.sh │ │ └── initial_settings.yml │ ├── pipeline.yml │ └── scripts │ │ ├── release │ │ └── update-dockerhub-readme └── ext-tests │ ├── pipeline.yml │ └── scripts │ ├── release │ └── update-dockerhub-readme ├── genesis-kit ├── README.md ├── cats.yml ├── envs │ ├── ci-gcp-baseline.yml │ ├── ci-gcp-cats.yml │ ├── ci-gcp-upgrade.yml │ ├── ci-gcp.yml │ ├── ci-vsphere-baseline.yml │ ├── ci-vsphere-cats.yml │ ├── ci-vsphere-upgrade.yml │ ├── ci-vsphere.yml │ └── ci.yml ├── pipeline │ ├── base.yml │ ├── jobs │ │ ├── acceptance-tests.yml │ │ ├── build-kit.yml │ │ ├── deploy.yml │ │ ├── prepare.yml │ │ ├── ship-prerelease.yml │ │ ├── ship-release.yml │ │ ├── spec-check.yml │ │ ├── spec-tests.yml │ │ ├── upgrade.yml │ │ ├── upstream-sync.yml │ │ ├── version-major.yml │ │ ├── version-minor.yml │ │ └── version-patch.yml │ └── resources │ │ ├── build.yml │ │ ├── cats.yml │ │ ├── git-ci.yml │ │ ├── git-latest-tag.yml │ │ ├── git-main.yml │ │ ├── git.yml │ │ ├── github-prerelease.yml │ │ ├── github.yml │ │ ├── notify.yml │ │ ├── release-notes.yml │ │ ├── spec-check.yml │ │ ├── upstream.yml │ │ └── version.yml ├── repipe ├── scripts │ ├── build-kit │ ├── build-upstream-jobs │ ├── cats │ ├── check-sha1s │ ├── compare-release-specs │ ├── deploy │ ├── generate-release-notes │ ├── get-latest-upstream │ ├── pull-upstream │ ├── release │ ├── release-notes │ ├── spec-check │ ├── test-deployment │ └── update-release ├── settings.yml ├── tasks │ ├── build-kit.yml │ ├── cats.yml │ ├── deploy-stable.yml │ ├── deploy.yml │ ├── generate-release-notes.yml │ ├── get-latest-upstream.yml │ ├── prerelease.yml │ ├── release.yml │ ├── spec-check.yml │ ├── spec-tests.yml │ ├── update-release.yml │ └── upgrade.yml ├── upstream.yml ├── upstreamrepo.yml └── version ├── go ├── helpers │ ├── credhub-examples.sh │ └── initial_settings.yml ├── pipeline.yml └── scripts │ ├── shipit │ └── test ├── helm ├── helpers │ ├── credhub-examples.sh │ └── initial_settings.yml ├── pipeline.yml └── scripts │ └── shipit ├── repipe ├── screenshots ├── boshrelease.png ├── buildpack.png ├── docker.png ├── genesis-kit.png ├── go.png └── helm.png └── setup /.gitignore: -------------------------------------------------------------------------------- 1 | /tmp/ 2 | *~ 3 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Code of Conduct 2 | 3 | ### Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, gender identity and expression, level of experience, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | ### Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ### Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, pull requests, and other 42 | contributions that are not aligned to this Code of Conduct, or to ban 43 | temporarily or permanently any contributor for other behaviors that they deem 44 | inappropriate, threatening, offensive, or harmful. 45 | 46 | ### Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ### Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at conduct@starkandwayne.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ### Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at [http://contributor-covenant.org/version/1/4][version] 72 | 73 | [homepage]: http://contributor-covenant.org 74 | [version]: http://contributor-covenant.org/version/1/4/ -------------------------------------------------------------------------------- /GITHUB_REPO_SETUP.md: -------------------------------------------------------------------------------- 1 | # Branches 2 | 3 | ## master 4 | 5 | ### Purpose 6 | 7 | This is the branch that all releases are cut. It is only to accept 8 | fast-forward merges from the develop branch, and can only be written to by the 9 | release bot and overseer intervention. 10 | 11 | ### Protection Rules 12 | 13 | * Requires linear history 14 | * Restrict who can push: 15 | * ci bot user 16 | - (may be different per pipeline team: gkconcourseninja for gstack team, 17 | cloudfoundry-community-ci-bot for cloudfoundry-community, ...) 18 | * overseer 19 | - (currently bgandon) 20 | * Allow force pushes: 21 | * Specify who can force push 22 | * overseer 23 | 24 | ## develop 25 | 26 | ### Purpose 27 | 28 | Receives all feature branch merged, which then triggers the pipeline process. 29 | Unless unavoidable, branches must be rebased-merged or squashed-merged into 30 | this branch. 31 | 32 | ### Protection Rules 33 | 34 | * Require a pull request before merging 35 | * Require approvals 36 | * Required number of approvals before merging: 1 37 | * Allow specific actors to bypass required pull requests: 38 | * overseer 39 | * ci-bot 40 | * Require linear history 41 | * Allow force pushes 42 | * Specify who can force push 43 | * overseer 44 | 45 | ### Protection Rules 46 | 47 | * Lock branch 48 | 49 | ## #.#.x-develop 50 | 51 | ### Purpose 52 | 53 | When the primary version advances to the next major or minor semantic version, 54 | -develop branches may be created to backport features or bug fixes to 55 | support clients that are not able to advanced to the current version branch. 56 | 57 | These should not be named with the explicit version, but the patch level 58 | should be 'x' to indicate that it is still an evergreen branch, which may have 59 | further development. (ie 2.8.x-develop) 60 | 61 | ## All Other Branches 62 | 63 | ### Purpose 64 | 65 | The remaining branches are for the purpose of feature development or bug 66 | fixes. If it is being worked on by a single developer, it is recommended that 67 | it be named '/', such as 'bgandon/fix-broken-garblewaffle' 68 | 69 | Pull requests will be created from these branches against develop, and deleted 70 | upon merging. It is recommended that any development WIP or cruft commits be 71 | cleaned up using `git rebase -i origin/develop` prior to creating the pull 72 | request so as to not pollute the commit history. 73 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016-2021 Stark & Wayne 4 | Copyright (c) 2021-present Gstack 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Pipeline Templates 2 | ================== 3 | 4 | This repository collects up all that tribal wisdom we've gained 5 | from building Concourse Pipelines for various different purposes. 6 | Each template provides a base `ci/pipeline.yml` that structures the 7 | pipeline, `ci/settings.yml` to override any parameters defined by the template, a set of scripts (in `ci/scripts/`) that are referenced 8 | from the pipeline, and a `ci/repipe` utility for putting all the 9 | pieces together into a functioning Concourse pipeline. 10 | 11 | This project was initially created by Stark & Wayne, and is now maintained by 12 | Gstack. 13 | 14 | ## Setup 15 | 16 | Setup is straightforward: 17 | 18 | ```shell 19 | git clone https://github.com/cloudfoundry-community/pipeline-templates 20 | cd pipeline-templates 21 | ./setup