How to run Cypress tests on GitHub Actions. Here is the exact snippet you need for Cypress in Cypress, plus how it works, the common mistakes, and related references.

The code

config_file: .github/workflows/ci.yml
install_cmd: npm ci
run_cmd: npx cypress run

How it works

jobs.test.steps: checkout, setup, npm ci, run npx cypress run; upload-artifact for reports. Use this as part of your automated test flow. Wait for the element or state you are acting on to be ready rather than assuming it, and pair the call with an assertion so a failure is explicit rather than a silent pass. Small, focused snippets like this are easier to debug and reuse than long, tangled test steps.

When to use it

Reach for this when you need Cypress in Cypress. Keep your locators stable and your waits explicit, and confirm the snippet against your installed version — automation APIs shift between major releases, so the exact signature can change over time. When in doubt, check the official documentation for the current form.

Advertisement

Common mistakes

  • Running the step before the page or element is ready
  • Copying a snippet from a different major version of the tool
  • Skipping the assertion, so a failure passes as green
  • Hardcoding brittle locators that break on small UI changes

Run Webdriverio On Github Actions · Run Testcafe On Github Actions · Run Playwright On Github Actions

Frequently asked questions

How do I handle Cypress in Cypress?

Use the snippet shown above, and wait for the relevant state before acting so the step is reliable.

Why isn't my snippet working?

Most often it is a timing or version issue — make sure the element is ready and that the snippet matches your installed version of Cypress.