11c554e43a
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 51s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m49s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m32s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m6s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m18s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 3m38s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m45s
AI Code Review / AI Code Review (pull_request) Successful in 6m41s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 7m15s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 9m14s
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 6m48s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 31s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m1s
Problem: GPU direct render MVP hardcoded title/subtitle/BGM styles and ignored template config fields: - P0 static subtitle text (subtitle.text) was never rendered - P0 title styles (font/size/color/position/stroke/shadow/bold) all hardcoded - P1 BGM volume hardcoded at 0.35, no fade/offset/adjust-db - P1 ASR subtitle styles (color/size/position/font) ignored - P2 extra_audio_tracks (TTS/voiceover) volume hardcoded at 1.0 Changes: 1. build_direct_render() now accepts title_config/subtitle_config/ bgm_config dicts + static_subtitle_text. 2. Added helpers _hex_to_drawtext_color (#RGB/#RRGGBB/#RRGGBBAA/named), _position_to_drawtext_xy (top/center/bottom), _build_drawtext_filters (shadow layer + main layer, stroke via borderw/bordercolor, bold simulated via same-color borderw). 3. Title parses font/size/color/position/stroke/shadow/bold with safe defaults; legacy title_text still used as fallback. 4. Static subtitle_text renders as full-span (0→total_duration) segment; when ASR segments are present they take priority. 5. BGM reads volume (default 0.3), volume_adjust_db (linear gain), fade_in/fade_out (afade), audio_offset (adelay ms|ms), and honors enabled=false even if path supplied. Volume clamped to [0,1.5]. 6. _try_gpu_direct() now passes cfg['title']/['subtitle']/['bgm'] whole dicts through, computes static_subtitle_text for non-auto subs, and sources extra_audio_tracks volume from audio_tracks_config (voiceover tracks) instead of hardcoding 1.0. 7. DirectRenderPlan exposes filter_complex for testing. 8. Added 24 unit tests covering: default backward-compat, color hex/BGR conversion (short/long/alpha/invalid), position (top/center/bottom), stroke, shadow (two drawtext layers), font override, enabled flag, static subtitle full-span, ASR style passthrough, BGM volume/fade/offset/adjust-db/enabled=false, extra audio volume, bold simulation, ASR vs static priority, volume clamping. Fixes template-style rendering not taking effect in GPU pipeline.
xiaoxia-saas Worker
结构
worker_app/core/:worker 配置worker_app/celery_app.py:Celery 应用入口worker_app/tasks/:任务模块main.py:本地调试入口
当前任务
worker.healthcheck