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: - 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-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