Bump the dev-deps group across 1 directory with 5 updates #70
Workflow file for this run
This file contains hidden or 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: Cypress E2E | |
| on: | |
| push: | |
| branches: [develop, dependabot/**, "*test*", "*cypress*"] | |
| jobs: | |
| # ── Wait for Vercel preview deployment before running tests ────────────────── | |
| # Vercel deploys on every push; we wait for it rather than building locally. | |
| wait-for-vercel: | |
| name: Wait for Vercel deployment | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| deployments: read | |
| statuses: read | |
| outputs: | |
| preview_url: ${{ steps.wait.outputs.url }} | |
| steps: | |
| - name: Wait for Vercel preview deployment to be ready | |
| uses: patrickedqvist/wait-for-vercel-preview@v1.3.3 | |
| id: wait | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| max_timeout: 1000 | |
| check_interval: 5 | |
| # ── Discover spec files dynamically ───────────────────────────────────────── | |
| # Outputs a JSON array of spec paths so the test matrix is always in sync | |
| # with the filesystem — no manual updates needed when specs are added. | |
| discover: | |
| name: Discover specs | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| outputs: | |
| specs: ${{ steps.find.outputs.specs }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - id: find | |
| run: | | |
| specs=$(find cypress/e2e -name "*.cy.ts" | sort | jq -R -s -c 'split("\n")[:-1]') | |
| echo "specs=$specs" >> $GITHUB_OUTPUT | |
| # ── One container per spec, run against the Vercel preview URL ─────────────── | |
| cypress: | |
| name: "Cypress (${{ matrix.spec }})" | |
| needs: [wait-for-vercel, discover] | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| checks: write | |
| deployments: read | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| spec: ${{ fromJson(needs.discover.outputs.specs) }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| cache: npm | |
| - name: Run Cypress tests | |
| uses: cypress-io/github-action@v7.1.5 | |
| with: | |
| browser: chrome | |
| config-file: cypress.config.ts | |
| headed: false | |
| spec: ${{ matrix.spec }} | |
| config: video=false | |
| env: | |
| CYPRESS_BASE_URL: ${{ needs.wait-for-vercel.outputs.preview_url }} | |
| NEXT_PUBLIC_GA_ID: ${{ secrets.NEXT_PUBLIC_GA_ID }} | |
| - uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: cypress-screenshots-${{ strategy.job-index }} | |
| path: cypress/screenshots | |
| if-no-files-found: ignore |