Github Integration

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.

Linking GitHub with an existing Solano CI Account

If you already have a Solano login, or you’ve invited to join your company’s Solano account, follow these steps to link your Github account:

  1. Go to your User Settings page.
  2. Choose a permission level to authorize and confirm your identity.

Unlinking Your Github Account

To unlink your Github account from your Solano CI account, go to your User Settings page and click on “Unlink” next to your Github username.

Unlink Github Account

Note

This step will cause Solano CI to forget about your account linkage. It will not make any changes to your Github account. To complete the process, visit your Github account settings page, de-authorize the Tddium app, and clear any deploy keys.

Resetting Your Account Linkage

If you’ve linked the wrong github account, or you’re experiencing problems with the connection between your Github account and your Solano CI account, you may need to reset the linkage and start from scratch.

  1. Unlink your Github account as described in Unlinking Your Github Account.
  2. Sign out of Solano CI
  3. Go to Github and sign in to the Github user you want to link to your Solano CI account
  4. Go to Solano CI and sign in using your email and password to the Solano CI user you want to link to your Github account
  5. Follow the steps in Linking GitHub with an existing Solano CI Account

Note

If you’ve never set a password, click on the “Forgot password?” link and follow the recovery flow.

Github Permissions

Solano CI offers 4 permission levels for interacting with your GitHub account.

Github Permission Choices

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.

Note

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 SSH

See the Github-specific details under SSH Configuration.

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 existing 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 or 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.

Solano CI repo webhook url and public ssh key
Github manage webhooks

On your repository’s Github Manage webhook page, ensure either Send me everything is selected or the Push and Pull request events are checked if you select individual events. You can also inspect the status of recently delivered webhooks on this page.