playwright lab #14121
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: PR Robot | |
on: [pull_request] | |
jobs: | |
report-size: | |
name: 'Report bundle size' | |
runs-on: ubuntu-latest | |
env: | |
GITHUB_CREDENTIALS: ${{ secrets.GITHUB_TOKEN }} | |
NODE_OPTIONS: --max_old_space_size=4096 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
- run: npm ci | |
- run: npm run pr:report | |
build: | |
name: 'Build' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/build | |
- uses: ./.github/actions/commit-generated-files | |
lint-check: | |
name: 'Check with linter' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- run: npm run lint:check | |
unit-test: | |
name: 'Run unit tests' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- run: npm test | |
e2e-atomic-test: | |
name: 'Run e2e tests on Atomic' | |
needs: build | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
containers: | |
[ | |
1, | |
2, | |
3, | |
4, | |
5, | |
6, | |
7, | |
8, | |
9, | |
10, | |
11, | |
12, | |
13, | |
14, | |
15, | |
16, | |
17, | |
18, | |
19, | |
20, | |
21, | |
22, | |
23, | |
24, | |
25, | |
26, | |
27, | |
28, | |
29, | |
30, | |
31, | |
32, | |
33, | |
34, | |
35, | |
36, | |
37, | |
38, | |
39, | |
40, | |
41, | |
42, | |
43, | |
44, | |
45, | |
46, | |
47, | |
48, | |
49, | |
50, | |
51, | |
52, | |
53, | |
54, | |
55, | |
56, | |
57, | |
58, | |
59, | |
60 | |
] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-atomic | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
SPLIT: ${{ strategy.job-total }} | |
SPLIT_INDEX: ${{ strategy.job-index }} | |
e2e-atomic-screenshots: | |
name: 'Run e2e screenshots tests on Atomic' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-atomic-screenshots | |
e2e-atomic-react-test: | |
name: 'Run e2e tests on Atomic React' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-atomic-react | |
e2e-atomic-react-nextjs-test: | |
name: 'Run e2e tests on Atomic React NextJS' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-atomic-next | |
e2e-iife-test: | |
name: 'Run e2e tests for IIFE' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-iife | |
e2e-atomic-angular-test: | |
name: 'Run e2e tests on Atomic Angular' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-atomic-angular | |
e2e-atomic-vuejs-test: | |
name: 'Run e2e tests on Vue.js sample' | |
# TODO KIT-2624 enable back. | |
if: false | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-vuejs | |
e2e-atomic-stencil-test: | |
name: 'Run e2e tests on Stencil.js sample' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-stencil | |
e2e-atomic-hosted-page-test: | |
name: 'Runs Cypress tests for Atomic Hosted Page' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-atomic-hosted-page | |
e2e-atomic-insight-panel-test: | |
name: 'Run e2e tests on Atomic insight panel' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-atomic-insight-panel | |
e2e-headless-ssr-test: | |
name: 'Run e2e tests on Headless SSR sample' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-headless-ssr | |
e2e-quantic-setup: | |
name: 'Setup e2e tests on Quantic' | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-quantic-setup | |
with: | |
clientid: ${{ secrets.SFDX_AUTH_CLIENT_ID }} | |
jwtkey: ${{ secrets.SFDX_AUTH_JWT_KEY }} | |
e2e-quantic-test: | |
name: 'Run e2e tests on Quantic' | |
needs: e2e-quantic-setup | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
spec: | |
[ | |
'cypress/e2e/default-1/**/*', | |
'cypress/e2e/default-2/**/*', | |
'cypress/e2e/facets-1/**/*', | |
'cypress/e2e/facets-2/**/*', | |
] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- uses: ./.github/actions/e2e-quantic | |
with: | |
spec: ${{ matrix.spec }} | |
e2e-quantic-cleanup: | |
if: cancelled() || failure() || success() | |
needs: e2e-quantic-test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup | |
- run: npx --no-install ts-node packages/quantic/scripts/build/delete-org.ts | |
shell: bash | |
required-jobs: | |
if: success() | |
needs: | |
- 'build' | |
- 'lint-check' | |
- 'unit-test' | |
- 'e2e-atomic-test' | |
- 'e2e-quantic-test' | |
runs-on: ubuntu-latest | |
steps: | |
- run: echo 'All required jobs have passed' | |
is-valid: | |
if: cancelled() || failure() || success() | |
name: 'Confirm build is valid' | |
needs: | |
- 'required-jobs' | |
runs-on: ubuntu-latest | |
steps: | |
- run: | | |
success="${{ needs.required-jobs.result == 'success' }}" | |
if [[ $success == "true" ]]; then | |
echo "Build is valid" | |
exit 0 | |
else | |
echo "Build is invalid" | |
exit 1 | |
fi |