Connecting a repo

Tandem deploys from Git. Before you can deploy a service, the platform needs to know where its source lives. There are two ways to connect a repo:

  • GitHub App install — Tandem authenticates as a GitHub App with scoped access to specific repos.
  • Clone URL — Tandem stores a URL it can git clone from, typically a public repo or one that uses a deploy key.

The GitHub App path unlocks more features. Use it when you can.

What each mode enables

Capability GitHub App Clone URL
Manual deploys from the portal yes yes
Import services from platform.yml yes no
Auto-deploy on push to the default branch yes no
GitHub commit status / check runs (planned) yes no

If you connect via clone URL, you can still define services manually from the portal’s Services tab and trigger deployments by hand. You just won’t get the platform.yml import flow or push-driven deploys.

Connecting via GitHub App

  1. From the portal, go to Settings → GitHub and click Install GitHub App.
  2. GitHub takes you through its install flow — pick whether to grant access to all repos or specific ones in your account/org. You can change this later from GitHub’s app settings.
  3. When the install completes, GitHub redirects you back to the portal with the installation linked to your user.
  4. Open a project, click Connect repository, and pick the repo from the list. Only repos covered by the install will appear.
  5. If the repo has a platform.yml at the root of the default branch, the portal offers to import its services in one click. Otherwise, define services manually.

After connection, every push to the repo’s default branch (or the deploy_branch override on the project, if set) automatically queues a deployment for each service in the project.

Connecting via clone URL

  1. Open a project and click Connect repository → Use a clone URL.
  2. Enter the HTTPS or SSH URL and the default branch name.
  3. For private repos you’ll need to give the host machine SSH access — talk to a platform admin for the deploy-key flow.

You’ll then need to add services from the Services tab. Each service config (path, type, build/start commands) is stored in the portal rather than imported from platform.yml.

Switching from clone URL to GitHub App

If you started with a clone URL and want to graduate to the App:

  1. Install the GitHub App if you haven’t already (Settings → GitHub).
  2. From the project’s Settings, choose Re-link repository via GitHub App and pick the matching repo. The existing services keep their config; only the connection mode changes.
  3. Auto-deploy and platform.yml import become available immediately.

Common errors

  • no_installation_linked — you tried to import or refresh platform.yml on a repo connected via clone URL. Re-link via the GitHub App, or define services manually.
  • platform_yml_not_found — the App is installed but the file isn’t on the branch Tandem fetched. Check the file is at the repo root and committed to the default branch. See Writing platform.yml.
  • Push webhook received but no deployment — confirm the project’s deploy_branch (or the repo’s default branch, if unset) matches the branch the push was on. Pushes to other branches are recorded but don’t auto-deploy.