--- # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json name: Cypress Tests on: pull_request: branches: ['*'] paths-ignore: - '**/*.md' - 'docs/**' push: branches: [develop] paths-ignore: - '**/*.md' - 'docs/**' 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@v4 with: persist-credentials: false - name: Set up Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - name: Pnpm Setup uses: pnpm/action-setup@v4 - name: Setup cypress cache uses: actions/cache@v4 with: path: ~/.cache/Cypress key: ${{ runner.os }}-cypress-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-cypress-store- - name: Cypress run uses: cypress-io/github-action@v6 with: 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}} - name: Upload video files if: always() uses: actions/upload-artifact@v4 with: name: cypress-videos path: | cypress/videos cypress/screenshots