openvidu/.github/workflows/e2e-test.yml
Workflow config file is invalid. Please check your config file: EOF

319 lines
11 KiB
YAML

# 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
# routes_guards_tests:
# name: 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-meet
# - 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-meet
# run: |
# cd openvidu-meet
# ./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-meet/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-meet
# # 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-meet/ 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-meet
# # env:
# # MEET_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-meet
# # 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-meet/ 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-meet
# # run: npm run start --prefix backend &
# # - name: Run tests
# # env:
# # LAUNCH_MODE: CI
# # MEET_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-meet
# # 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-meet/ 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-meet
# # run: npm run start --prefix backend &
# # - name: Run tests
# # env:
# # LAUNCH_MODE: CI
# # MEET_PRIVATE_ACCESS: false
# # run: npm run e2e:run-room --prefix frontend
# recording_e2e_test:
# name: Recordings tests
# runs-on: ubuntu-latest
# steps:
# - name: Install ffmpeg
# run: |
# sudo apt-get update
# sudo apt-get install -y ffmpeg
# - 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-meet
# - 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-meet
# run: |
# cd openvidu-meet
# ./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-meet/frontend