Skip to content

Browser Client SDK [production] #625

Browser Client SDK [production]

Browser Client SDK [production] #625

name: Browser Client SDK [production]
on:
workflow_call:
workflow_dispatch:
schedule:
- cron: '5 */4 * * *'
concurrency:
group: ${{ github.workflow }}-e2e-client-production-${{ github.ref }}
cancel-in-progress: true
jobs:
e2e-tests:
name: Run E2E tests
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
node-version: [20.x]
project:
[
default,
Utilities,
CoreRoom,
AudioVideo,
Device,
Agent,
Connection,
Interaction,
Renegotiation,
Conversation,
IncomingCall,
Websocket,
VideoElement,
]
steps:
- uses: actions/checkout@v4
- name: Install deps
uses: ./.github/actions/install
with:
NODE_VERSION: ${{ matrix.node-version }}
- name: Build SDKs
uses: ./.github/actions/build
with:
NODE_VERSION: ${{ matrix.node-version }}
- name: Install Playwright
uses: ./.github/actions/playwright
with:
PLAYWRIGHT_VERSION: '1.35.1' # TODO: Read from deps ?
- name: Install Zrok
if: ${{ matrix.project == 'v2WebRTC'}}
uses: ./.github/actions/zrok
with:
ZROK_API_ENDPOINT: ${{ secrets.SW_ZROK_API_ENDPOINT }}
ZROK_TOKEN: ${{ secrets.SW_ZROK_TOKEN }}
- name: Test
run: npm run -w=@sw-internal/e2e-client dev -- --project ${{ matrix.project }}
env:
SW_TEST_CONFIG: ${{ secrets.PRODUCTION_E2E_JS_SW_TEST_CONFIG }}
EXTERNAL_URL_FOR_CXML: ${{ secrets.EXTERNAL_URL_FOR_CXML }}
report-result:
needs: e2e-tests
runs-on: ubuntu-latest
if: success() || failure()
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/report-test-result
with:
result: ${{ needs.e2e-tests.result }}
test-suite: browser-client
environment: production
influxdb-bucket: ${{ secrets.INFLUXDB_BUCKET }}
influxdb-org: ${{ secrets.INFLUXDB_ORG }}
influxdb-token: ${{ secrets.INFLUXDB_TOKEN }}
influxdb-url: ${{ secrets.INFLUXDB_URL }}