Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions content/ci/how-to-guides/custom-images.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,15 @@ ogTitle: How to build and use custom images in Depot CI
description: Learn how to snapshot a Depot CI sandbox that includes your tools and dependencies and then reuse it as a custom image for your jobs.
---

import {NoteCallout} from '~/components/blog/NoteCallout'

You can build a custom image in Depot CI using a job that runs only your setup steps on the Depot base image. After your setup steps complete, the snapshot action captures the state of the sandbox environment and pushes it to the Depot registry as a reusable image. Any job can then use that snapshot as its starting image, skipping the setup steps entirely.

<NoteCallout fullWidth>
The snapshot action can only be used in workflows running on Depot CI. It is not compatible with GitHub Actions or
other CI providers.
</NoteCallout>

## Snapshot a sandbox to build a custom image

Create a job that runs on a standard Depot sandbox and installs the tools and dependencies you want to bake in. This is a separate workflow that only creates your custom image and pushes it to the Depot Registry. You'll need to run this workflow initially to create the image and then only when dependencies change.
Expand Down
10 changes: 10 additions & 0 deletions content/ci/how-to-guides/manage-secrets-and-variables.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,16 @@ You can't view secret values in the dashboard after you create them. Variable va

Names must be non-empty. Repository-scoped names can't contain a forward slash (`/`).

### Import secrets and variables from GitHub

If you're migrating from GitHub Actions, you can import your existing GitHub secrets and variables into Depot CI with a single command:

```bash
depot ci migrate secrets-and-vars
```

This creates a one-shot GitHub Actions workflow that reads secrets and variables from your GitHub repository and imports them into Depot CI. See [`depot ci migrate secrets-and-vars`](/docs/cli/reference/depot-ci#depot-ci-migrate-secrets-and-vars) in the CLI reference for details.

You can also manage secrets and variables with the Depot CLI. See the [examples](#manage-secrets-and-variables-with-the-cli), or the [full CLI reference](/docs/cli/reference/depot-ci) for all flags and options.

## Add secrets to Depot CI using the dashboard
Expand Down
28 changes: 15 additions & 13 deletions content/ci/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Depot CI is a programmable CI system for engineers and agents. Workflows in Depo

Switching to Depot CI starts with one command: `depot ci migrate`.

The interactive wizard discovers your GitHub Actions workflows, analyzes them for compatibility, copies the workflows and any local actions to a `.depot/` directory, and prompts you to set values for secrets or variables they reference.
The interactive wizard helps you install our GitHub App, discovers your GitHub Actions workflows, analyzes them for compatibility, and copies selected workflows and any local actions to a `.depot/` directory. Secrets and variables can then be automatically imported from GitHub in a separate step with `depot ci migrate secrets-and-vars`.

Your original `.github/` workflows continue running on GitHub in parallel until you're ready to switch over to Depot CI completely. For a step-by-step walkthrough, see the [quickstart](/docs/ci/quickstart).

Expand Down Expand Up @@ -137,11 +137,11 @@ For the full compatibility matrix, see [Depot CI compatibility with GitHub Actio

We track and bill Depot CI sandbox usage by the second, with no one-minute minimum per run. We calculate total seconds used at the end of the billing period.

| | Developer plan | Startup plan | Business plan |
| -------------------- | ------------------------------------------ | ------------------------------------------- | ------------- |
| **Plan cost** | $20/month | $200/month | Custom |
| **Depot CI minutes** | 2,000 min/month<br/>+ $0.0001/second after | 20,000 min/month<br/>+ $0.0001/second after | Custom |
| **Cache** | 25 GB included<br/>+ $0.20/GB/month after | 250 GB included<br/>+ $0.20/GB/month after | Custom |
| | Developer plan | Startup plan | Business plan |
| -------------------- | --------------------------------------------------- | ---------------------------------------------------- | ------------- |
| **Plan cost** | $20/month | $200/month | Custom |
| **Depot CI minutes** | 2,000 included min/month<br/>+ $0.0001/second after | 20,000 included min/month<br/>+ $0.0001/second after | Custom |
| **Cache** | 25 GB included<br/>+ $0.20/GB/month after | 250 GB included<br/>+ $0.20/GB/month after | Custom |

<DocsCTA buttonId="ci-docs-cta">
<a href="/sign-up" className="text-radix-grass12">
Expand All @@ -151,17 +151,19 @@ We track and bill Depot CI sandbox usage by the second, with no one-minute minim

Plans also include [container build](/docs/container-builds/overview) minutes and [GitHub Actions runner](/docs/github-actions/overview) minutes. See [Pricing](/pricing) for more about plan features and costs.

Included monthly Depot CI minutes are not a hard cap. Additional usage is billed automatically.

### Depot CI sandbox types

Larger sandboxes consume your included Depot CI minutes faster and cost more per second of wall time.

| Label | CPUs | Memory | Per-second price |
| :---------------------- | :--- | :----- | :--------------- |
| `depot-ubuntu-24.04` | 2 | 8 GB | $0.0001 |
| `depot-ubuntu-24.04-4` | 4 | 16 GB | $0.0002 |
| `depot-ubuntu-24.04-8` | 8 | 32 GB | $0.0004 |
| `depot-ubuntu-24.04-16` | 16 | 64 GB | $0.0008 |
| `depot-ubuntu-24.04-32` | 32 | 128 GB | $0.0016 |
| Label | Sandbox size | CPUs | Memory | Per-second price |
| :---------------------- | :----------- | :--- | :----- | :--------------- |
| `depot-ubuntu-24.04` | `2x8` | 2 | 8 GB | $0.0001 |
| `depot-ubuntu-24.04-4` | `4x16` | 4 | 16 GB | $0.0002 |
| `depot-ubuntu-24.04-8` | `8x32` | 8 | 32 GB | $0.0004 |
| `depot-ubuntu-24.04-16` | `16x64` | 16 | 64 GB | $0.0008 |
| `depot-ubuntu-24.04-32` | `32x128` | 32 | 128 GB | $0.0016 |

## FAQ

Expand Down
25 changes: 19 additions & 6 deletions content/ci/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -52,15 +52,28 @@ From the root of your repository, run:
depot ci migrate
```

The wizard does the following:
The command runs a preflight check, then copies and transforms your workflows:

1. Discovers all workflow files in `.github/workflows/`.
2. Analyzes each workflow for compatibility with Depot CI and shows a summary of any issues.
1. Validates authentication and checks that the [Depot Code Access app](#connect-to-github) is installed with the correct permissions.
2. Discovers all workflow files in `.github/workflows/`.
3. Prompts you to select which workflows to migrate.
4. Creates a `.depot/` directory and copies selected workflows (and any local actions from `.github/actions/`) there.
5. Detects secrets and variables referenced in the selected workflows and prompts you to enter their values.
4. Copies selected workflows to `.depot/workflows/` and any local actions to `.depot/actions/`, applying compatibility fixes and adding inline comments for any changes.

For a full description of flags and non-interactive mode, see [`depot ci migrate`](/docs/cli/reference/depot-ci#depot-ci-migrate) in the Depot CLI reference.
After migration, the command reports any secrets and variables referenced by the migrated workflows. To import them, see [Import secrets and variables](#import-secrets-and-variables) below.

For a full description of flags and subcommands, see [`depot ci migrate`](/docs/cli/reference/depot-ci#depot-ci-migrate) in the Depot CLI reference.

## Import secrets and variables

If your workflows reference GitHub secrets or variables, use `depot ci migrate secrets-and-vars` to import them into Depot CI:

```bash
depot ci migrate secrets-and-vars
```

This 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](https://depot.dev/orgs/_/workflows/settings) in the dashboard. See [Manage secrets and variables](/docs/ci/how-to-guides/manage-secrets-and-variables) for details.

## Merge your workflows

Expand Down
113 changes: 83 additions & 30 deletions content/cli/reference/depot-ci.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,62 +14,115 @@ Other Depot product CLI references:

## `depot ci migrate`

Automates migrating GitHub Actions workflows to Depot CI. Launches an interactive wizard that discovers workflows in `.github/workflows/`, analyzes them for compatibility, copies selected workflows to `.depot/workflows/`, and prompts you to configure any referenced secrets and variables.
Migrates GitHub Actions workflows to Depot CI. The command runs two phases: it validates your environment with a preflight check, then copies and transforms your selected workflows into `.depot/workflows/`.

```bash
depot ci migrate
```

### What the command does
After migration, the command reports any secrets and variables referenced by the migrated workflows and directs you to [`depot ci migrate secrets-and-vars`](#depot-ci-migrate-secrets-and-vars) for importing them.

Each phase is also available as a standalone subcommand:

- [`depot ci migrate preflight`](#depot-ci-migrate-preflight) — validate authentication and GitHub app access
- [`depot ci migrate workflows`](#depot-ci-migrate-workflows) — copy and transform workflows
- [`depot ci migrate secrets-and-vars`](#depot-ci-migrate-secrets-and-vars) — import GitHub secrets and variables into Depot CI

### Flags

| Flag | Description |
| ----------------- | -------------------------------------------------------------------------------------- |
| `--yes` | Run in non-interactive mode, migrating all discovered workflows automatically |
| `--overwrite` | Overwrite an existing `.depot/` directory without prompting |
| `--org <id>` | Specify a Depot organization ID (required if you belong to more than one organization) |
| `--token <token>` | Depot API token |

---

### `depot ci migrate preflight`

Validates that you are authenticated, detects the GitHub repository from your git remote, and checks that the Depot Code Access GitHub App is installed with the correct permissions and repository access.

```bash
depot ci migrate preflight
```

If the app is not installed or needs updated permissions, the command prints a link to configure it.

#### Flags

| Flag | Description |
| ----------------- | -------------------------------------------------------------------------------------- |
| `--org <id>` | Specify a Depot organization ID (required if you belong to more than one organization) |
| `--token <token>` | Depot API token |

---

### `depot ci migrate workflows`

Copies workflows from `.github/workflows/` into `.depot/workflows/`, applying Depot CI compatibility transformations and inline comments documenting any changes.

```bash
depot ci migrate workflows
```

#### What the command does

1. Discovers all workflow files in `.github/workflows/`.
2. Analyzes each workflow for compatibility with Depot CI.
3. Prompts you to select which workflows to migrate.
4. Creates a `.depot/` directory and copies selected workflows (and any local actions from `.github/actions/`) there.
5. Detects secrets and variables referenced in the selected workflows and prompts you to enter their values.
4. Copies selected workflows to `.depot/workflows/` and any local actions from `.github/actions/` to `.depot/actions/`.
5. Applies compatibility fixes (for example, mapping `ubuntu-latest` to `depot-ubuntu-latest`).
6. Disables jobs that use unsupported features and adds inline comments explaining what changed.
7. Reports any secrets and variables detected in the migrated workflows.

### What gets copied
#### What gets copied

| Source | Destination |
| ---------------------------------- | --------------------------------- |
| `.github/workflows/<selected>.yml` | `.depot/workflows/<selected>.yml` |
| `.github/actions/` | `.depot/actions/` |

### Flags
#### Flags

| Flag | Description |
| --------------------- | --------------------------------------------------------------------------------------------------- |
| `--yes` | Run in non-interactive mode, migrating all discovered workflows automatically |
| `--secret KEY=VALUE` | Pre-supply a secret value; can be repeated for multiple secrets |
| `--var KEY=VALUE` | Pre-supply a variable value; can be repeated for multiple variables |
| `--repo <owner/repo>` | Scope secrets and variables to a specific repository; auto-detected from git remote if not provided |
| `--overwrite` | Overwrite an existing `.depot/` directory without prompting |
| `--org <id>` | Specify a Depot organization ID (required if you belong to more than one organization) |
| `--token <token>` | Depot API token |
| Flag | Description |
| ----------------- | -------------------------------------------------------------------------------------- |
| `--yes` | Run in non-interactive mode, migrating all discovered workflows automatically |
| `--overwrite` | Overwrite an existing `.depot/` directory without prompting |
| `--org <id>` | Specify a Depot organization ID (required if you belong to more than one organization) |
| `--token <token>` | Depot API token |

### Non-interactive mode
#### What gets transformed

Use `--yes` to run the migration without any prompts. Combine it with `--secret` and `--var` to supply values upfront:
The command applies three kinds of changes to migrated workflows, documented with inline comments:

- **`runs-on` labels** are remapped from GitHub runner labels (like `ubuntu-latest`) to their Depot equivalents.
- **Unsupported triggers** (like `release` or `schedule`) are removed from the `on:` block with a comment explaining why.
- **Jobs with unsupported features** are commented out entirely, with a `DISABLED` comment noting the reason.

Each migrated file includes a header comment listing the source workflow and a summary of all changes made. For the full compatibility matrix, see [Compatibility with GitHub Actions](/docs/ci/compatibility).

---

### `depot ci migrate secrets-and-vars`

Creates a one-shot GitHub Actions workflow that reads secrets and variables from your GitHub repository and imports them into Depot CI.

```bash
depot ci migrate --yes \
--secret NPM_TOKEN=npm_abc123 \
--secret DATABASE_URL=postgres://... \
--var SERVICE_NAME=api \
--org my-org-id
depot ci migrate secrets-and-vars
```

If a workflow references a secret or variable that you haven't supplied via flags, the migration completes with a warning. Add missing values later with `depot ci secrets add` or `depot ci vars add`.

### Compatibility analysis
The command pushes a temporary branch to your GitHub repository containing a workflow that runs on GitHub Actions. The workflow reads your existing GitHub secrets and variables and imports them into Depot CI using the Depot CLI.

Before copying any files, the wizard analyzes each workflow and shows a summary of issues:
In interactive mode, you can preview the generated workflow before it is created. After the workflow is triggered, the command prints a URL where you can monitor the import.

- **No issues**: The workflow is fully compatible and safe to migrate.
- **Warnings**: Features are partially supported. The workflow will run but behavior may differ from GitHub Actions.
- **Critical issues**: Features are unsupported. The workflow is unlikely to run correctly in Depot CI today.
#### Flags

For the full compatibility matrix, see [Compatibility with GitHub Actions](/docs/ci/compatibility).
| Flag | Description |
| ----------------- | -------------------------------------------------------------------------------------- |
| `--yes` | Skip preview and confirmation prompts |
| `--org <id>` | Specify a Depot organization ID (required if you belong to more than one organization) |
| `--token <token>` | Depot API token |

---

Expand Down
13 changes: 7 additions & 6 deletions content/container-builds/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -266,11 +266,11 @@ We use the same architecture for [Depot Managed](/docs/managed/overview) builder

Container builds are tracked by the second, with no one-minute minimum per build. We calculate total minutes used at the end of the billing period.

| | Developer plan | Startup plan | Business plan |
| ----------------- | ----------------------------------------- | ------------------------------------------ | ------------- |
| **Plan cost** | $20/month | $200/month | Custom |
| **Build minutes** | 500/month<br/>+ $0.04/minute after | 5,000/month<br/>+ $0.04/minute after | Custom |
| **Cache** | 25 GB included<br/>+ $0.20/GB/month after | 250 GB included<br/>+ $0.20/GB/month after | Custom |
| | Developer plan | Startup plan | Business plan |
| ----------------- | ------------------------------------------- | --------------------------------------------- | ------------- |
| **Plan cost** | $20/month | $200/month | Custom |
| **Build minutes** | 500 included/month<br/>+ $0.04/minute after | 5,000 included/month<br/>+ $0.04/minute after | Custom |
| **Cache** | 25 GB included<br/>+ $0.20/GB/month after | 250 GB included<br/>+ $0.20/GB/month after | Custom |

<DocsCTA buttonId="container-builds-docs-cta">
<a href="/sign-up" className="text-radix-grass12">
Expand Down Expand Up @@ -298,7 +298,8 @@ Startup and Business plan customers can configure larger builder instances. Larg

### Additional container build minutes

You can pay for additional container build minutes on a per-minute basis.
Included monthly build minutes are not a hard cap. You can pay for additional container build minutes on a per-minute
basis.

## FAQ

Expand Down
Loading
Loading