diff options
| author | Christoph Blecker <admin@toph.ca> | 2018-06-20 19:48:00 -0700 |
|---|---|---|
| committer | Christoph Blecker <admin@toph.ca> | 2018-06-20 19:48:04 -0700 |
| commit | 9ce2bdc3bb1a9e5b0acea5a4a2dbe8870041de28 (patch) | |
| tree | 7b4262b99891c11f71dd01e44c0923a405158868 /github-management/setting-up-cla-check.md | |
| parent | 7b53c73e8e6619fb0e65749d4d4c5f9420358d5b (diff) | |
Move existing github related docs to dedicated folder
Diffstat (limited to 'github-management/setting-up-cla-check.md')
| -rw-r--r-- | github-management/setting-up-cla-check.md | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/github-management/setting-up-cla-check.md b/github-management/setting-up-cla-check.md new file mode 100644 index 00000000..bb344190 --- /dev/null +++ b/github-management/setting-up-cla-check.md @@ -0,0 +1,60 @@ +# Setting up the CNCF CLA check + +If you are trying to sign the CLA so your PR's can be merged, please +[read the CLA docs](https://git.k8s.io/community/CLA.md) + +If you are a Kubernetes GitHub organization or repo owner, and would like to setup +the Linux Foundation CNCF CLA check for your repositories, please read on. + +## Setup the webhook + +1. Go to the settings for your organization or webhook, and choose Webhooks from the menu, then + "Add webhook" + - Payload URL: https://identity.linuxfoundation.org/lfcla/github/postreceive?group=284&comment=no&target=https://identity.linuxfoundation.org/projects/cncf + - `group=284` specifies the ID of the CNCF project authorized committers group in our CLA system. + - `comment=no` specifies that our system should not post help comments into the pull request (since the Kubernetes mungebot does this). + - `target=https://identity.linuxfoundation.org/projects/cncf` specifies what will be used for the "Details" link in Github for this status check. + - Content Type: 'application/json' + - Secret: Please contact [@idvoretskyi](mailto:ihor@cncf.io), and [@caniszczyk](mailto:caniszczyk@linuxfoundation.org). + - Events: Let me select individual events + - Push: **unchecked** + - Pull request: checked + - Issue comment: checked + - Active: checked +1. Add the [@thelinuxfoundation](https://github.com/thelinuxfoundation) GitHub user as an **Owner** + to your organization or repo to ensure the CLA status can be applied on PR's +1. After you send an invite, contact the [Linux Foundation](mailto:helpdesk@rt.linuxfoundation.org); and cc [Chris Aniszczyk](mailto:caniszczyk@linuxfoundation.org), [Ihor Dvoretskyi](mailto:ihor@cncf.io), [Eric Searcy](mailto:eric@linuxfoundation.org) (to ensure that the invite gets accepted). +1. Finally, open up a test PR to check that: + 1. webhooks are delivered correctly, which can be monitored in the “settings” for your org + 1. the PR gets the cla/linuxfoundation status + +## Branch protection + +It is recommended that the Linux Foundation CLA check be added as a strict requirement +for any change to be accepted to the master branch. + +To do this manually: + +1. Go to the Settings for the repository, and choose Branches from the menu. +1. Under Protected Branches, choose "master". +1. Check "Protect this branch". +1. Check "Require status checks to pass before merging", "Require branches to be up to date before merging", and the "cla/linuxfoundation" status check. + +Given the Kubernetes projects anticipates having "human reviewed" CLA acceptance, you may +not do the last step, but it is still recommended to enable branch protection to require all +changes to be done through pull requests, instead of direct pushing that will never kick off +a CLA check. + +## Label automation + +The label automation is done using the [CLA plugin in prow](https://git.k8s.io/test-infra/prow/plugins/cla). +In order to turn on the CLA labels on your repo, add it as appropriate within the +[plugins.yaml](https://git.k8s.io/test-infra/prow/plugins.yaml), and add the cla plugin to it. + +You also need to add [@k8s-ci-robot](https://github.com/k8s-ci-robot) as one of the owners in +the same org/repo, to ensure that it can add labels `cncf-cla: yes` and `cncf-cla: no` based +on the status published by the Linux Foundation webhook. + +The label automation may not be essential for your repository, if you’re not using merge +automation. For repos with maintainers doing manual merges, github protected branches may +suffice. |
