mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-11-13 20:58:33 +00:00
chore(ci): add fast-capture video validation workflow
Renders a video composition baseline-vs-fast on a native amd64 Linux runner and asserts the fast (drawElementImage) output matches via PSNR — validating the BeginFrame paint path captures video, which couldn't be checked locally (macOS has no BeginFrame; Docker-on-rosetta hung). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
70121363af
commit
794ebeb89f
@@ -0,0 +1,49 @@
|
||||
# Validates the experimental fast-capture (drawElementImage) VIDEO path on a
|
||||
# native amd64 Linux runner — where chrome-headless-shell's per-frame BeginFrame
|
||||
# drives a real paint each frame, so drawElementImage's snapshot is fresh and
|
||||
# video captures correctly. This is the one part of the feature that could not be
|
||||
# validated locally (macOS has no BeginFrame; Docker-on-rosetta hung).
|
||||
# See docs/fast-capture-limitations.md (Limitation 2).
|
||||
#
|
||||
# Manual trigger: Actions → "Fast-capture video validation" → Run workflow.
|
||||
name: Fast-capture video validation
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
composition:
|
||||
description: Test composition to render (must contain <video>)
|
||||
default: sub-composition-video
|
||||
min_psnr:
|
||||
description: Min fast-vs-baseline PSNR (dB) to pass
|
||||
default: "25"
|
||||
|
||||
jobs:
|
||||
validate:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
|
||||
|
||||
- name: Build test Docker image (cached)
|
||||
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
|
||||
with:
|
||||
context: .
|
||||
file: Dockerfile.test
|
||||
load: true
|
||||
tags: hyperframes-producer:test
|
||||
cache-from: type=gha,scope=regression-test-image
|
||||
cache-to: type=gha,mode=max,scope=regression-test-image
|
||||
|
||||
- name: Validate fast-capture video (drawElement + BeginFrame)
|
||||
run: |
|
||||
docker run --rm \
|
||||
--security-opt seccomp=unconfined \
|
||||
--shm-size=4g \
|
||||
-e PRODUCER_VALIDATE_COMP='${{ inputs.composition }}' \
|
||||
-e PRODUCER_VALIDATE_MIN_PSNR='${{ inputs.min_psnr }}' \
|
||||
--workdir /app/packages/producer \
|
||||
--entrypoint bunx \
|
||||
hyperframes-producer:test tsx scripts/validate-fast-video.ts
|
||||
Reference in New Issue
Block a user