summaryrefslogtreecommitdiff
path: root/github-management/setting-up-cla-check.md
diff options
context:
space:
mode:
authorChristoph Blecker <admin@toph.ca>2018-06-20 19:48:00 -0700
committerChristoph Blecker <admin@toph.ca>2018-06-20 19:48:04 -0700
commit9ce2bdc3bb1a9e5b0acea5a4a2dbe8870041de28 (patch)
tree7b4262b99891c11f71dd01e44c0923a405158868 /github-management/setting-up-cla-check.md
parent7b53c73e8e6619fb0e65749d4d4c5f9420358d5b (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.md60
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.