openvidu/.github/workflows/integration-test.yaml

121 lines
3.6 KiB
YAML

name: Integration Tests
on: [push, pull_request]
jobs:
test-rooms:
name: Rooms API Tests
runs-on: ov-actions-runner
steps:
- name: Checkout OpenVidu Local Deployment
uses: actions/checkout@v4
with:
repository: OpenVidu/openvidu-local-deployment
ref: development
path: openvidu-local-deployment
- name: Configure Local Deployment
shell: bash
run: |
cd openvidu-local-deployment/community
./configure_lan_private_ip_linux.sh
docker compose up -d
- name: Wait for OpenVidu Local Deployment to Start
shell: bash
run: |
MAX_WAIT_SECONDS=60
SECONDS=0
until curl -s -f -o /dev/null http://localhost:7880; do
if [ $SECONDS -gt $MAX_WAIT_SECONDS ]; then
echo "OpenVidu Local Deployment did not start in $MAX_WAIT_SECONDS seconds"
exit 1
fi
echo "Waiting for openvidu-local-deployment to be ready ..."
sleep 5
SECONDS=$((SECONDS+5))
done
echo "OpenVidu Local Deployment started in $SECONDS seconds"
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Setup yarn # Needed for the redlock package
run: npm install -g yarn
- name: Install LK CLI
run: |
curl -sSL https://get.livekit.io/cli | bash
- name: Setup OpenVidu Meet
run: |
./prepare.sh
cd backend
npm install
npm run start:prod &
- name: Run tests
run: |
cd backend
npm run test:integration-rooms
env:
JEST_JUNIT_OUTPUT_DIR: './reports/'
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: always()
with:
report_paths: '**/reports/junit.xml'
fail_on_failure: true
require_tests: true
test-recordings:
name: Recordings API Tests
runs-on: ov-actions-runner
steps:
- name: Checkout OpenVidu Local Deployment
uses: actions/checkout@v4
with:
repository: OpenVidu/openvidu-local-deployment
ref: development
path: openvidu-local-deployment
- name: Configure Local Deployment
shell: bash
run: |
cd openvidu-local-deployment/community
./configure_lan_private_ip_linux.sh
docker compose up -d
- name: Wait for OpenVidu Local Deployment to Start
shell: bash
run: |
MAX_WAIT_SECONDS=60
SECONDS=0
until curl -s -f -o /dev/null http://localhost:7880; do
if [ $SECONDS -gt $MAX_WAIT_SECONDS ]; then
echo "OpenVidu Local Deployment did not start in $MAX_WAIT_SECONDS seconds"
exit 1
fi
echo "Waiting for openvidu-local-deployment to be ready ..."
sleep 5
SECONDS=$((SECONDS+5))
done
echo "OpenVidu Local Deployment started in $SECONDS seconds"
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Setup yarn # Needed for the redlock package
run: npm install -g yarn
- name: Install LK CLI
run: |
curl -sSL https://get.livekit.io/cli | bash
- name: Run tests
run: |
./prepare.sh
cd backend
npm install
npm run test:integration-recordings