355e25b2aa
CI Build & Deploy Pipeline / Build Staging API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (pull_request) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 15s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 28s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 50s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 3m22s
Auto Approve CI PRs / Auto Approve on CI Green (pull_request) Successful in 3m41s
AI Code Review / AI Code Review (pull_request) Successful in 4m21s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m20s
Auto Merge CI PRs / Auto Merge on CI Green + Approved (pull_request) Successful in 5m0s
问题:ingest流程中ffprobe/Pillow失败时仍然创建status=READY的asset, 导致27字节文本文件也能伪装成有效视频进入素材库, 一键生成自动选到坏素材直接渲染失败。 修复: - extract_media_metadata返回(metadata, success)二元组 - 新增_is_valid_media校验函数: * 视频:ffprobe成功 + size>=1KB + duration>0 * 音频:ffprobe成功 + size>=100B + duration>0 * 图片:Pillow验证通过 + size>=100B + width>0 + height>0 - 校验失败的asset标记为ERROR状态,ingest job标记为FAILED - 新增14个单元测试:有效性判断+返回值签名+完整ingest流程 - 补充音频元数据提取(之前只有视频和图片)