ci: Updated openvidu-components e2e tests

pull/839/head
Carlos Santos 2024-07-24 17:21:19 +02:00
parent aa437be8cf
commit 25ef634757
1 changed files with 124 additions and 134 deletions

View File

@ -1,10 +1,11 @@
name: openvidu-components-angular E2E name: openvidu-components-angular E2E
on: on:
push: push:
branches:
- master
paths: paths:
- 'openvidu-components-angular/**' - 'openvidu-components-angular/**'
- 'openvidu-browser/**'
- 'openvidu-node-client/**'
- '.github/workflows/openvidu-components-angular-E2E.yml' - '.github/workflows/openvidu-components-angular-E2E.yml'
pull_request: pull_request:
branches: branches:
@ -17,142 +18,131 @@ on:
default: '' default: ''
jobs: jobs:
test_setup: test_setup:
name: Test setup name: Test setup
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - name: Checkout Repository
uses: actions/checkout@v4
with: with:
ref: ${{ inputs.commit_sha || github.sha }} ref: ${{ inputs.commit_sha || github.sha }}
- uses: actions/setup-node@v4 - name: Set up Node.js
uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: '20'
- name: Commit URL - name: Commit URL
run: echo https://github.com/OpenVidu/openvidu/commit/${{ inputs.commit_sha || github.sha }} run: echo https://github.com/OpenVidu/openvidu/commit/${{ inputs.commit_sha || github.sha }}
- name: Send repository dispatch event - name: Send Dispatch Event
env: env:
GITHUB_TOKEN: ${{ secrets.OPENVIDU_DISPATCH_EVENT_GA }} GITHUB_TOKEN: ${{ secrets.OPENVIDU_DISPATCH_EVENT_GA }}
COMMIT_MESSAGE: ${{ github.event.head_commit.message || 'Manually' }} COMMIT_MESSAGE: ${{ github.event.head_commit.message || 'Manually' }}
COMMIT_URL: ${{ github.event.commits[0].url || 'Manually' }} COMMIT_URL: ${{ github.event.commits[0].url || 'Manually' }}
BRANCH_NAME: ${{ github.ref_name }} BRANCH_NAME: ${{ github.ref_name }}
run: | run: |
curl \ curl -X POST \
-X POST \
-H "Accept: application/vnd.github+json" \ -H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${GITHUB_TOKEN}" \ -H "Authorization: Bearer ${GITHUB_TOKEN}" \
https://api.github.com/repos/OpenVidu/openvidu-call/dispatches \ 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"'"}}' -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
openvidu__components_angular_e2e:
openvidu_angular_e2e:
needs: test_setup needs: test_setup
name: OpenVidu Angular E2E tests name: OpenVidu Components Angular E2E tests
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - name: Checkout Repository
uses: actions/checkout@v4
with: with:
ref: ${{ inputs.commit_sha || github.sha }} ref: ${{ inputs.commit_sha || github.sha }}
- uses: actions/setup-node@v4 - name: Setup Node.js
uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: '20'
- uses: actions/download-artifact@v4
with:
name: openvidu-browser
path: openvidu-components-angular
- name: Run Browserless Chrome - name: Run Browserless Chrome
run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-chrome-stable run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-chrome-stable
- name: Run openvidu-server-kms - name: Run openvidu-local-deployment
run: | run: |
docker run -p 4443:4443 --rm -d \ git clone --depth 1 https://github.com/OpenVidu/openvidu-local-deployment
-e OPENVIDU_SECRET=MY_SECRET \ cd openvidu-local-deployment/community
openvidu/openvidu-dev:latest ./configure_lan_private_ip_linux.sh
- name: Install openvidu-browser and dependencies docker compose up
- name: Install dependencies
run: | run: |
cd openvidu-components-angular cd openvidu-components-angular
npm install openvidu-browser-*.tgz npm install
- name: Build openvidu-angular - name: Build openvidu-components-angular
run: npm run lib:build --prefix openvidu-components-angular run: npm run lib:build --prefix openvidu-components-angular
- name: Build openvidu-angular-testapp - name: Build openvidu-components-angular Testapp
run: npm run build --prefix openvidu-components-angular run: npm run build --prefix openvidu-components-angular
- name: Serve openvidu-angular-testapp - name: Serve openvidu-components-angular Testapp
run: npm run start-prod --prefix openvidu-components-angular & run: npm run start-prod --prefix openvidu-components-angular &
- name: Run openvidu-angular E2E - name: Run openvidu-components-angular E2E
run: npm run lib:e2e-ci --prefix openvidu-components-angular run: npm run lib:e2e-ci --prefix openvidu-components-angular
webcomponent_e2e: # webcomponent_e2e:
needs: test_setup # needs: test_setup
name: Webcomponent E2E CE tests # name: Webcomponent E2E CE tests
runs-on: ubuntu-latest # runs-on: ubuntu-latest
steps: # steps:
- uses: actions/checkout@v4 # - uses: actions/checkout@v4
with: # with:
ref: ${{ inputs.commit_sha || github.sha }} # ref: ${{ inputs.commit_sha || github.sha }}
- uses: actions/setup-node@v4 # - uses: actions/setup-node@v4
with: # with:
node-version: '20' # node-version: '20'
- uses: actions/download-artifact@v4 # - uses: actions/download-artifact@v4
with: # with:
name: openvidu-browser # name: openvidu-browser
path: openvidu-components-angular # path: openvidu-components-angular
- name: Run Browserless Chrome # - name: Run Browserless Chrome
run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-chrome-stable # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-chrome-stable
- name: Run openvidu-server-kms # - name: Run openvidu-server-kms
run: | # run: |
docker run -p 4443:4443 --rm -d \ # docker run -p 4443:4443 --rm -d \
-e OPENVIDU_SECRET=MY_SECRET \ # -e OPENVIDU_SECRET=MY_SECRET \
openvidu/openvidu-dev:latest # openvidu/openvidu-dev:latest
- name: Install openvidu-browser and dependencies # - name: Install openvidu-browser and dependencies
run: | # run: |
cd openvidu-components-angular # cd openvidu-components-angular
npm install openvidu-browser-*.tgz # npm install openvidu-browser-*.tgz
- name: Build openvidu-angular # - name: Build openvidu-angular
run: npm run lib:build --prefix openvidu-components-angular # run: npm run lib:build --prefix openvidu-components-angular
- name: Build openvidu-webcomponent # - name: Build openvidu-webcomponent
run: npm run webcomponent:build --prefix openvidu-components-angular # run: npm run webcomponent:build --prefix openvidu-components-angular
- name: Serve Webcomponent Testapp # - name: Serve Webcomponent Testapp
run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular & # run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular &
- name: Run Webcomponent E2E # - name: Run Webcomponent E2E
run: npm run webcomponent:e2e-ci --prefix openvidu-components-angular # run: npm run webcomponent:e2e-ci --prefix openvidu-components-angular
webcomponent_e2e_pro: # webcomponent_e2e_pro:
if: false #Skip PRO test because infra is unstable # if: false #Skip PRO test because infra is unstable
needs: test_setup # needs: test_setup
name: Webcomponent E2E PRO tests # name: Webcomponent E2E PRO tests
runs-on: ubuntu-latest # runs-on: ubuntu-latest
steps: # steps:
- uses: actions/checkout@v4 # - uses: actions/checkout@v4
- uses: actions/setup-node@v4 # - uses: actions/setup-node@v4
with: # with:
node-version: '20' # node-version: '20'
- uses: actions/download-artifact@v4 # - uses: actions/download-artifact@v4
with: # with:
name: openvidu-browser # name: openvidu-browser
path: openvidu-components-angular # path: openvidu-components-angular
- name: Run Browserless Chrome # - name: Run Browserless Chrome
run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-chrome-stable # run: docker run -d -p 3000:3000 --network host browserless/chrome:1.57-chrome-stable
- name: Install openvidu-browser and dependencies # - name: Install openvidu-browser and dependencies
run: | # run: |
cd openvidu-components-angular # cd openvidu-components-angular
npm install openvidu-browser-*.tgz # npm install openvidu-browser-*.tgz
- name: Build openvidu-angular # - name: Build openvidu-angular
run: npm run lib:build --prefix openvidu-components-angular # run: npm run lib:build --prefix openvidu-components-angular
- name: Build openvidu-webcomponent # - name: Build openvidu-webcomponent
run: npm run webcomponent:build --prefix openvidu-components-angular # run: npm run webcomponent:build --prefix openvidu-components-angular
- name: Serve Webcomponent Testapp # - name: Serve Webcomponent Testapp
run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular & # run: npm run webcomponent:serve-testapp --prefix openvidu-components-angular &
- name: Run Webcomponent E2E PRO # - name: Run Webcomponent E2E PRO
env: # env:
OPENVIDU_SERVER_URL: ${{ secrets.OPENVIDU_CALL_NEXT_URL }} # OPENVIDU_SERVER_URL: ${{ secrets.OPENVIDU_CALL_NEXT_URL }}
OPENVIDU_SECRET: ${{ secrets.OPENVIDU_CALL_NEXT_SECRET }} # OPENVIDU_SECRET: ${{ secrets.OPENVIDU_CALL_NEXT_SECRET }}
run: npm run webcomponent:e2e-pro-ci --prefix openvidu-components-angular # run: npm run webcomponent:e2e-pro-ci --prefix openvidu-components-angular