Skip to content

ddev/ddev-ci-warpbuild-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

DDEV CI with WarpBuild Snapshots - Example

This repository demonstrates how to use WarpBuild snapshots to speed up DDEV in GitHub Actions CI pipelines.

See the accompanying blog post: Using WarpBuild to speed up DDEV in CI

How It Works

  1. determine-snapshot job hashes key files (workflow, yarn config, lockfile) to create a snapshot key.
  2. build-and-test job requests a WarpBuild runner with that snapshot key.
    • If a snapshot exists, the runner starts with DDEV already installed (fast path).
    • If no snapshot exists, DDEV is installed from scratch.
  3. DDEV starts and tests run.
  4. On first run (no snapshot), the runner state is saved as a new snapshot for future runs.

Setup

  1. Connect your GitHub repository to WarpBuild and enable Snapshots.
  2. Copy .github/workflows/test.yml to your project.
  3. Update the workflow to match your project:
    • Adjust the snapshot hash inputs (cat command in determine-snapshot) to include files that affect your CI environment.
    • Update the DDEV version in both the runs-on snapshot key and the Install ddev step.
    • Replace my-project in the snapshot key with your project name.
    • Update the cache paths to match your project's dependency locations.
    • Replace the test commands in the Run tests step with your own.

Skipping Snapshots

Include [warp-no-snapshot] in a commit message to run on a fresh WarpBuild runner without snapshot restore.

Files

  • .github/workflows/test.yml - The complete GitHub Actions workflow
  • test/playwright/.yarnrc.yml - Placeholder Yarn config (hashed for snapshot key)
  • test/playwright/yarn.lock - Placeholder lockfile (hashed for snapshot key)

Releases

No releases published

Packages

 
 
 

Contributors