GitHub Sync
Coming soon — GitHub Sync is not yet generally available. This article describes how the feature will work.
GitHub Sync lets you use a GitHub repository as the source of truth for your SQL models. Instead of editing models in the Weld UI, you author them as .sql files in your repo and let Weld keep itself in sync on every push.
This unlocks a Git-native workflow for your data models: version control, pull requests, and code review for every change, plus the ability to have agents and developers author models through GitHub. Weld continues to power scheduling, lineage, alerting, ingestion, and reverse ETL on top of the models it receives.
When GitHub Sync is enabled, the Weld UI becomes read-only for models — your repository is the only place models can be created, edited, or deleted.
How it works
On each push to the connected branch, Weld reads your repository, compares its contents against your current models, and applies the difference:
- New
.sqlfiles become new models. - Changed files update the matching models.
- Removed files delete the matching models.
Only the models that changed are re-materialized in your data warehouse.
Adopting existing models
If you already have models in Weld, GitHub Sync won't duplicate them. When an incoming .sql file matches an existing model by name and folder, Weld adopts that model instead of creating a new one — keeping its identity and all downstream references (schedules, tests, dashboards, and reverse ETL) intact. This makes it safe to put your current models under version control without losing history or breaking what's built on top of them.
Weld requires all models to reside in a folder — your SQL files must be in subfolders, not at the root of your synced path. Files at the root are skipped with an error.
Configuration
Setting up GitHub Sync takes three steps.
1. Enable the feature in Weld
Open the Transform settings page and enable GitHub Sync. You'll then see the GitHub Settings section prompting you to install the Weld GitHub App.
2. Install the Weld GitHub App
Click Install GitHub App and authorize it on your GitHub organization.
When choosing which repositories the app can access, select Only select repositories and grant access to just the repository you intend to sync with Weld — each Weld workspace connects to a single repository. The app needs read access to metadata and read & write access to code.
Once installed, you'll be redirected back to Weld, where the GitHub Settings section confirms the app is connected to your organization.
3. Connect a repository
Back in the Weld app, click Connect repository and configure the connection:
- Repository — the repository to sync.
- Branch — the branch to track. Leave as default to use the repository's default branch.
- Folder path (optional) — the folder Weld should sync from. Leave empty to use the repository root.
Remember that Weld requires all models to live inside a folder, so your .sql files must be in subfolders of the path you select.
First sync
The first time you sync a connection, Weld shows a preview of the proposed changes before anything is written — including any models that will be created, updated, deleted or adopted. Review the changes carefully, especially destructive ones such as deletions or materialization changes, then confirm to run the first sync.
After the first sync, every subsequent push applies automatically and silently. You can review past runs in the connection's Sync history.