mirror of
https://github.com/TheRealOwenRees/echecsfrance.git
synced 2026-07-23 04:26:57 +00:00
53 lines
2.6 KiB
YAML
53 lines
2.6 KiB
YAML
name: Cypress Tests
|
|
on: [push]
|
|
jobs:
|
|
cypress-run:
|
|
runs-on: ubuntu-latest
|
|
# Runs tests in parallel with matrix strategy https://docs.cypress.io/guides/guides/parallelization
|
|
# https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
|
|
# Also see warning here https://github.com/cypress-io/github-action#parallel
|
|
strategy:
|
|
fail-fast: false # https://github.com/cypress-io/github-action/issues/48
|
|
matrix:
|
|
containers: [1, 2] # Uses 2 parallel instances
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Cache npm and NextJs build
|
|
uses: actions/cache@v3
|
|
with:
|
|
# See here for caching with `yarn` https://github.com/actions/cache/blob/main/examples#node---yarn or you can leverage caching with actions/setup-node https://github.com/actions/setup-node
|
|
path: |
|
|
~/.npm
|
|
${{ github.workspace }}/.next/cache
|
|
# Generate a new cache whenever packages or source files change.
|
|
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
|
|
# If source files changed but packages didn't, rebuild from a prior cache.
|
|
restore-keys: |
|
|
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
|
|
|
|
- name: Cypress run
|
|
# Uses the official Cypress GitHub action https://github.com/cypress-io/github-action
|
|
uses: cypress-io/github-action@v4
|
|
with:
|
|
# Starts web server for E2E tests - replace with your own server invocation
|
|
# https://docs.cypress.io/guides/continuous-integration/introduction#Boot-your-server
|
|
browser: chrome
|
|
build: npm run build
|
|
start: npm start
|
|
wait-on: echo ${{ env.NEXT_PUBLIC_URL }}# Waits for above
|
|
# Records to Cypress Cloud
|
|
# https://docs.cypress.io/guides/cloud/projects#Set-up-a-project-to-record
|
|
record: true
|
|
parallel: true # Runs test in parallel using settings above
|
|
env:
|
|
# For recording and parallelization to work you must set your CYPRESS_RECORD_KEY
|
|
# in GitHub repo → Settings → Secrets → Actions
|
|
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
|
MONGODB_URI: ${{ secrets.MONGODB_URI }}
|
|
GMAIL_USER: ${{ secrets.GMAIL_USER }}
|
|
GMAIL_PASS: ${{ secrets.GMAIL_PASS }}
|
|
# Creating a token https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|