Docs / Ship / GitHub

GitHub

GitHub is optional. Uploading a folder, the CLI and the MCP server all work without it.

Deploy a repository

New project → Connect GitHub, or Settings → GitHub on an existing project. Enter owner/repository (or its URL) and a branch. FASTBASE downloads the branch head and deploys it; the commit is recorded on the deployment.

What works today

Capability Status
Public repositories Available
Deploy a branch on demand (dashboard, API) Available
Private repositories Settings → GitHub → Connect GitHub (an admin authorizes once per workspace). Needs GITHUB_CLIENT_ID / GITHUB_CLIENT_SECRET on the installation
Automatic deploy on push Available once GITHUB_WEBHOOK_SECRET is set and the webhook is added to the repository
Preview deployment per pull request Pushes to non-default branches create preview deployments; PR comments and status checks are coming

Automatic deploys

  1. Set GITHUB_WEBHOOK_SECRET on the FASTBASE installation.
  2. In the repository: Settings → Webhooks → Add webhook
    • Payload URL: https://<api host>/api/v1/webhooks/github
    • Content type: application/json
    • Secret: the same value
    • Events: Just the push event

A push to the connected branch deploys to production. A push to any other branch creates a preview deployment. Requests without a valid signature are rejected.

Other providers

Source providers sit behind a GitProvider interface. GitLab and Bitbucket are not implemented yet.