name: openvidu-components-angular Tests on: push: branches: - master paths: - 'openvidu-components-angular/**' - '.github/workflows/openvidu-components-angular-tests.yml' pull_request: branches: - master workflow_dispatch: inputs: commit_sha: description: 'Commit SHA' required: false default: '' jobs: test_setup: name: Test setup runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ inputs.commit_sha || github.sha }} - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Commit URL run: echo https://github.com/OpenVidu/openvidu/commit/${{ inputs.commit_sha || github.sha }} - name: Send Dispatch Event env: GITHUB_TOKEN: ${{ secrets.OPENVIDU_DISPATCH_EVENT_GA }} COMMIT_MESSAGE: ${{ github.event.head_commit.message || 'Manually' }} COMMIT_URL: ${{ github.event.commits[0].url || 'Manually' }} BRANCH_NAME: ${{ github.ref_name }} run: | curl -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${GITHUB_TOKEN}" \ https://api.github.com/repos/OpenVidu/openvidu-call/dispatches \ -d '{"event_type":"openvidu-components-angular","client_payload":{"commit-message":"'"$COMMIT_MESSAGE"'","commit-ref":"'"$COMMIT_URL"'", "branch-name":"'"$BRANCH_NAME"'"}}' nested_components_e2e_events: needs: test_setup name: Nested events runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ inputs.commit_sha || github.sha }} - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' # - name: Run Browserless Chrome # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-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: Run OpenVidu Call Backend run: | git clone --depth 1 https://github.com/OpenVidu/openvidu-call cd openvidu-call/backend npm install npm run dev:start & - name: Install dependencies run: | cd openvidu-components-angular npm install - name: Build openvidu-components-angular run: npm run lib:build --prefix openvidu-components-angular - name: Build openvidu-components-angular Testapp run: npm run build --prefix openvidu-components-angular - name: Serve openvidu-components-angular Testapp run: npm run start --prefix openvidu-components-angular & - 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: Wait for openvidu-components-angular Testapp run: | until curl -s -f -o /dev/null http://localhost:4200; do echo "Waiting for openvidu-components-angular Testapp to be ready..." sleep 5 done - name: Run nested components E2E event tests env: LAUNCH_MODE: CI run: npm run e2e:nested-events --prefix openvidu-components-angular unit_tests: name: Unit Tests runs-on: ubuntu-latest needs: test_setup steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ inputs.commit_sha || github.sha }} - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Install Dependencies run: | cd openvidu-components-angular npm install - name: Run Unit Tests run: npm run lib:test --prefix openvidu-components-angular nested_components_e2e_directives: needs: test_setup name: Nested directives runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ inputs.commit_sha || github.sha }} - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' # - name: Run Browserless Chrome # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-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: Run OpenVidu Call Backend run: | git clone --depth 1 https://github.com/OpenVidu/openvidu-call cd openvidu-call/backend npm install npm run dev:start & - name: Install dependencies run: | cd openvidu-components-angular npm install - name: Build openvidu-components-angular run: npm run lib:build --prefix openvidu-components-angular - name: Build openvidu-components-angular Testapp run: npm run build --prefix openvidu-components-angular - name: Serve openvidu-components-angular Testapp run: npm run start --prefix openvidu-components-angular & - 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: Wait for openvidu-components-angular Testapp run: | until curl -s -f -o /dev/null http://localhost:4200; do echo "Waiting for openvidu-components-angular Testapp to be ready..." sleep 5 done - name: Run nested components E2E directives tests env: LAUNCH_MODE: CI run: npm run e2e:nested-directives --prefix openvidu-components-angular webcomponent_e2e_directives: needs: test_setup name: Webcomponent directives runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ inputs.commit_sha || github.sha }} - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' # - name: Run Browserless Chrome # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-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: Run OpenVidu Call Backend run: | git clone --depth 1 https://github.com/OpenVidu/openvidu-call cd openvidu-call/backend npm install npm run dev:start & - name: Install dependencies run: | cd openvidu-components-angular npm install - name: Build openvidu-angular run: npm run lib:build --prefix openvidu-components-angular - name: Build openvidu-webcomponent run: npm run webcomponent:testing-build --prefix openvidu-components-angular - name: Serve Webcomponent Testapp run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular & - 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: Wait for openvidu-components-angular Testapp run: | until curl -s -f -o /dev/null http://localhost:8080; do echo "Waiting for openvidu-components-angular Testapp to be ready..." sleep 5 done - name: Run Webcomponent E2E env: LAUNCH_MODE: CI run: npm run e2e:webcomponent-directives --prefix openvidu-components-angular webcomponent_e2e_chat: needs: test_setup name: Webcomponent chat runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ inputs.commit_sha || github.sha }} - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' # - name: Run Browserless Chrome # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-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: Run OpenVidu Call Backend run: | git clone --depth 1 https://github.com/OpenVidu/openvidu-call cd openvidu-call/backend npm install npm run dev:start & - name: Install dependencies run: | cd openvidu-components-angular npm install - name: Build openvidu-angular run: npm run lib:build --prefix openvidu-components-angular - name: Build openvidu-webcomponent run: npm run webcomponent:testing-build --prefix openvidu-components-angular - name: Serve Webcomponent Testapp run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular & - 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: Wait for openvidu-components-angular Testapp run: | until curl -s -f -o /dev/null http://localhost:8080; do echo "Waiting for openvidu-components-angular Testapp to be ready..." sleep 5 done - name: Run Webcomponent E2E env: LAUNCH_MODE: CI run: npm run e2e:webcomponent-chat --prefix openvidu-components-angular webcomponent_e2e_events: needs: test_setup name: Webcomponent events runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ inputs.commit_sha || github.sha }} - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' # - name: Run Browserless Chrome # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-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: Run OpenVidu Call Backend run: | git clone --depth 1 https://github.com/OpenVidu/openvidu-call cd openvidu-call/backend npm install npm run dev:start & - name: Install dependencies run: | cd openvidu-components-angular npm install - name: Build openvidu-angular run: npm run lib:build --prefix openvidu-components-angular - name: Build openvidu-webcomponent run: npm run webcomponent:testing-build --prefix openvidu-components-angular - name: Serve Webcomponent Testapp run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular & - 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: Wait for openvidu-components-angular Testapp run: | until curl -s -f -o /dev/null http://localhost:8080; do echo "Waiting for openvidu-components-angular Testapp to be ready..." sleep 5 done - name: Run Webcomponent E2E env: LAUNCH_MODE: CI run: npm run e2e:webcomponent-events --prefix openvidu-components-angular webcomponent_e2e_media_devices: needs: test_setup name: Webcomponent media devices runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ inputs.commit_sha || github.sha }} - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' # - name: Run Browserless Chrome # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-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: Run OpenVidu Call Backend run: | git clone --depth 1 https://github.com/OpenVidu/openvidu-call cd openvidu-call/backend npm install npm run dev:start & - name: Install dependencies run: | cd openvidu-components-angular npm install - name: Build openvidu-angular run: npm run lib:build --prefix openvidu-components-angular - name: Build openvidu-webcomponent run: npm run webcomponent:testing-build --prefix openvidu-components-angular - name: Serve Webcomponent Testapp run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular & - 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: Wait for openvidu-components-angular Testapp run: | until curl -s -f -o /dev/null http://localhost:8080; do echo "Waiting for openvidu-components-angular Testapp to be ready..." sleep 5 done - name: Run Webcomponent E2E env: LAUNCH_MODE: CI run: npm run e2e:webcomponent-media-devices --prefix openvidu-components-angular webcomponent_e2e_panels: needs: test_setup name: Webcomponent panels runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ inputs.commit_sha || github.sha }} - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' # - name: Run Browserless Chrome # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-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: Run OpenVidu Call Backend run: | git clone --depth 1 https://github.com/OpenVidu/openvidu-call cd openvidu-call/backend npm install npm run dev:start & - name: Install dependencies run: | cd openvidu-components-angular npm install - name: Build openvidu-angular run: npm run lib:build --prefix openvidu-components-angular - name: Build openvidu-webcomponent run: npm run webcomponent:testing-build --prefix openvidu-components-angular - name: Serve Webcomponent Testapp run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular & - 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: Wait for openvidu-components-angular Testapp run: | until curl -s -f -o /dev/null http://localhost:8080; do echo "Waiting for openvidu-components-angular Testapp to be ready..." sleep 5 done - name: Run Webcomponent E2E env: LAUNCH_MODE: CI run: npm run e2e:webcomponent-panels --prefix openvidu-components-angular webcomponent_e2e_screen_sharing: needs: test_setup name: Webcomponent screen sharing runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ inputs.commit_sha || github.sha }} - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' # - name: Run Browserless Chrome # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-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: Run OpenVidu Call Backend run: | git clone --depth 1 https://github.com/OpenVidu/openvidu-call cd openvidu-call/backend npm install npm run dev:start & - name: Install dependencies run: | cd openvidu-components-angular npm install - name: Build openvidu-angular run: npm run lib:build --prefix openvidu-components-angular - name: Build openvidu-webcomponent run: npm run webcomponent:testing-build --prefix openvidu-components-angular - name: Serve Webcomponent Testapp run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular & - 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: Wait for openvidu-components-angular Testapp run: | until curl -s -f -o /dev/null http://localhost:8080; do echo "Waiting for openvidu-components-angular Testapp to be ready..." sleep 5 done - name: Run Webcomponent E2E env: LAUNCH_MODE: CI run: npm run e2e:webcomponent-screensharing --prefix openvidu-components-angular webcomponent_e2e_stream: needs: test_setup name: Webcomponent stream runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ inputs.commit_sha || github.sha }} - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' # - name: Run Browserless Chrome # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-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: Run OpenVidu Call Backend run: | git clone --depth 1 https://github.com/OpenVidu/openvidu-call cd openvidu-call/backend npm install npm run dev:start & - name: Install dependencies run: | cd openvidu-components-angular npm install - name: Build openvidu-angular run: npm run lib:build --prefix openvidu-components-angular - name: Build openvidu-webcomponent run: npm run webcomponent:testing-build --prefix openvidu-components-angular - name: Serve Webcomponent Testapp run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular & - 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: Wait for openvidu-components-angular Testapp run: | until curl -s -f -o /dev/null http://localhost:8080; do echo "Waiting for openvidu-components-angular Testapp to be ready..." sleep 5 done - name: Run Webcomponent E2E env: LAUNCH_MODE: CI run: npm run e2e:webcomponent-stream --prefix openvidu-components-angular webcomponent_e2e_toolbar: needs: test_setup name: Webcomponent toolbar runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 with: ref: ${{ inputs.commit_sha || github.sha }} - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' # - name: Run Browserless Chrome # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-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: Run OpenVidu Call Backend run: | git clone --depth 1 https://github.com/OpenVidu/openvidu-call cd openvidu-call/backend npm install npm run dev:start & - name: Install dependencies run: | cd openvidu-components-angular npm install - name: Build openvidu-angular run: npm run lib:build --prefix openvidu-components-angular - name: Build openvidu-webcomponent run: npm run webcomponent:testing-build --prefix openvidu-components-angular - name: Serve Webcomponent Testapp run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular & - 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: Wait for openvidu-components-angular Testapp run: | until curl -s -f -o /dev/null http://localhost:8080; do echo "Waiting for openvidu-components-angular Testapp to be ready..." sleep 5 done - name: Run Webcomponent E2E env: LAUNCH_MODE: CI run: npm run e2e:webcomponent-toolbar --prefix openvidu-components-angular