cypress-workshop-ci
cypress-workshop-ci copied to clipboard
A workshop that teaches you how to run Cypress on major CI providers
cypress-workshop-ci
A workshop that teaches you how to run Cypress on major CI providers
Warning: ⚠️ this is not an introduction to Cypress testing workshop, only how to successfully run Cypress on CI. If you need to refresh your Cypress skills, check out the testing-workshop-cypress
Requirements
You will need:
gitto clone the repository- Node v12+ to install and run locally
- 👉 fork the cypress-io/cypress-workshop-ci-example now 👈
Create free accounts
- GitHub https://github.com/
- CircleCI https://circleci.com/
- Netlify https://www.netlify.com/
- Cypress Dashboard https://dashboard.cypress.io/
Slides 🖥
See the presentation at https://cypress-workshop-ci.netlify.app/. Every section of the presentation has a subfolder in the slides folder with a Markdown file. The Markdown is rendered into HTML using Vite and Reveal.js combination. You can open the presentation by clicking on "view slides" links in the table below.
Content 🗂
| topic | Markdown | view slides |
|---|---|---|
| Introduction | intro | intro slides |
| Generic CI | generic-ci | generic ci slides |
| GitHub Action | github-action | github action slides |
| Circle CI Orb | circleci | circleci slides |
| Netlify Build plugin | netlify-build | netlify build slides |
Self-paced workshop
This workshop should have all the content necessary to learn how to run Cypress on continuous integration service. Use the example application and follow the written steps above. I suggest starting with the introduction and then picking one of the topics matching your situation. If you get stuck, or something is unclear, do not hesitate to open a GitHub issue in this repository to improve this workshop.
Content index
- Introduction slides
- requirements
- example repo cypress-io/cypress-workshop-ci-example
- NPM scripts and commands
- Cypress binary and info
- Running Cypress on generic CI slides
- GitHub CI workflow
- caching dependencies
- waiting for the server to start
- storing test artifacts on CI
- recording tests on Cypress Dashboard
- Cypress GitHub Action slides
- installing and running Cypress using action
- building the application
- action versions
- run tests in parallel
- split workflow into jobs
- Cypress CircleCI Orb slides
- running the tests
- recording the test artifacts
- saving the workspace
- separate the install job from the test job
- testing in parallel
- Cypress Netlify plug slides
- deploy project on Netlify
- run E2E tests after deploy
- recording test results
- run E2E tests before build
- set up Cypress GitHub Integration
- set up GitHub status checks
Example application
We will test the example application from the repo cypress-io/cypress-workshop-ci-example. You should fork that repo under your GitHub account and use with each CI provider.