Docs

GitHub

Link a GitHub repository to a project: deploy functions from a folder (on push or with Sync), fetch migration files to apply, commit a function’s source back, and receive app builds as pull requests.

Updated Oct 20, 2026

Connect GitHub once (sign in and grant repository access), then link one repository per project from Edge Functions › GitHub repository. Sovaria reads only the two folders you name.

SettingWhat it does
Repository and branchFor example acme/storefront and main. Repositories you granted access to are suggested as you type.
Functions folderDefault sovaria/functions. Each sub-folder deploys as a function (for example sovaria/functions/checkout/).
Migrations folderDefault sovaria/migrations. .sql files here show up in Migrations to review and apply.
Deploy changed functions on every pushPaid plans. Sovaria shows a payload URL and a secret (once); add them in GitHub under Settings › Webhooks with content type JSON and push events.

Sync, deploy and commit back

  • Sync now fetches the branch, deploys changed functions and lists migration files not yet applied.
  • Migrations are never applied on push: a person dry-runs and applies each one, in version order, with their own permissions (Migrations).
  • Edit a function in the console, then Commit to GitHub writes its current source back to the repository.
  • Backends Sovariq builds for you arrive as a pull request on this repository, with the check report in its description (Build your app from a description).
# Import one function from a repository path
sov functions github-import --name checkout --repo acme/storefront --path sovaria/functions/checkout --ref main

Troubleshooting

  • A push didn’t deploy: the dialog says whether the webhook is installed; check the webhook’s recent deliveries in GitHub, and that the changed files are inside the functions folder.
  • A migration file isn’t listed: it must end in .sql and be inside the migrations folder on the linked branch. Press Sync now after pushing.