--- # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json name: Cypress Tests on: pull_request: branches: ['*'] paths: - '{src,server,config,cypress}/**' - 'cypress.config.ts' - 'package.json' - 'pnpm-lock.yaml' - 'next.config.ts' - 'tsconfig.json' - '.github/workflows/cypress.yml' push: branches: [develop] paths: - '{src,server,config,cypress}/**' - 'cypress.config.ts' - 'package.json' - 'pnpm-lock.yaml' - 'next.config.ts' - 'tsconfig.json' - '.github/workflows/cypress.yml' permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: cypress-run: name: Cypress Run runs-on: ubuntu-24.04 steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: Set up Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version-file: package.json package-manager-cache: false - name: Pnpm Setup uses: pnpm/action-setup@8912a9102ac27614460f54aedde9e1e7f9aec20d # v6.0.5 - name: Install dependencies run: pnpm install --frozen-lockfile - name: Setup cypress cache uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: ~/.cache/Cypress key: ${{ runner.os }}-cypress-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-cypress-store- - name: Install Cypress binary env: CYPRESS_CACHE_FOLDER: ~/.cache/Cypress run: pnpm exec cypress install - name: Cypress run uses: cypress-io/github-action@dace029018fcdf86e0df89a31bc3cfa5b32570d8 # v7.3.0 with: install: false build: pnpm cypress:build start: pnpm start wait-on: 'http://localhost:5055' record: true env: CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} WITH_MIGRATIONS: true # Fix test titles in cypress dashboard COMMIT_INFO_MESSAGE: ${{github.event.pull_request.title}} COMMIT_INFO_SHA: ${{github.event.pull_request.head.sha}}