Skip to content

e2e-test-amd-amf

e2e-test-amd-amf #396

name: e2e-test-amd-amf
on:
workflow_dispatch:
push:
paths:
- ".github/workflows/e2e-test-amd-amf.yml"
- "tests/test_amd_amf.py"
# C++ SDK のアップデートしたときテストするため
- "VERSION"
- "DEPS"
schedule:
# UTC の 01:00 は JST だと 10:00 。
# 1-5 で 月曜日から金曜日
# - cron: "0 1 * * 1-5"
# JST 11:00-16:00 の毎時 00 分と 30 分 (UTC 02:00-07:00)
- cron: "0,30 2-7 * * 1-5"
env:
TEST_SIGNALING_URLS: ${{ secrets.TEST_SIGNALING_URLS }}
TEST_CHANNEL_ID_PREFIX: ${{ secrets.TEST_CHANNEL_ID_PREFIX }}
TEST_SECRET_KEY: ${{ secrets.TEST_SECRET_KEY }}
TEST_API_URL: ${{ secrets.TEST_API_URL }}
AMD_AMF: true
permissions:
contents: read
jobs:
e2e_test_amf:
strategy:
fail-fast: true
matrix:
python_version:
# TODO: push 時には 3.13 でテストする、schedule 時には全部でテストする
# - "3.11"
# - "3.12"
- "3.13"
runs-on:
group: Self
labels: [self-hosted, linux, x64, AMD-AMF]
timeout-minutes: 10
if:
${{
contains(github.event.head_commit.message, '[e2e]') ||
contains(github.ref, 'feature/e2e-test') ||
github.event_name == 'workflow_dispatch' ||
github.event_name == 'push' ||
github.event_name == 'schedule'
}}
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
with:
enable-cache: false
- run: |
uv python pin ${{ matrix.python_version }}
uv sync
uv run python run.py ubuntu-24.04_x86_64
uv run pytest tests/test_amd_amf.py -v
# slack_notify_succeeded:
# needs: [e2e_test_ubuntu, e2e_test_macos, e2e_test_windows]
# runs-on: ubuntu-24.04
# if: success()
# steps:
# - name: Slack Notification
# uses: rtCamp/action-slack-notify@v2
# env:
# SLACK_CHANNEL: sora-python-sdk
# SLACK_COLOR: good
# SLACK_TITLE: SUCCEEDED
# SLACK_ICON_EMOJI: ":star-struck:"
# SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
slack_notify_failed:
needs: [e2e_test_amf]
runs-on: ubuntu-24.04
if: failure()
steps:
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_CHANNEL: sora-python-sdk
SLACK_COLOR: danger
SLACK_TITLE: "FAILED"
SLACK_ICON_EMOJI: ":japanese_ogre:"
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}