Skip to content

Cypress

Cypress CI on GitHub Actions

The Cypress binary downloads every run and specs execute serially.

60s → 2s
Binary install
28m → 7m
E2E suite

The Cypress binary downloads every run and specs execute serially.

Why it happens

~/.cache/Cypress is not persisted and parallelisation requires explicit configuration.

What to change

  1. Cache ~/.cache/Cypress keyed on the Cypress version
  2. Split specs across a matrix and run them in parallel
  3. Disable video recording in CI unless you actually watch the videos
  4. Use cypress run --component and --e2e as separate jobs

Cypress on runnerhut

yaml
jobs:
e2e:
strategy:
matrix:
containers: [1, 2, 3, 4]
runs-on: runnerhut-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- uses: cypress-io/github-action@v6
with: { record: true, parallel: true }
A working starting point

The only runnerhut-specific line is `runs-on: runnerhut-4vcpu-ubuntu-2404`. Everything else is standard GitHub Actions — the same actions, the same secrets and the same permissions model you use today.

Your next build could be twice as fast, at half the price

Start free. Migrating away is the same one line, and we publish that diff too.