Source control integrations can be configured for both Self-Hosted Runners and Gitpod Desktop. You can set up a GitHub integration during runner creation or in the runner settings. Self-hosted GitHub instances are supported by changing the Host during setup.
You can skip this step if someone has already set up the runner for you and SCM
integration with GitHub has already been configured. In that case, you can go
directly to Authorizing GitHub Access. This step
allows administrators to configure what authorization methods (OAuth, PATs) and
SCM providers (GitHub, GitLab, Bitbucket, Azure DevOps) will be available for
authorization.
For self-hosted runners (like AWS), GitHub integration is configured during runner creation or in the runner settings.There are two ways to integrate with GitHub. Both can be used simultaneously:
OAuth App (Recommended): Using an OAuth app allows users to sign in more quickly. You’ll need to set up an OAuth app within Gitpod.
Personal Access Token (PAT): Each user will need to create a Personal Access Token. They will be provided with a deep link to do so on their first environment creation.
You can get the callback URL from the SCM configuration dialog
After creating the OAuth app, provide the Client ID and Client Secret in the runner configuration dialog. The client secret will be encrypted with the runner’s public key, ensuring only the runner can read it.
When creating your first environment, you will be asked to authorize the new application. A new window will open that directs you to GitHub to authorize the OAuth app.
The requested scopes are repo, read:user, user:email, and workflow.
The repo permission is required so that your environment can clone the repository.
The read:user permission is required so that the git author name can be set in the environment.
The user:email permission is required so that the git author email can be set in the environment.
The workflow permission is required so that GitHub Action YAML files can be edited in the environment.
After you have authorized Gitpod, you can close the window and go back to the environment details screen.