Skip to content

ci: Fixed selenium volume permissions #28

ci: Fixed selenium volume permissions

ci: Fixed selenium volume permissions #28

Workflow file for this run

name: E2E Tests
on:
push:
# paths:
# - 'openvidu-components-angular/**'
# - 'openvidu-browser/**'
# pull_request:
# branches:
# - master
repository_dispatch:
types: [openvidu-components-angular]
workflow_dispatch:
env:
CHROME_VERSION: latest
jobs:
# prepare_openvidu_components_angular:
# if: false
# name: Setup
# 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-components-angular
# run: |
# git clone --depth 1 https://github.com/OpenVidu/openvidu openvidu && \
# cd openvidu/openvidu-components-angular && \
# npm install && \
# npm run lib:build && \
# npm run lib:pack && \
# mv dist/openvidu-components-angular/openvidu-components-angular-*.tgz ../../
# cd ../../ && \
# rm -rf openvidu
# - uses: actions/upload-artifact@v4
# with:
# name: artifacts
# path: ${{ github.workspace }}/**.tgz
# if-no-files-found: error
frontend_routes_tests:
name: Frontend Guards and Routes
runs-on: ubuntu-latest
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
with:
ref: next
path: openvidu-call
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Run Chrome
run: docker run --network=host -d -p 4444:4444 selenium/standalone-chrome:${{ env.CHROME_VERSION }}
- name: Prepare openvidu-call
run: |
cd openvidu-call
./prepare.sh
cd frontend
npm run sync:backend
cd ../backend
npm run build:prod
npm run start:prod &
- name: Run tests
env:
LAUNCH_MODE: CI
APP_URL: http://localhost:6080
run: npm run e2e:run-routes --prefix openvidu-call/frontend
# auth_e2e_test:
# if: false
# needs: prepare_openvidu_components_angular
# name: Auth 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 Browserless Chrome
# # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.53-chrome-stable
# - name: Run Chrome
# run: docker run --network=host -d -p 4444:4444 selenium/standalone-chrome:127.0
# - name: Run openvidu-local-deployment
# run: |
# git clone --depth 1 https://github.com/OpenVidu/openvidu-local-deployment
# cd openvidu-local-deployment/community
# ./configure_lan_private_ip_linux.sh
# docker compose up -d
# - name: Install dependencies and build openvidu-call
# run: |
# npm install openvidu-components-angular-*.tgz --prefix frontend && \
# npm install --prefix backend && \
# npm run build:prod --prefix backend && \
# npm run build:prod --prefix frontend && \
# mv frontend/dist/openvidu-call/ backend/dist/public/
# - name: Wait for openvidu-local-deployment
# run: |
# until curl -s -f -o /dev/null http://localhost:7880; do
# echo "Waiting for openvidu-local-deployment to be ready..."
# sleep 5
# done
# - name: Serve openvidu-call
# env:
# CALL_PRIVATE_ACCESS: true
# run: npm run start --prefix backend &
# - name: Run tests
# env:
# LAUNCH_MODE: CI
# run: npm run e2e:run-auth --prefix frontend
# home_e2e_test:
# if: false
# needs: prepare_openvidu_components_angular
# name: Home 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 Browserless Chrome
# # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.53-chrome-stable
# - name: Run Chrome
# run: docker run --network=host -d -p 4444:4444 selenium/standalone-chrome:127.0
# - name: Run openvidu-local-deployment
# run: |
# git clone --depth 1 https://github.com/OpenVidu/openvidu-local-deployment
# cd openvidu-local-deployment/community
# ./configure_lan_private_ip_linux.sh
# docker compose up -d
# - name: Install dependencies and build openvidu-call
# run: |
# npm install openvidu-components-angular-*.tgz --prefix frontend && \
# npm install --prefix backend && \
# npm run build:prod --prefix backend && \
# npm run build:prod --prefix frontend && \
# mv frontend/dist/openvidu-call/ backend/dist/public/
# - name: Wait for openvidu-local-deployment
# run: |
# until curl -s -f -o /dev/null http://localhost:7880; do
# echo "Waiting for openvidu-local-deployment to be ready..."
# sleep 5
# done
# - name: Serve openvidu-call
# run: npm run start --prefix backend &
# - name: Run tests
# env:
# LAUNCH_MODE: CI
# CALL_PRIVATE_ACCESS: false
# run: npm run e2e:run-home --prefix frontend
# room_e2e_test:
# if: false
# needs: prepare_openvidu_components_angular
# name: Room 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 Browserless Chrome
# # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.53-chrome-stable
# - name: Run Chrome
# run: docker run --network=host -d -p 4444:4444 selenium/standalone-chrome:127.0
# - name: Run openvidu-local-deployment
# run: |
# git clone --depth 1 https://github.com/OpenVidu/openvidu-local-deployment
# cd openvidu-local-deployment/community
# ./configure_lan_private_ip_linux.sh
# docker compose up -d
# - name: Install dependencies and build openvidu-call
# run: |
# npm install openvidu-components-angular-*.tgz --prefix frontend && \
# npm install --prefix backend && \
# npm run build:prod --prefix backend && \
# npm run build:prod --prefix frontend && \
# mv frontend/dist/openvidu-call/ backend/dist/public/
# - name: Wait for openvidu-local-deployment
# run: |
# until curl -s -f -o /dev/null http://localhost:7880; do
# echo "Waiting for openvidu-local-deployment to be ready..."
# sleep 5
# done
# - name: Serve openvidu-call
# run: npm run start --prefix backend &
# - name: Run tests
# env:
# LAUNCH_MODE: CI
# CALL_PRIVATE_ACCESS: false
# run: npm run e2e:run-room --prefix frontend
recording_e2e_test:
name: Recordings tests
runs-on: ubuntu-latest
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
with:
ref: next
path: openvidu-call
- uses: actions/setup-node@v4
with:
node-version: '22.13.1'
- name: Run Chrome
run: |
mkdir -p /tmp/downloads
docker run --network=host \
-v /tmp/downloads:/tmp/downloads \
-d selenium/standalone-chrome:${{ env.CHROME_VERSION }}
# grant permissions to the /tmp/downloads folder
docker exec -u root \
$(docker ps -q --filter ancestor=selenium/standalone-chrome:${{ env.CHROME_VERSION }}) \
chmod 777 /tmp/downloads
- name: Prepare openvidu-call
run: |
cd openvidu-call
./prepare.sh
cd frontend
npm run sync:backend
cd ../backend
npm run build:prod
npm run start:prod &
- name: Run tests
env:
LAUNCH_MODE: CI
APP_URL: http://localhost:6080
run: npm run e2e:run-recordings --prefix openvidu-call/frontend