Merge pull request #4780 from mermaid-js/jgreywolf-patch-1 #140
This file contains 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: E2E | |
on: | |
push: | |
pull_request: | |
merge_group: | |
permissions: | |
contents: read | |
jobs: | |
e2e: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: [18.x] | |
containers: [1, 2, 3, 4] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
# uses version from "packageManager" field in package.json | |
- name: Setup Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
# Install NPM dependencies, cache them correctly | |
# and run all Cypress tests | |
- name: Cypress run | |
uses: cypress-io/github-action@v4 | |
id: cypress | |
# If CYPRESS_RECORD_KEY is set, run in parallel on all containers | |
# Otherwise (e.g. if running from fork), we run on a single container only | |
if: ${{ ( env.CYPRESS_RECORD_KEY != '' ) || ( matrix.containers == 1 ) }} | |
with: | |
start: pnpm run dev:coverage | |
wait-on: 'http://localhost:9000' | |
# Disable recording if we don't have an API key | |
# e.g. if this action was run from a fork | |
record: ${{ secrets.CYPRESS_RECORD_KEY != '' }} | |
parallel: ${{ secrets.CYPRESS_RECORD_KEY != '' }} | |
env: | |
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | |
VITEST_COVERAGE: true | |
CYPRESS_COMMIT: ${{ github.sha }} | |
- name: Upload Coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
# Run step only pushes to develop and pull_requests | |
if: ${{ steps.cypress.conclusion == 'success' && (github.event_name == 'pull_request' || github.ref == 'refs/heads/develop')}} | |
with: | |
files: coverage/cypress/lcov.info | |
flags: e2e | |
name: mermaid-codecov | |
fail_ci_if_error: false | |
verbose: true | |
token: 6845cc80-77ee-4e17-85a1-026cd95e0766 | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v3 | |
if: ${{ failure() && steps.cypress.conclusion == 'failure' }} | |
with: | |
name: error-snapshots | |
path: cypress/snapshots/**/__diff_output__/* |