--- # 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.js' - 'tsconfig.json' - '.github/workflows/cypress.yml' push: branches: [develop] paths: - '{src,server,config,cypress}/**' - 'cypress.config.ts' - 'package.json' - 'pnpm-lock.yaml' - 'next.config.js' - 'tsconfig.json' - '.github/workflows/cypress.yml' permissions: contents: read concurrency: group: cypress-${{ github.ref }} cancel-in-progress: true jobs: cypress-run: name: Cypress Run runs-on: ubuntu-24.04 steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: persist-credentials: false - name: Set up Node.js uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 with: node-version-file: package.json package-manager-cache: false - name: Pnpm Setup uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 - name: Install dependencies run: pnpm install --frozen-lockfile - name: Setup cypress cache uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 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@b8ba51a856ba5f4c15cf39007636d4ab04f23e3c # v6.10.2 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}}