Before its first run, Cypress starts its own binary to check that it works. On a slow or underpowered CI runner, that check takes longer than the default 30 seconds.
Published
Why this happens
The CI runner is short on CPU or memory, and the Electron smoke test is slow to start
Required Linux system libraries (Xvfb, libgtk, libnss3, etc.) are missing, so the binary hangs instead of starting
The Cypress binary cache was restored from a different OS or Cypress version and is broken
How to fix it
Raise the verify timeout with the `CYPRESS_VERIFY_TIMEOUT` environment variable (in milliseconds)
Run in the official `cypress/included` or `cypress/browsers` Docker image, which already has every system dependency
Key the binary cache (`~/.cache/Cypress`) on OS and Cypress version, and run `npx cypress verify` as its own CI step to see its full output