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.
You'll need a Depot account.
Install the Depot CLI on your machine to work with Depot CI from your terminal or coding agent.
macOS
brew install depot/tap/depotLinux
curl -L https://depot.dev/install-cli.sh | shAll platforms
Download the binary file for your platform from the Depot CLI releases page in GitHub.
Depot CI uses the Depot Code Access app to read your repository and register workflow triggers. If you've used Claude Code on Depot, you may already have this installed.
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:
.github/workflows/..depot/workflows/ and any local actions to .depot/actions/, applies compatibility fixes, and adds inline comments for any changes.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.
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.
If your workflows reference GitHub secrets or variables, use depot ci migrate secrets-and-vars to import them into Depot CI:
depot ci migrate secrets-and-varsThis command creates a one-shot GitHub Actions workflow that reads your existing GitHub secrets and variables and imports them into Depot CI. The command prints a URL where you can monitor the import.
You can also add secrets and variables manually with depot ci secrets add and depot ci vars add, or from the Depot CI settings in the dashboard. See Manage secrets and variables for details.
Push and merge the changes so that automatic workflow triggers (like push and pull_request) are registered with Depot CI.
Important: Workflows continue to run in both GitHub and Depot CI after merging. Any workflows that cause changes in external systems (for example, deploys or artifact updates) will execute twice.
Commit the new .depot/ directory and push. For example:
git add .depot/
git commit -m "Add Depot CI workflows"
git pushMerge 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.
Go to the Depot CI page in your Depot dashboard to view your workflow runs and job statuses.
You can also use the Depot CLI to list runs and check status:
# List recent runs
depot ci run list
# Check the status of a specific run
depot ci status <run-id>
# Fetch logs for a run, job, or attempt
depot ci logs <run-id | job-id | attempt-id>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 are automatically included in the run.
Pass --job to run a subset of jobs:
depot ci run --workflow .depot/workflows/ci.yml --job build --job test