diff --git a/.github/workflows/openvidu-components-angular-E2E.yml b/.github/workflows/openvidu-components-angular-E2E.yml index f94f93628d..38cbb48e32 100644 --- a/.github/workflows/openvidu-components-angular-E2E.yml +++ b/.github/workflows/openvidu-components-angular-E2E.yml @@ -1,10 +1,11 @@ name: openvidu-components-angular E2E + on: push: + branches: + - master paths: - 'openvidu-components-angular/**' - - 'openvidu-browser/**' - - 'openvidu-node-client/**' - '.github/workflows/openvidu-components-angular-E2E.yml' pull_request: branches: @@ -12,147 +13,136 @@ on: workflow_dispatch: inputs: commit_sha: - description: 'Commit SHA' - required: false - default: '' + description: 'Commit SHA' + required: false + default: '' jobs: - test_setup: name: Test setup 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' - - 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@v4 - with: - name: openvidu-browser - path: openvidu-browser/openvidu-browser-*.tgz - + - 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_angular_e2e: + openvidu__components_angular_e2e: needs: test_setup - name: OpenVidu Angular E2E tests + name: OpenVidu Components Angular E2E 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-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 + - 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 - 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 + - 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-prod --prefix openvidu-components-angular & + - name: Run openvidu-components-angular E2E + run: npm run lib: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 + # 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