name: openvidu-components-angular E2E on: push: paths: - 'openvidu-components-angular/**' - 'openvidu-browser/**' - 'openvidu-node-client/**' - '.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: - uses: actions/checkout@v3 with: ref: ${{ inputs.commit_sha || github.sha }} - uses: actions/setup-node@v3 with: node-version: '16' - name: Commit URL run: echo https://github.com/OpenVidu/openvidu/commit/${{ inputs.commit_sha || github.sha }} - name: Send repository 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"'"}}' - name: Build openvidu-browser run: | cd openvidu-browser npm install npm run build && \ npm pack - uses: actions/upload-artifact@v3 with: name: openvidu-browser path: openvidu-browser/openvidu-browser-*.tgz openvidu_angular_e2e: needs: test_setup name: OpenVidu Angular E2E tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: ref: ${{ inputs.commit_sha || github.sha }} - uses: actions/setup-node@v3 with: node-version: '16' - uses: actions/download-artifact@v3 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-angular-testapp run: npm run build --prefix openvidu-components-angular - name: Serve openvidu-angular-testapp run: npm run start-prod --prefix openvidu-components-angular & - name: Run openvidu-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@v3 with: ref: ${{ inputs.commit_sha || github.sha }} - uses: actions/setup-node@v3 with: node-version: '16' - uses: actions/download-artifact@v3 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@v3 - uses: actions/setup-node@v3 with: node-version: '16' - uses: actions/download-artifact@v3 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