Skip to content

Cypress CI

Cypress CI #4601

Workflow file for this run

name: Cypress CI
on:
push:
branches:
- 'main'
pull_request:
merge_group:
concurrency:
group: cypress-${{ github.ref }}
cancel-in-progress: false
jobs:
cypress:
name: Cypress
runs-on: ubuntu-latest
steps:
# Check-out repository under $GITHUB_WORKSPACE, so the job can access it
- name: Check out code
uses: actions/checkout@v4
- name: Yarn Install and Cache
uses: graasp/graasp-deploy/.github/actions/yarn-install-and-cache@v1
with:
cypress: true
# type check
- name: Type-check code
run: tsc --noEmit
- name: Build App
run: NODE_OPTIONS=--max-old-space-size=4096 yarn build:test
shell: bash
env:
VITE_PORT: 3112
VITE_VERSION: cypress-tests
VITE_GRAASP_DOMAIN: localhost
VITE_GRAASP_API_HOST: http://localhost:3636
VITE_GRAASP_AUTH_HOST: http://localhost:3001
VITE_GRAASP_BUILDER_HOST: http://localhost:3111
VITE_GRAASP_ANALYTICS_HOST: http://localhost:3113
VITE_SHOW_NOTIFICATIONS: false
# use the Cypress GitHub Action to run Cypress tests within the chrome browser
- name: Cypress run
uses: cypress-io/github-action@v6
with:
install: false
start: yarn preview:test
browser: chrome
quiet: true
config-file: cypress.config.ts
cache-key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
env:
VITE_PORT: 3112
VITE_VERSION: cypress-tests
VITE_GRAASP_DOMAIN: localhost
VITE_GRAASP_API_HOST: http://localhost:3636
VITE_GRAASP_AUTH_HOST: http://localhost:3001
VITE_GRAASP_BUILDER_HOST: http://localhost:3111
VITE_GRAASP_ANALYTICS_HOST: http://localhost:3113
VITE_SHOW_NOTIFICATIONS: false
# after the test run completes
# store any screenshots
# NOTE: screenshots will be generated only if E2E test failed
# thus we store screenshots only on failures
- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-screenshots
path: cypress/screenshots
- name: coverage report
run: npx nyc report --reporter=text-summary