-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathopenvidu-loadtest-e2e-dockerized-test.yml
More file actions
83 lines (68 loc) · 2.9 KB
/
Copy pathopenvidu-loadtest-e2e-dockerized-test.yml
File metadata and controls
83 lines (68 loc) · 2.9 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
name: OpenVidu Load Test E2E Test
on:
workflow_dispatch:
schedule:
- cron: '0 2 * * *'
permissions:
contents: read
jobs:
e2e-test:
runs-on: ${{ vars.LABEL_WORKER_SELFHOSTED }}
steps:
- name: Clean workspace from previous run
run: |
shopt -s dotglob
sudo rm -rf "${{ github.workspace }}"/*
shell: bash
- name: Checkout repository
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup OpenVidu Local Deployment
uses: OpenVidu/actions/start-openvidu-local-deployment@040cbfd01320475801d7b12e33769e0d55a737a8 # v1.0.21
with:
ref-openvidu-local-deployment: main
- name: Export HTTPS URL from OpenVidu Local Deployment
id: openvidu_env
shell: bash
run: |
ENV_FILE="./openvidu-local-deployment/community/.env"
LAN_PRIVATE_IP="$(grep -E '^LAN_PRIVATE_IP=' "$ENV_FILE" | head -n1 | cut -d'=' -f2- | tr -d '\r')"
if [ -z "$LAN_PRIVATE_IP" ]; then
echo "LAN_PRIVATE_IP not found in $ENV_FILE" >&2
exit 1
fi
LAN_PRIVATE_IP_DASHED="${LAN_PRIVATE_IP//./-}"
echo "ovurl=https://$LAN_PRIVATE_IP_DASHED.openvidu-local.dev:7443" >> "$GITHUB_OUTPUT"
- name: Get Docker group GID
id: get-docker-gid
run: |
DOCKER_GID=$(stat -c '%g' /var/run/docker.sock)
echo "DOCKER_GID=$DOCKER_GID" >> "$GITHUB_OUTPUT"
echo "HOST_UID=$(id -u)" >> "$GITHUB_OUTPUT"
echo "HOST_GID=$(id -g)" >> "$GITHUB_OUTPUT"
- name: Ensure /tmp/openvidu-loadtest exists and is writable
run: |
sudo rm -rf /tmp/openvidu-loadtest
mkdir -m 777 -p /tmp/openvidu-loadtest
- name: Run Browser Emulator E2E Tests in Docker
env:
TEST_LIVEKIT_URL: ${{ steps.openvidu_env.outputs.ovurl }}
HOST_UID: ${{ steps.get-docker-gid.outputs.HOST_UID }}
HOST_GID: ${{ steps.get-docker-gid.outputs.HOST_GID }}
DOCKER_GID: ${{ steps.get-docker-gid.outputs.DOCKER_GID }}
run: |
cd browser-emulator
docker compose -f docker-compose.test.yml up --build --abort-on-container-exit --exit-code-from browser-emulator-tests
- name: Run All OpenVidu LoadTest E2E Tests
env:
HOST_UID: ${{ steps.get-docker-gid.outputs.HOST_UID }}
HOST_GID: ${{ steps.get-docker-gid.outputs.HOST_GID }}
DOCKER_GID: ${{ steps.get-docker-gid.outputs.DOCKER_GID }}
run: |
cd e2e-tests/scripts
./run-all-e2e-tests.sh ${{ steps.openvidu_env.outputs.ovurl }} devkey secret
- name: Clean up /tmp/openvidu-loadtest
if: always()
run: sudo rm -rf /tmp/openvidu-loadtest
- name: Clean up
if: always()
uses: OpenVidu/actions/cleanup@040cbfd01320475801d7b12e33769e0d55a737a8 # v1.0.21