test: Resolve Cypress Flaky fixes #4931
Workflow file for this run
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: Pull Request | |
on: pull_request | |
jobs: | |
install: | |
runs-on: ubuntu-latest | |
outputs: | |
cypress-version: ${{ steps.cypress-version.outputs.version }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Workday/canvas-kit-actions/install@v1 | |
with: | |
node_version: 18.x | |
check: | |
runs-on: ubuntu-latest | |
needs: 'install' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Workday/canvas-kit-actions/install@v1 | |
with: | |
node_version: 18.x | |
# Keep steps separate for Github Actions annotation matching: https://github.com/actions/setup-node/blob/83c9f7a7df54d6b57455f7c57ac414f2ae5fb8de/src/setup-node.ts#L26-L33 | |
- name: Lint | |
run: yarn lint | |
- name: Dependency Check | |
run: yarn depcheck | |
- name: Type Check | |
run: yarn typecheck | |
- name: Unit tests | |
run: yarn test | |
build: | |
runs-on: ubuntu-latest | |
needs: 'install' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Workday/canvas-kit-actions/install@v1 | |
with: | |
node_version: 18.x | |
- name: Build Storybook | |
run: yarn build-storybook --quiet | |
- name: Cache Build | |
id: build-cache | |
uses: actions/cache@v3 | |
with: | |
path: docs | |
key: ${{ runner.os }}-build-${{ github.sha }} | |
visual-test: | |
runs-on: ubuntu-latest | |
needs: 'build' | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # Required to retrieve git history | |
- uses: Workday/canvas-kit-actions/install@v1 | |
with: | |
node_version: 18.x | |
- name: Restore Build | |
uses: actions/cache@v3 | |
with: | |
path: docs | |
key: ${{ runner.os }}-build-${{ github.sha }} | |
- uses: chromaui/action@main | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
appCode: dlpro96xybh | |
storybookBuildDir: docs | |
exitOnceUploaded: false | |
exitZeroOnChanges: true | |
integration-test: | |
runs-on: ubuntu-latest | |
needs: ['install', 'build'] | |
strategy: | |
fail-fast: false | |
matrix: | |
containers: [1, 2, 3, 4, 5] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 # Required to retrieve git history | |
- uses: Workday/canvas-kit-actions/install@v1 | |
with: | |
node_version: 18.x | |
- name: Restore Build | |
uses: actions/cache@v3 | |
with: | |
path: docs | |
key: ${{ runner.os }}-build-${{ github.sha }} | |
- name: Integration tests | |
run: yarn cypress run --component --record --parallel | |
env: | |
# Github Actions doesn't support encryption on forks | |
# If these keys become compromised, we will rotate and disable these features | |
# on forked PRs until a suitable workaround is found | |
CYPRESS_RECORD_KEY: 3a9347b6-36ab-4a36-823d-709f4078b148 | |
CYPRESS_CACHE_FOLDER: .cache/cypress | |
verify: | |
runs-on: ubuntu-latest | |
if: always() | |
needs: ['check', 'integration-test', 'visual-test'] | |
steps: | |
- name: Failure Test | |
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') # Test the result of all dependencies | |
run: exit 1 | |
- name: Success | |
run: exit 0 |