-
Notifications
You must be signed in to change notification settings - Fork 95
145 lines (136 loc) · 4.76 KB
/
openvidu-call-e2e-test.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
name: openvidu-call E2E
on:
push:
# paths:
# - 'openvidu-components-angular/**'
# - 'openvidu-browser/**'
# pull_request:
# branches:
# - master
repository_dispatch:
types: [openvidu-components-angular]
workflow_dispatch:
jobs:
prepare_openvidu_angular:
name: Prepare openvidu-angular
runs-on: ubuntu-latest
steps:
- env:
COMMIT_MESSAGE: ${{ github.event.client_payload.commit-message }}
COMMIT_REF: ${{ github.event.client_payload.commit-ref }}
run: echo Commit openvidu-components-angular
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Build openvidu-browser
env:
BRANCH_NAME: ${{ github.event.client_payload.branch-name || 'master' }}
run: |
git clone -b ${BRANCH_NAME} --depth 1 https://github.com/OpenVidu/openvidu.git && \
cd openvidu/openvidu-browser && \
npm install && \
npm run build && \
npm pack && \
cp openvidu-browser-*.tgz ../../ && \
mv openvidu-browser-*.tgz ../openvidu-components-angular
- name: Build openvidu-node-client
run: |
ls -al && \
cd openvidu/openvidu-node-client && \
npm install && \
npm run build && \
npm pack && \
mv openvidu-node-client-*.tgz ../../
- name: Build openvidu-angular
run: |
cd openvidu/openvidu-components-angular && \
npm install ../../openvidu-browser-*.tgz && \
# npm install && \
npm run lib:build && \
mv dist/openvidu-angular/openvidu-angular-*.tgz ../../
cd ../../ && \
rm -rf openvidu && \
ls -al
# tar -cvf artifacts.tar .
- uses: actions/upload-artifact@v4
with:
name: artifacts
path: ${{ github.workspace }}/**.tgz
if-no-files-found: error
e2e_test_with_authentication:
needs: prepare_openvidu_angular
name: Authentication E2E tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- uses: actions/download-artifact@v4
with:
name: artifacts
# - name: Run Selenium Chromedriver
# run: docker run -d --shm-size="4g" --network host selenium/standalone-chrome:106.0
- name: Run Browserless Chrome
run: docker run -d -p 3000:3000 --network host browserless/chrome:1.53-chrome-stable
- name: Run openvidu-server-kms
run: |
docker run -p 4443:4443 --rm -d \
-e OPENVIDU_SECRET=MY_SECRET \
openvidu/openvidu-dev:latest
- name: Install openvidu-angular and dependencies
run: |
ls -al && \
npm install openvidu-angular-*.tgz --prefix openvidu-call-front && \
npm install openvidu-browser*.tgz --prefix openvidu-call-front && \
npm install openvidu-node-client-*.tgz --prefix openvidu-call-back
- name: Build openvidu-call
run: |
npm run build --prefix openvidu-call-back && \
npm run prod:build --prefix openvidu-call-front
- name: Serve openvidu-call
env:
LAUNCH_MODE: CI
CALL_OPENVIDU_CERTTYPE: selfsigned
run: node openvidu-call-back/dist/app.js &
- name: Run openvidu-call AUTH e2e
run: npm run e2e:auth-ci --prefix openvidu-call-front
e2e_test_without_authentication:
needs: prepare_openvidu_angular
name: No Authentication E2E tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- uses: actions/download-artifact@v4
with:
name: artifacts
# - name: Run Selenium Chromedriver
# run: docker run -d --shm-size="4g" --network host selenium/standalone-chrome:106.0
- name: Run Browserless Chrome
run: docker run -d -p 3000:3000 --network host browserless/chrome:1.53-chrome-stable
- name: Run openvidu-server-kms
run: |
docker run -p 4443:4443 --rm -d \
-e OPENVIDU_SECRET=MY_SECRET \
openvidu/openvidu-dev:latest
- name: Install openvidu-angular and dependencies
run: |
ls -al && \
npm install openvidu-angular-*.tgz --prefix openvidu-call-front && \
npm install openvidu-browser*.tgz --prefix openvidu-call-front && \
npm install openvidu-node-client*.tgz --prefix openvidu-call-back
- name: Build openvidu-call
run: |
npm run build --prefix openvidu-call-back && \
npm run prod:build --prefix openvidu-call-front
- name: Serve openvidu-call
env:
LAUNCH_MODE: CI
CALL_PRIVATE_ACCESS: DISABLED
CALL_OPENVIDU_CERTTYPE: selfsigned
run: node openvidu-call-back/dist/app.js &
- name: Run openvidu-call BASIC e2e
run: npm run e2e:basic-ci --prefix openvidu-call-front