Squadbase
Squadbase Docs

GitHub Integration

This document explains how to deploy an app by integrating Squadbase with GitHub.

Squadbase integrates with GitHub to automate CI/CD for your apps. There’s no need to build complex infrastructure or set up CI/CD pipelines yourself—simply deploy safely from the dashboard and deliver your app to the team.

How to connect

Connecting Squadbase to GitHub takes just a few simple steps.

Set up the GitHub connection

From the dashboard, connect your GitHub account and install the Squadbase app in your Organization.

Create squadbase.yml

Add squadbase.yml to the target repository.

Select repository and branch

In the dashboard, choose the repository and branch you want to deploy, then start the deployment.

If your Organization or repository does not appear, see Troubleshooting.

Access your app

Once the deployment is complete, you can open the app from the dashboard.

After you connect GitHub once, every push to the linked branch is deployed automatically.

Changing the root directory or the path to squadbase.yml

In Advanced Settings, you can change the Root directory path and Setting file path to point to a different project root or a different squadbase.yml. The project root is the directory where your application is built.

  • Root directory path: path from the repository root
  • Setting file path: path relative to Root directory path

Deploying multiple apps from a single repository

If a single repository contains multiple apps as shown below, you can deploy each one by specifying its root directory and the path to its squadbase.yml.

user_analytics.py
product_analytics.py
pyproject.toml
squadbase-user-analytics.yml
squadbase-product-analytics.yml
app.py
pyproject.toml
squadbase.yml

Example deployment settings

App nameRoot directory pathSetting file path
User analytics dashboardanalytics_dashboardsquadbase-user-analytics.yml
Product analytics dashboardanalytics_dashboardsquadbase-product-analytics.yml
Chat appchat_appsquadbase.yml

Changing settings

You can update the GitHub connection or the app’s sub-domain from Settings in the dashboard. When you change a setting, a new deployment will be triggered so that the changes take effect.

GitHub integration setting

Notes on GitHub Account Linking

At Squadbase, a single GitHub account cannot be linked to multiple Squadbase accounts, and if there is a Squadbase user with the same email address as that of the GitHub account, that user takes priority. This behavior is based on the following policy:

  1. Email Address as Identity Verification The email address registered with GitHub is critical for identifying the user, and we assume that a given email address corresponds to exactly one individual.

  2. Security-Driven Restriction Allowing the same GitHub account to be linked to different Squadbase accounts (with different email addresses) could result in duplicated credentials and the risk of incorrect permission grants. Because Squadbase manages project imports and deployments through team roles, this restriction is necessary to maintain security.

Tips: GitHub integration troubleshooting

Here are some fixes for common issues when integrating with GitHub.

Repository not showing up

If the repository you are looking for is missing from the list, make sure access to that repository is allowed in Repository access settings.

Organization not showing up

If your Organization does not appear in the list, check the following:

  1. Go to the Organization’s page on GitHub
  2. Open Settings
  3. Select Third-party Access → GitHub Apps
  4. Verify that Squadbase is listed under Installed GitHub Apps

GitHub app installation

GitHub Account Linking Error (ERROR: GitHub Account Already Connected to Another User)

If you see this error, one of the following two conditions applies:

1. The GitHub account is already linked to another Squadbase account

In this case, you cannot link the GitHub account to a new Squadbase account. Either unlink the GitHub account from the existing Squadbase account or use a different GitHub account.

2. Another Squadbase user exists with the same email address used by the GitHub account

In this case, only the Squadbase user whose email matches the GitHub account may use it. Please delete one of the conflicting accounts.