-
Notifications
You must be signed in to change notification settings - Fork 0
132 lines (121 loc) · 3.75 KB
/
test-e2e.yml
File metadata and controls
132 lines (121 loc) · 3.75 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
name: Test (End-To-End)
on:
pull_request:
branches: [main]
jobs:
install:
name: Install
runs-on: ubuntu-latest
container:
image: cypress/browsers:node16.14.0-chrome99-ff97
options: --user 1001
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Cypress install
uses: cypress-io/github-action@v4
with:
runTests: false
# report machine parameters
- run: npx cypress info
- run: node --version
- run: node -p 'os.cpus()'
- name: Build
run: npm run build
- name: Save build folder
uses: actions/upload-artifact@v3
with:
name: build
if-no-files-found: error
path: dist
chrome-tests:
name: Chrome tests
timeout-minutes: 15
runs-on: ubuntu-latest
container:
image: cypress/browsers:node16.14.0-chrome99-ff97
options: --user 1001
needs: install
strategy:
# when one test fails, DO NOT cancel the other
# containers, because this will kill Cypress processes
# leaving the Dashboard hanging ...
# https://github.com/cypress-io/github-action/issues/48
fail-fast: false
matrix:
# run copies of the current job in parallel
containers: [ 1, 2, 3 ]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download the build folders
uses: actions/download-artifact@v3
with:
name: build
path: dist
- name: Cypress info
run: npx cypress info
- name: Node info
run: node -v
- name: __e Dir
run: ls /__e
- name: "E2E Tests - Chrome"
uses: cypress-io/github-action@v4
with:
start: npm run preview
wait-on: "http://localhost:5050"
browser: chrome
record: true
parallel: true
group: "E2E - Chrome"
spec: cypress/e2e/*
config-file: cypress.config.ts
env:
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
# Recommended: pass the GitHub token lets this action correctly
# determine the unique run id necessary to re-run the checks
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DEBUG: "cypress:server:args"
firefox-tests:
name: Firefox tests
timeout-minutes: 15
runs-on: ubuntu-latest
container:
image: cypress/browsers:node16.14.0-chrome99-ff97
options: --user 1001
needs: install
strategy:
# when one test fails, DO NOT cancel the other
# containers, because this will kill Cypress processes
# leaving the Dashboard hanging ...
# https://github.com/cypress-io/github-action/issues/48
fail-fast: false
matrix:
# run copies of the current job in parallel
containers: [ 1, 2, 3 ]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download the build folders
uses: actions/download-artifact@v3
with:
name: build
path: dist
- name: "E2E Tests - Firefox"
uses: cypress-io/github-action@v4
with:
start: npm run preview
wait-on: "http://localhost:5050"
browser: firefox
record: true
parallel: true
group: "E2E - Firefox"
spec: cypress/e2e/*
config-file: cypress.config.ts
env:
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
# Recommended: pass the GitHub token lets this action correctly
# determine the unique run id necessary to re-run the checks
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}