claude-video/.github/workflows/tests.yml
bradautomates e90ef44c32 Implement v0.3.0 reliability fixes and managed WhisperX transcription
Add opt-in local transcription with managed installation, cache warm-up,
and a one-time backend choice while preserving native-caption priority.

Correct frame timing and coverage, caption provenance and download
ownership, configuration parsing, provider pairing, and partial reports.
Update cross-host instructions, packaging, and test-gated release CI.

Validate 198 isolated tests, real local English and Spanish inference,
network-denied warm-cache inference, live captions/media, and packaging.
Record platform and account-dependent acceptance limits separately.
2026-09-12 22:09:43 +10:00

50 lines
1.3 KiB
YAML

name: Tests
on:
push:
branches: [main]
pull_request:
workflow_call:
permissions:
contents: read
jobs:
test:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
python: '3.10'
- os: ubuntu-latest
python: '3.12'
- os: macos-latest
python: '3.12'
- os: windows-latest
python: '3.12'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install FFmpeg (Linux, including the retained 4.4 compatibility path)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y ffmpeg
- name: Install FFmpeg (macOS)
if: runner.os == 'macOS'
run: brew list ffmpeg >/dev/null 2>&1 || brew install ffmpeg
- name: Install FFmpeg (Windows)
if: runner.os == 'Windows'
run: choco install ffmpeg --no-progress -y
- name: Install test tools
run: python -m pip install pytest "yt-dlp[default]==2026.8.19"
- name: Verify executables
run: |
ffmpeg -version
ffprobe -version
yt-dlp --version
- name: Run isolated tests (no model downloads or live APIs)
run: python -m pytest -q