Solano CI integrates seamlessly into your Github workflow. Once you’ve linked your Solano account to your Github account, you can:
- Sign in with your Github account
- Have Solano CI automatically configure Github Deploy Keys and Service Hooks
- Post to the Github Status API on every Solano CI build
For further details on Github authentication, see Github Permissions.
Signed Up Via Github?¶
If you’ve signed up for Solano CI using your Github login, you’re all set. If you signed up with the wrong Github user, or you find yourself not seeing all of the repos you expect, you may want to reset your account linkage.
Solano CI offers 4 permission levels for interacting with your GitHub account.
To add repositories, follow the “Manage Repos” link from your dashboard. You can further authorize additional permissions for Solano CI to list and manage keys and webhooks for private Github repositories by following the prompts.
For more information about scopes in the Github API, see the Github OAuth documentation.
If your repositories depend on installing private repos from Github (e.g. via a package dependency manager like bundler or pip), read our private dependencies guide.
Github and OAuth¶
Solano CI uses OAuth to authenticate to Github. The config variable GITHUB_OAUTH_TOKEN will be automatically set to the OAuth token for the account owner and exported as an environment variable into the build environment.
You can also set a Github OAuth token on a per-repo basis from the repo configuration page. The override value will be used when posting build status to Github. It will also override the GITHUB_OAUTH_TOKEN value for that repo.
For information on Github OAuth token support, see Github’s blog post.
Github Integration Troubleshooting¶
There are usually only two issues that can occur with Solano CI’s Github integration: (1) Github is not sending us the required webhooks or (2) a repo or branch is not configured to build when Solano CI receives the webhook.
Github Webhooks and Services¶
As Github will no longer accept feature changes to existing services, if your
Tddium service does not appear to be working, you should
de-activate it and setup a webhook integration instead.
To validate your webhook settings, go to the repository settings page for
your repository and ensure that the SCM SERVER TYPE is set to
Github Enterprise and the POST-COMMIT WEBHOOK URL matches the webhook’s
Payload URL on Github. You should also ensure the SSH public key
is an authorized deploy key on Github.
On your repository’s Github Manage webhook page, ensure either
me everything is selected or the
Pull request events
are checked if you select individual events. You can also inspect the
status of recently delivered webhooks on this page.