name: openvidu-components-angular E2E on: push: branches: - master paths: - 'openvidu-components-angular/**' - '.github/workflows/openvidu-components-angular-E2E.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"'"}}' openvidu__components_angular_e2e: needs: test_setup name: OpenVidu Components Angular E2E tests 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 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: 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: Run openvidu-call-backend run: | git clone --depth 1 https://github.com/OpenVidu/openvidu-call cd openvidu-call/openvidu-call-back 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-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 openvidu-components-angular E2E run: npm run lib:e2e-ci --prefix openvidu-components-angular # webcomponent_e2e: # needs: test_setup # name: Webcomponent E2E CE tests # runs-on: ubuntu-latest # steps: # - uses: actions/checkout@v4 # with: # ref: ${{ inputs.commit_sha || github.sha }} # - uses: actions/setup-node@v4 # with: # node-version: '20' # - uses: actions/download-artifact@v4 # with: # name: openvidu-browser # path: openvidu-components-angular # - name: Run Browserless Chrome # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-chrome-stable # - name: Run openvidu-server-kms # run: | # docker run -p 4443:4443 --rm -d \ # -e OPENVIDU_SECRET=MY_SECRET \ # openvidu/openvidu-dev:latest # - name: Install openvidu-browser and dependencies # run: | # cd openvidu-components-angular # npm install openvidu-browser-*.tgz # - name: Build openvidu-angular # run: npm run lib:build --prefix openvidu-components-angular # - name: Build openvidu-webcomponent # run: npm run webcomponent:build --prefix openvidu-components-angular # - name: Serve Webcomponent Testapp # run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular & # - name: Run Webcomponent E2E # run: npm run webcomponent:e2e-ci --prefix openvidu-components-angular # webcomponent_e2e_pro: # if: false #Skip PRO test because infra is unstable # needs: test_setup # name: Webcomponent E2E PRO 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: openvidu-browser # path: openvidu-components-angular # - name: Run Browserless Chrome # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-chrome-stable # - name: Install openvidu-browser and dependencies # run: | # cd openvidu-components-angular # npm install openvidu-browser-*.tgz # - name: Build openvidu-angular # run: npm run lib:build --prefix openvidu-components-angular # - name: Build openvidu-webcomponent # run: npm run webcomponent:build --prefix openvidu-components-angular # - name: Serve Webcomponent Testapp # run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular & # - name: Run Webcomponent E2E PRO # env: # OPENVIDU_SERVER_URL: ${{ secrets.OPENVIDU_CALL_NEXT_URL }} # OPENVIDU_SECRET: ${{ secrets.OPENVIDU_CALL_NEXT_SECRET }} # run: npm run webcomponent:e2e-pro-ci --prefix openvidu-components-angular