Skip to content

Latest commit

 

History

History
38 lines (24 loc) · 2.27 KB

README.md

File metadata and controls

38 lines (24 loc) · 2.27 KB

tools

The .clabot config file is the setup for the cla-bot. The contributors property contains a list of all the GitHub handles that are have signed the CLA, whether the user is an internal or external contributor.

Sourcegraph teammates can find the signed responses in this spreadsheet, and edit the form here.

Syncing contributors

Credentials should be a GCP service account with at least read access to Google Forms resources.

The path to the key should be set to GOOGLE_APPLICATION_CREDENTIALS. For the GitHub Action, set the key to CLABOT_CREDENTIALS in the Secrets tab by encoding it in base64, e.g. cat $GOOGLE_APPLICATION_CREDENTIALS | base64. The service account currently in use is clabot - it must have the following access to the spreadsheets noted above:

  • https://www.googleapis.com/auth/forms.responses.readonly
  • https://www.googleapis.com/auth/forms.body.readonly

If access cannot be granted directly to the service account, impersonation must be used. To set it up:

  • Grant domain-wide delegation to the service account
  • Set GOOGLE_TARGET_SERVICE_ACCOUNT to the address of the service account, e.g. [email protected]
  • Set GOOGLE_IMPERSONATE_USER to the address of the target account to impersonate, e.g. [email protected]

You can then manually sync contributors in an additive manner with the sync command:

go run ./tools/sync main.go

You can also manually run the sync workflow from the "Actions" tab of the repository.

Error reporting

Error reporting to Sentry can be enabled by setting SENTRY_DSN. Currently this should be configured to go to the clabot project: sourcegraph/clabot.

The logging is configured such that the InstanceID is the URL of the action run.