-
Notifications
You must be signed in to change notification settings - Fork 0
147 lines (130 loc) · 4.3 KB
/
pull-request.yml
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
name: Pull request
on:
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
container:
image: cypress/browsers:node-18.16.0-chrome-114.0.5735.133-1-ff-114.0.2-edge-114.0.1823.51-1
options: --user 1001
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Cache node_modules
uses: actions/setup-node@v4
with:
node-version: 18
cache: 'npm'
- name: Cypress install
uses: cypress-io/github-action@v6
with:
runTests: false
- name: Write Firebase config
run: |
echo ${{ secrets.FIREBASE_CONFIG }} | base64 -d > firebase.config.json
- run: npx cypress info
- run: node --version
- run: node -p 'os.cpus()'
- run: npm run build
- run: npm run lint
- run: npm run test:ci
- name: Save build folder
uses: actions/upload-artifact@v4
with:
name: dist
if-no-files-found: error
path: dist
e2e-chrome-tests:
environment: manual
timeout-minutes: 15
runs-on: ubuntu-latest
container:
image: cypress/browsers:node-18.16.0-chrome-114.0.5735.133-1-ff-114.0.2-edge-114.0.1823.51-1
options: --user 1001
needs: build
strategy:
fail-fast: false # https://github.com/cypress-io/github-action/issues/48
matrix:
containers: [ 1, 2 ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download the build folders
uses: actions/download-artifact@v4
with:
name: dist
path: dist
- name: Node info
run: node -v
- name: __e Dir
run: ls /__e
- name: "E2E Tests - Chrome"
uses: cypress-io/github-action@v6
with:
build: npx cypress info
start: npm run preview
wait-on: "http://localhost:8080"
wait-on-timeout: 120
browser: chrome
record: true
parallel: true
group: "E2E - Chrome"
spec: cypress/e2e/*
config-file: cypress.config.ts
config: "{\"e2e\":{\"baseUrl\":\"http://localhost:8080\"}}"
env:
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }}
COMMIT_INFO_SHA: ${{ github.event.pull_request.head.sha }}
TEST_USER_USERNAME: ${{ secrets.TEST_USER_USERNAME_1 }}
TEST_USER_PASSWORD: ${{ secrets.TEST_USER_PASSWORD_1 }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
e2e-chrome-mobile-tests:
environment: manual
timeout-minutes: 15
runs-on: ubuntu-latest
container:
image: cypress/browsers:node-18.16.0-chrome-114.0.5735.133-1-ff-114.0.2-edge-114.0.1823.51-1
options: --user 1001
needs: build
strategy:
fail-fast: false # https://github.com/cypress-io/github-action/issues/48
matrix:
containers: [ 1, 2 ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download the build folders
uses: actions/download-artifact@v4
with:
name: dist
path: dist
- name: Node info
run: node -v
- name: __e Dir
run: ls /__e
- name: "E2E Tests - Chrome - Mobile"
uses: cypress-io/github-action@v6
with:
build: npx cypress info
start: npm run preview
wait-on: "http://localhost:8080"
wait-on-timeout: 120
browser: chrome
record: true
parallel: true
group: "E2E - Chrome - Mobile"
spec: cypress/e2e/*
config-file: cypress.config.ts
config: "{\"e2e\":{\"baseUrl\":\"http://localhost:8080\",\"viewportWidth\":400,\"viewportHeight\":660}}"
env:
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }}
COMMIT_INFO_SHA: ${{ github.event.pull_request.head.sha }}
TEST_USER_USERNAME: ${{ secrets.TEST_USER_USERNAME_2 }}
TEST_USER_PASSWORD: ${{ secrets.TEST_USER_PASSWORD_2 }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}