Deploy from GitHub
Connect a GitHub repository to an app. Every push builds; a push to the production branch goes live, other branches get a preview address.
How it works#
Agent Lab's GitHub App, Crescendo Agent Lab, provided by Crescendo Lab, reads the repositories you allow and is told about every push.
- A push to the production branch (the repository's default branch unless you change it) builds and goes live on the app's address.
- A push to any other branch builds a version with its own preview address and goes live nowhere. If your workspace has an Agent Lab branch with the same name, such as
staging, it goes live there instead. - The commit on GitHub shows the result: pending while it builds, then success with the preview address, or failure with a link to the build log.
Nothing about the build changes: the platform detects the framework the same way it does for an upload. See deploy from source code.
Not the same as the GitHub integration
The GitHub integration under Integrations lets assistants use GitHub's tools in a conversation. Deploying uses its own connection, set up here.
1. Connect GitHub#
- In Settings › Deploy settings, select Connect GitHub.
- GitHub asks where to install Crescendo Agent Lab: your account or one of your organizations. Choose all repositories or only the ones the apps need.
- You come back to Agent Lab with the account listed. An organization whose owner has to approve the install shows as requested until they do.
Only people who can manage apps can connect GitHub. To stop deploying, remove the connection here, and uninstall the App on GitHub if you no longer want it to read anything.
2. Import a repository#
- On the apps page, select New app, then Import from GitHub.
- Pick the account, search for the repository and select it.
- Check the name, the address label and the production branch. For a monorepo, set the App path, such as
apps/web. - Paste the variables the project needs, or add them later.
- Select Deploy. The newest commit on the production branch builds and goes live.
An existing app connects in Settings › Git.
Branches#
A git branch goes live in the Agent Lab branch with exactly the same name, automatically: a push to staging goes live in your staging branch. There is nothing to map. Create the Agent Lab branch first; until it exists, pushes to that git branch only get a preview address. The production branch always goes live on the app's main address. In Settings › Git you can change the production branch. Deploy latest commit builds the production branch again without a push.
Limits#
- A repository is held to the same limits as an uploaded source: 20,000 files and 512 MB, without
node_modules,.gitand.env.local/.env.*.localfiles. Committed.envand.env.<mode>files are kept, as Vite and Next.js expect. - Git submodules and Git LFS files are not fetched.
- Each push uses build minutes like any other build.