Skip to content

e2e-test-h265

e2e-test-h265 #421

Workflow file for this run

name: e2e-test-h265
on:
push:
branches:
- develop
- feature/*
paths:
- playwright.config.ts
- .github/workflows/e2e-test-h265.yml
- e2e-tests/**
schedule:
# UTC 時間で毎日 2:00 (JST で 11:00) に実行、月曜日から金曜日
- cron: "0 2 * * 1-5"
jobs:
# Chrome と Edge の Canary バージョンでのテスト
# Playwright 経由では Canary バージョンのブラウザをインストールできない
# Homebrew 経由でインストールしている
e2e-test-h265:
strategy:
matrix:
node:
# Nodejs のテストではないので一番古い LTS である 20 でのみ動作確認する
- "20"
browser:
- name: "Google Chrome Canary"
type: "google-chrome@canary"
- name: "Google Chrome Dev"
type: "google-chrome@dev"
- name: "Google Chrome Beta"
type: "google-chrome@beta"
- name: "Google Chrome"
type: "google-chrome"
env:
VITE_TEST_SIGNALING_URL: ${{ secrets.TEST_SIGNALING_URL }}
VITE_TEST_CHANNEL_ID_PREFIX: ${{ secrets.TEST_CHANNEL_ID_PREFIX }}
VITE_TEST_API_URL: ${{ secrets.TEST_API_URL }}
VITE_TEST_SECRET_KEY: ${{ secrets.TEST_SECRET_KEY }}
runs-on:
group: Self
labels: [self-hosted, macOS, ARM64, Apple-M2-Pro]
timeout-minutes: 20
steps:
- uses: actions/checkout@v5
- uses: Homebrew/actions/setup-homebrew@master
- run: brew install --cask ${{ matrix.browser.type}}
- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
- uses: pnpm/action-setup@v4
with:
version: 10
- run: pnpm --version
- run: pnpm install
- run: pnpm run build
- run: pnpm playwright test --project="${{ matrix.browser.name }}" e2e-tests/tests/h265.test.ts
env:
VITE_TEST_CHANNEL_ID_SUFFIX: _${{ github.run_id }}_${{ matrix.node }}
# - uses: actions/upload-artifact@v4
# if: always()
# with:
# name: playwright-report
# path: playwright-report/
# retention-days: 30
# slack_notify_succeeded:
# needs: [e2e-test]
# runs-on: ubuntu-24.04
# if: success()
# steps:
# - name: Slack Notification
# uses: rtCamp/action-slack-notify@v2
# env:
# SLACK_CHANNEL: sora-js-sdk
# SLACK_COLOR: good
# SLACK_TITLE: Succeeded
# SLACK_ICON_EMOJI: ":star-struck:"
# SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
slack_notify_failed:
needs: [e2e-test-h265]
runs-on: ubuntu-24.04
if: failure()
steps:
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_CHANNEL: sora-js-sdk
SLACK_COLOR: danger
SLACK_TITLE: Failed
SLACK_ICON_EMOJI: ":japanese_ogre:"
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}