Skip to content

VP9 エンコーダーを internal に変更し、サイマルキャストテストから VP9 を除外する #69

VP9 エンコーダーを internal に変更し、サイマルキャストテストから VP9 を除外する

VP9 エンコーダーを internal に変更し、サイマルキャストテストから VP9 を除外する #69

Workflow file for this run

name: e2e-test-workflow
on:
push:
paths:
- "e2e-test/**"
- ".github/workflows/e2e-test.yml"
workflow_call:
workflow_dispatch:
jobs:
e2e-test:
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
platform:
- name: ubuntu-24.04_x86_64
platform-name: ubuntu-24.04_x86_64
runs-on: ubuntu-24.04
- name: ubuntu-22.04_x86_64
platform-name: ubuntu-22.04_x86_64
runs-on: ubuntu-22.04
- name: ubuntu-24.04_armv8
platform-name: ubuntu-24.04_armv8
runs-on: ubuntu-24.04-arm
- name: ubuntu-22.04_armv8
platform-name: ubuntu-22.04_armv8
runs-on: ubuntu-22.04-arm
- name: macos_arm64
platform-name: macos_arm64
runs-on: macos-14
- name: windows_x86_64
platform-name: windows_x86_64
runs-on: windows-2025
# Self-hosted runner for Apple Video Toolbox
- name: apple_video_toolbox
platform-name: macos_arm64
runs-on:
group: Self
labels: [self-hosted, macOS, ARM64, Apple-M2-Pro]
test-target: test_sumomo_apple_video_toolbox.py
env-vars: |
APPLE_VIDEO_TOOLBOX=true
# Self-hosted runner for NVIDIA Video Codec
- name: nvidia_video_codec
platform-name: ubuntu-24.04_x86_64
runs-on:
group: Self
labels: [self-hosted, linux, x64, NVIDIA-Video-Codec-SDK]
test-target: test_sumomo_nvidia_video_codec.py
env-vars: |
NVIDIA_VIDEO_CODEC=true
# Self-hosted runner for Intel VPL
- name: intel_vpl
platform-name: ubuntu-24.04_x86_64
runs-on:
group: Self
labels: [self-hosted, linux, x64, Intel-VPL]
test-target: test_sumomo_intel_vpl.py
env-vars: |
INTEL_VPL=true
LIBVA_MESSAGING_LEVEL=0
# Self-hosted runner for AMD AMF
- name: amd_amf
platform-name: ubuntu-24.04_x86_64
runs-on:
group: Self
labels: [self-hosted, linux, x64, AMD-AMF]
env-vars: |
AMD_AMF=true
test-target: test_sumomo_amd_amf.py
# Self-hosted runner for Raspberry Pi
- name: raspberry_pi
platform-name: raspberry-pi-os_armv8
runs-on:
group: Self
labels: [self-hosted, linux, arm64, Raspberry-Pi]
test-target: test_sumomo_raspberry_pi.py
env-vars: |
RASPBERRY_PI=true
name: E2E Test for ${{ matrix.platform.name }}
runs-on: ${{ matrix.platform.runs-on }}
env:
TEST_SIGNALING_URL: ${{ secrets.TEST_SIGNALING_URL }}
TEST_CHANNEL_ID_PREFIX: ${{ secrets.TEST_CHANNEL_ID_PREFIX }}
TEST_SECRET_KEY: ${{ secrets.TEST_SECRET_KEY }}
OPENH264_VERSION: 2.6.0
steps:
- uses: actions/checkout@v5
# Homebrew のセットアップ (self-hosted macOS ランナー用)
- name: Setup Homebrew
if: ${{ runner.environment == 'self-hosted' && startsWith(matrix.platform.platform-name, 'macos') }}
uses: Homebrew/actions/setup-homebrew@master
# GitHub CLI のインストール (self-hosted macOS ランナー用)
- name: Install GitHub CLI
if: ${{ runner.environment == 'self-hosted' && startsWith(matrix.platform.platform-name, 'macos') }}
run: |
if ! command -v gh &> /dev/null; then
echo "gh コマンドが見つかりません。インストールします。"
brew install gh
else
echo "gh コマンドは既にインストールされています。"
fi
# UV のセットアップ
- uses: astral-sh/setup-uv@v7
- run: uv sync
working-directory: ./e2e-test
# ランタイム依存関係のインストール (GitHub-hosted Linux のみ)
- name: Install system dependencies
if: ${{ runner.environment != 'self-hosted' && runner.os == 'Linux' }}
run: |
sudo apt-get update
# X11
sudo apt-get install -y libx11-dev libxext-dev
# OpenGL
sudo apt-get install -y libgl-dev
# 環境変数の設定 (HWA テスト用)
- name: Set environment variables
if: matrix.platform.env-vars
run: |
echo "${{ matrix.platform.env-vars }}" | while read line; do
if [ -n "$line" ]; then
echo "$line" >> $GITHUB_ENV
fi
done
# OpenH264 のダウンロード (GitHub-hosted ランナーのみ)
- name: Download OpenH264
if: ${{ runner.environment != 'self-hosted' }}
uses: shiguredo/github-actions/.github/actions/download-openh264@main
id: openh264
with:
openh264_version: ${{ env.OPENH264_VERSION }}
use-cache: true
# OpenH264 環境変数の設定 (GitHub-hosted ランナーのみ)
- name: Setup OpenH264 environment
if: ${{ runner.environment != 'self-hosted' && steps.openh264.outputs.openh264_path }}
run: echo "OPENH264_PATH=${{ steps.openh264.outputs.openh264_path }}" >> $GITHUB_ENV
# self-hosted runner の場合このダウンロードが凄く時間かかる
- name: Download and setup sumomo binary
uses: ./.github/actions/download-sumomo
with:
platform-name: ${{ matrix.platform.platform-name }}
branch-name: ${{ github.ref_name }}
- name: Run E2E tests
run: |
# テストを実行(最初の失敗で停止、詳細ログ出力)
uv run pytest -v -x ${{ matrix.platform.test-target || '.' }}
working-directory: ./e2e-test