Quickstart for Depot CI
Migrate your GitHub Actions workflows to run entirely on Depot compute with built-in job visibility, debuggability, and control.
During migration and testing, we recommend keeping your GitHub Actions workflows running alongside your Depot CI workflows.
Prerequisites
You'll need a Depot account.
Install the Depot CLI
Install the Depot CLI on your machine to work with Depot CI from your terminal or coding agent.
-
macOS
brew install depot/tap/depot -
Linux
curl -L https://depot.dev/install-cli.sh | sh -
All platforms
Download the binary file for your platform from the Depot CLI releases page in GitHub.
Connect to GitHub
Depot CI uses the Depot Code Access app to read your repository and register workflow triggers. If you use Claude Code remote agent on Depot, you already have this installed.
- Go to Organization Settings in your Depot dashboard.
- In the GitHub Code Access section, click Connect to GitHub.
- Install the Depot Code Access app on the personal account or organization that owns your GitHub repository.
Migrate your workflows
The depot ci migrate command automates migrating your GitHub Actions workflows to Depot CI.
From the root of your repository, run:
depot ci migrateThe command runs a preflight check, then copies and transforms your workflows:
- Validates authentication and checks that the Depot Code Access app is installed with the correct permissions.
- Discovers all workflow files in
.github/workflows/. - Prompts you to select which workflows to migrate.
- Copies selected workflows and all other non-symlink files under
.github/workflows/to.depot/workflows/, and copies local actions to.depot/actions/. - Applies compatibility fixes and adds inline comments for any changes.
Other files can include helper scripts, configuration files, and non-workflow YAML files. The command preserves their relative paths and permissions, but skips symlinks.
After migration, the command reports any secrets and variables referenced by the migrated workflows. To import them, see Import secrets and variables below.
For a full description of flags and subcommands, see depot ci migrate in the Depot CLI reference.
Sandbox labels and sizes
The depot ci migrate command changes standard ubuntu-24.x or ubuntu-latest runner labels in your workflow to the equivalent Depot CI sandbox label and notes the change in the migrated file. Nonstandard labels become depot-ubuntu-latest and expressions are preserved as-is. For Depot CI sandbox sizes and labels, see Depot CI sandboxes.
Migration keeps ubuntu-20.04 unchanged because Depot CI has no equivalent runner. Choose a supported Depot runner label before running the migrated workflow. The migration summary reports runner warnings and suggested changes for unavailable or custom labels.
Import secrets and variables
If your workflows reference GitHub secrets or variables, run depot ci migrate secrets-and-vars to import them into Depot CI:
depot ci migrate secrets-and-varsBy default, the command detects names in .github/workflows/ and .depot/workflows/. It skips secrets named GITHUB_TOKEN or DEPOT_TOKEN, and variables named DEPOT_TOKEN.
The command creates a local temporary branch with a one-shot workflow and prints a git push command. Push the branch within five minutes. The workflow imports the values into Depot CI and removes the temporary remote branch.
depot ci migrate secrets-and-vars is the fastest path if you have many secrets. You can also add secrets and variables manually using the CLI or dashboard. See Manage secrets and variables for details.
If your workflows authenticate with cloud providers using OIDC, see OIDC with Depot CI.
Merge the migrated workflows
Push and merge the changes so that automatic workflow triggers (like push and pull_request) are registered with Depot CI.
Important: After you merge, the workflows run in both GitHub and Depot CI. Any workflows that deploy, update artifacts, or cause any changes in external systems will execute twice.
-
Commit the new
.depot/directory and push. For example:git add .depot/ git commit -m "Add Depot CI workflows" git push -
Merge the changes into your default branch.
If your workflows include a push trigger on the default branch, merging starts your first run on Depot CI. Go to the Depot CI page in your Depot dashboard to see it.
Next steps
Check on your workflows
After merging, go to the Depot CI page in your Depot dashboard to confirm your workflows ran successfully. Compare the results against your GitHub Actions runs to make sure everything behaves as expected.
You can also check run status from the CLI:
depot ci run list
depot ci status <run-id>Run a workflow locally
Use depot ci run to test a workflow against your local working tree without pushing to GitHub first:
depot ci run --workflow .depot/workflows/ci.ymlIf you have uncommitted changes, they're included for jobs that check out the same repository, including same-repository reusable workflows.
Pass --job to run a subset of jobs:
depot ci run --workflow .depot/workflows/ci.yml --job build --job test