openvidu/.github/workflows/wc-e2e-test.yaml
Carlos Santos a10d30284b ci: Adds API URL for meet service
Configures the Meet API URL as an environment variable for the E2E tests.
This allows tests to connect to the service during CI runs.
2025-07-15 11:31:56 +02:00

221 lines
7.2 KiB
YAML

name: WebComponent E2E Tests
on:
push:
pull_request:
workflow_dispatch:
jobs:
e2e-room-functionality-test:
name: E2E Room Functionality Tests
runs-on: ov-actions-runner
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22.13'
- name: Setup OpenVidu Local Deployment
uses: OpenVidu/actions/start-openvidu-local-deployment@main
# - name: Setup OpenVidu Meet
# uses: OpenVidu/actions/start-openvidu-meet@main
# env:
# MEET_WEBHOOK_ENABLED: true
- name: Start OpenVidu Meet Testapp
uses: OpenVidu/actions/start-openvidu-meet-testapp@main
- name: Run tests
run: |
cd frontend/webcomponent
# Install Playwright browsers
mkdir -p /tmp/ms-playwright
PLAYWRIGHT_BROWSERS_PATH=/tmp/ms-playwright npx playwright install --with-deps chromium
npm run test:e2e-core-room
env:
RUN_MODE: CI
PLAYWRIGHT_BROWSERS_PATH: /tmp/ms-playwright
MEET_API_URL: http://localhost:9080
- name: Upload failed test videos
if: always()
uses: actions/upload-artifact@v4
with:
name: test-videos
path: |
frontend/webcomponent/test-results/*/*.webm
retention-days: 2
- name: Clean up
if: always()
uses: OpenVidu/actions/cleanup@main
e2e-events-functionality-test:
name: E2E Events Functionality Tests
runs-on: ov-actions-runner
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22.13'
- name: Setup OpenVidu Local Deployment
uses: OpenVidu/actions/start-openvidu-local-deployment@main
# - name: Setup OpenVidu Meet
# uses: OpenVidu/actions/start-openvidu-meet@main
# env:
# MEET_WEBHOOK_ENABLED: true
- name: Start OpenVidu Meet Testapp
uses: OpenVidu/actions/start-openvidu-meet-testapp@main
- name: Run tests
run: |
cd frontend/webcomponent
# Install Playwright browsers
mkdir -p /tmp/ms-playwright
PLAYWRIGHT_BROWSERS_PATH=/tmp/ms-playwright npx playwright install --with-deps chromium
npm run test:e2e-core-events
env:
RUN_MODE: CI
PLAYWRIGHT_BROWSERS_PATH: /tmp/ms-playwright
MEET_API_URL: http://localhost:9080
- name: Upload failed test videos
if: always()
uses: actions/upload-artifact@v4
with:
name: test-videos
path: |
frontend/webcomponent/test-results/*/*.webm
retention-days: 2
- name: Clean up
if: always()
uses: OpenVidu/actions/cleanup@main
e2e-webhooks-functionality-test:
name: E2E Webhooks Functionality Tests
runs-on: ov-actions-runner
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22.13'
- name: Setup OpenVidu Local Deployment
uses: OpenVidu/actions/start-openvidu-local-deployment@main
# - name: Setup OpenVidu Meet
# uses: OpenVidu/actions/start-openvidu-meet@main
# env:
# MEET_WEBHOOK_ENABLED: true
- name: Start OpenVidu Meet Testapp
uses: OpenVidu/actions/start-openvidu-meet-testapp@main
- name: Run tests
run: |
cd frontend/webcomponent
# Install Playwright browsers
mkdir -p /tmp/ms-playwright
PLAYWRIGHT_BROWSERS_PATH=/tmp/ms-playwright npx playwright install --with-deps chromium
npm run test:e2e-core-webhooks
env:
RUN_MODE: CI
PLAYWRIGHT_BROWSERS_PATH: /tmp/ms-playwright
MEET_API_URL: http://localhost:9080
- name: Upload failed test videos
if: always()
uses: actions/upload-artifact@v4
with:
name: test-videos
path: |
frontend/webcomponent/test-results/*/*.webm
retention-days: 2
- name: Clean up
if: always()
uses: OpenVidu/actions/cleanup@main
e2e-ui-features-test:
name: E2E UI Features Tests
runs-on: ov-actions-runner
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22.13'
- name: Setup OpenVidu Local Deployment
uses: OpenVidu/actions/start-openvidu-local-deployment@main
# - name: Setup OpenVidu Meet
# uses: OpenVidu/actions/start-openvidu-meet@main
# env:
# MEET_WEBHOOK_ENABLED: true
- name: Start OpenVidu Meet Testapp
uses: OpenVidu/actions/start-openvidu-meet-testapp@main
- name: Run tests
run: |
cd frontend/webcomponent
# Install Playwright browsers
mkdir -p /tmp/ms-playwright
PLAYWRIGHT_BROWSERS_PATH=/tmp/ms-playwright npx playwright install --with-deps chromium
npm run test:e2e-ui-features
env:
RUN_MODE: CI
PLAYWRIGHT_BROWSERS_PATH: /tmp/ms-playwright
MEET_API_URL: http://localhost:9080
- name: Upload failed test videos
if: always()
uses: actions/upload-artifact@v4
with:
name: test-videos
path: |
frontend/webcomponent/test-results/*/*.webm
retention-days: 2
- name: Clean up
if: always()
uses: OpenVidu/actions/cleanup@main
e2e-recording-access-test:
name: E2E Recording Access Tests
runs-on: ov-actions-runner
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22.13'
- name: Setup OpenVidu Local Deployment
uses: OpenVidu/actions/start-openvidu-local-deployment@main
# - name: Setup OpenVidu Meet
# uses: OpenVidu/actions/start-openvidu-meet@main
# env:
# MEET_WEBHOOK_ENABLED: true
- name: Start OpenVidu Meet Testapp
uses: OpenVidu/actions/start-openvidu-meet-testapp@main
- name: Run tests
run: |
docker ps -a
cd frontend/webcomponent
# Install Playwright browsers
mkdir -p /tmp/ms-playwright
PLAYWRIGHT_BROWSERS_PATH=/tmp/ms-playwright npx playwright install --with-deps chromium
npm run test:e2e-recording-access
env:
RUN_MODE: CI
PLAYWRIGHT_BROWSERS_PATH: /tmp/ms-playwright
MEET_API_URL: http://localhost:9080
- name: Upload failed test videos
if: always()
uses: actions/upload-artifact@v4
with:
name: test-videos
path: |
frontend/webcomponent/test-results/*/*.webm
retention-days: 2
- name: Dump OpenVidu Local Deployment logs
if: always()
shell: bash
run: |
docker logs openvidu &> openvidu-server.logs
docker logs egress &> egress.logs
- name: Upload OpenVidu Local Deployment logs
if: always()
uses: actions/upload-artifact@v4
with:
name: openvidu-local-deployment-logs
path: |
openvidu-server.logs
egress.logs
retention-days: 2
- name: Clean up
if: always()
uses: OpenVidu/actions/cleanup@main