diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml new file mode 100644 index 0000000..af95bd7 --- /dev/null +++ b/.github/workflows/cypress.yml @@ -0,0 +1,33 @@ +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@v4 + - name: Cypress run + # Uses the official Cypress GitHub action https://github.com/cypress-io/github-action + uses: cypress-io/github-action@v6 + with: + # Starts web server for E2E tests - replace with your own server invocation + # https://docs.cypress.io/guides/continuous-integration/introduction#Boot-your-server + start: npm start + wait-on: 'http://localhost:3000' # 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 }} + # 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 }} diff --git a/.github/workflows/e2e-tests.yaml b/.github/workflows/e2e-tests.yaml index bb2a0bd..841875c 100644 --- a/.github/workflows/e2e-tests.yaml +++ b/.github/workflows/e2e-tests.yaml @@ -10,6 +10,17 @@ on: - cron: '0 2 * * FRI' jobs: + install: + runs-on: ubuntu-latest + steps: + - name: Checkout 🛎 + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + cypress-run: runs-on: ubuntu-latest needs: install