v11.0.x #253
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: End-to-end tests | |
on: | |
pull_request: | |
paths: | |
- 'src/**' | |
- 'package-lock.json' | |
- '.browserslistrc' | |
- '.babelrc' | |
- 'webpack.config.*' | |
- 'public/test/**' | |
- 'cypress/**' | |
- '.github/workflows/e2e-tests.yml' | |
jobs: | |
test-e2e: | |
runs-on: ubuntu-latest | |
env: | |
CI: true | |
TERM: xterm-256color | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 1 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: 18.x | |
- name: Cache node modules | |
uses: actions/cache@v2 | |
with: | |
path: ~/.npm | |
key: ${{ runner.OS }}-build-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.OS }}-build-${{ env.cache-name }}- | |
${{ runner.OS }}-build- | |
${{ runner.OS }}- | |
- name: Get Cypress info | |
id: cypress-info | |
run: | | |
echo ::set-output name=version::$(jq -r .devDependencies.cypress ./package.json) | |
echo ::set-output name=cache::$(npx cypress cache path) | |
env: | |
CYPRESS_INSTALL_BINARY: 0 | |
- name: Cache Cypress cache | |
uses: actions/cache@v2 | |
with: | |
path: ${{ steps.cypress-info.outputs.cache }} | |
key: ${{ runner.OS }}-cypress-${{ steps.cypress-info.outputs.version }} | |
restore-keys: | | |
${{ runner.OS }}-cypress-${{ steps.cypress-info.outputs.version }} | |
- name: Install dependencies | |
run: npm ci | |
env: | |
HUSKY_SKIP_INSTALL: true | |
- name: run Cypress (with or without recording) | |
# if we have ran out of free Cypress recordings, run Cypress with recording switched off | |
run: npm exec -- run-p --race start cypress:ci || npm exec -- run-p --race start cypress:run | |
env: | |
NODE_ENV: production # prevent watching | |
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | |
DEBUG: commit-info,cypress:server:record | |
# https://docs.cypress.io/guides/guides/continuous-integration.html#Environment-variables | |
COMMIT_INFO_BRANCH: ${{ github.head_ref }} | |
COMMIT_INFO_AUTHOR: ${{ github.event.sender.login }} | |
COMMIT_INFO_SHA: ${{ github.event.after }} |