85453da49f
CodeQL / Analyze (javascript-typescript) (push) Waiting to run
Docs / Validate docs (push) Waiting to run
CodeQL / Analyze (actions) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
Sync skills to ClawHub / Publish changed skills (push) Waiting to run
regression / regression-shards (style-16-prod style-9-prod style-17-prod iframe-render-compat variables-prod mp4-h265-sdr, shard-4) (push) Has been cancelled
regression / regression-shards (style-4-prod style-11-prod style-2-prod animejs-adapter typegpu-adapter parallel-capture-regression, shard-5) (push) Has been cancelled
regression / regression-shards (style-7-prod style-8-prod style-10-prod css-spinner-render-compat webm-transparency mp4-h264-sdr webm-vp9, shard-3) (push) Has been cancelled
regression / regression-shards (sub-composition-video style-18-prod raf-ball-render-compat font-variant-numeric sub-comp-t0 sub-comp-id-selector, shard-7) (push) Has been cancelled
Windows render verification / Detect changes (push) Has been cancelled
Windows render verification / Preflight (lint + format) (push) Has been cancelled
Windows render verification / Render on windows-latest (push) Has been cancelled
Windows render verification / Tests on windows-latest (push) Has been cancelled
CI / Detect changes (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Fallow audit (push) Has been cancelled
CI / Format (push) Has been cancelled
CI / Typecheck (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Producer: integration tests (push) Has been cancelled
CI / Producer: unit tests (push) Has been cancelled
CI / File size check (push) Has been cancelled
CI / Test: skills (push) Has been cancelled
CI / Skills: manifest in sync (push) Has been cancelled
CI / CLI: npx shim (macos-latest) (push) Has been cancelled
CI / CLI: npx shim (ubuntu-latest) (push) Has been cancelled
CI / CLI: npx shim (windows-latest) (push) Has been cancelled
CI / SDK: unit + contract + smoke (push) Has been cancelled
CI / Test: runtime contract (push) Has been cancelled
CI / Studio: load smoke (push) Has been cancelled
CI / Smoke: global install (push) Has been cancelled
CI / CLI smoke (required) (push) Has been cancelled
CI / Semantic PR title (push) Has been cancelled
Player perf / Detect changes (push) Has been cancelled
Player perf / Preflight (lint + format) (push) Has been cancelled
Player perf / player-perf (push) Has been cancelled
Player perf / Perf: drift (push) Has been cancelled
Player perf / Perf: fps (push) Has been cancelled
Player perf / Perf: parity (push) Has been cancelled
Player perf / Perf: scrub (push) Has been cancelled
Player perf / Perf: load (push) Has been cancelled
preview-regression / Detect changes (push) Has been cancelled
preview-regression / Preflight (lint + format) (push) Has been cancelled
preview-regression / Preview parity (push) Has been cancelled
preview-regression / preview-regression (push) Has been cancelled
regression / regression (push) Has been cancelled
regression / Detect changes (push) Has been cancelled
regression / Preflight (lint + format) (push) Has been cancelled
regression / regression-shards (hdr-regression style-5-prod style-3-prod mov-prores, shard-1) (push) Has been cancelled
regression / regression-shards (overlay-montage-prod style-12-prod chat missing-host-comp-id png-sequence portrait-edge-bleed, shard-6) (push) Has been cancelled
regression / regression-shards (style-13-prod style-6-prod vignelli-stacking gsap-letters-render-compat audio-mux-parity, shard-8) (push) Has been cancelled
regression / regression-shards (style-15-prod hdr-hlg-regression style-1-prod many-cuts vfr-screen-recording render-symlinked-assets, shard-2) (push) Has been cancelled
56 lines
2.1 KiB
YAML
56 lines
2.1 KiB
YAML
# 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
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
on:
|
|
# Manual only. NOTE: currently fails by design — fast capture cannot capture
|
|
# video on any platform yet (see docs/fast-capture-limitations.md, Limitation 2).
|
|
# This is the regression gate for if/when fast video is implemented.
|
|
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
|