Commit Graph

259 Commits

Author SHA1 Message Date
xiaoxia de56a67457 fix(ci): run_staging_tests.sh 同样加 trap EXIT 回收 staging 测试容器
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m47s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m51s
AI Code Review / AI Code Review (pull_request) Successful in 6m21s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 16m55s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 0s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m3s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m39s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m54s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 5m7s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 10m1s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 10m44s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 12m24s
CI/CD Pipeline / CI Gate (pull_request) Successful in 2s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 22s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 52s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 8h40m31s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 8h51m17s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 8h40m28s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 8h51m16s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 8h50m33s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 8h50m33s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 8h39m47s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 8h39m47s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 8h50m25s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 8h50m27s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 8h50m27s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 8h50m27s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 8h50m22s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 8h50m34s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 8h50m39s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 8h39m44s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 8h50m22s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 8h50m34s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 9h26m5s
2026-09-16 00:19:06 +08:00
xiaoxia 371be8034d fix(ci): trap EXIT 回收集成测试 PG/Redis 容器,杜绝取消/失败时泄漏
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Has been cancelled
CI/CD Pipeline / Check if frontend-only change (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Check push changed paths (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
问题:run_integration_tests.sh 用 docker run -d 起 ci-pg-/ci-redis- 服务容器,
仅在脚本正常走到结尾时 rm;job 失败(set -e)或被 Gitea 取消(SIGTERM)时容器
永久残留。2026-09-15 堆积 20 个泄漏容器把构建机 load 顶到 25.9,CI 大面积排队。

修复:参照 validate_migration.sh 既有做法,新增幂等 cleanup_containers 并注册
trap EXIT/INT/TERM,在启动服务容器前生效,保证任何退出路径都回收临时容器;
共享 PG 模式的 drop-db 逻辑保持不变。主机侧另有 ci_service_reaper.py 每5分钟兜底。
2026-09-16 00:17:58 +08:00
xiaoxia 53fb25efcf fix(#1834): 批量修复 UP 系列静态分析警告(UP007/UP006/UP017/UP035) (#1928)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 19s
CI/CD Pipeline / Build Staging API Image (push) Successful in 41s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 48s
CI/CD Pipeline / Integration Tests (push) Successful in 3m10s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 3m17s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m30s
CI/CD Pipeline / Validate - Style (push) Successful in 4m17s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 59s
CI/CD Pipeline / Frontend Unit Tests (push) Failing after 5m33s
CI/CD Pipeline / Validate - Security (push) Successful in 7m12s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m38s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m13s
CI/CD Pipeline / Unit Tests (push) Successful in 10m11s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Failing after 26h14m3s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 26h24m21s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 26h19m47s
CI/CD Pipeline / PR Build Web Image (push) Failing after 26h23m44s
CI/CD Pipeline / PR Build API Image (push) Failing after 26h23m44s
CI/CD Pipeline / Deploy Production (push) Failing after 26h13m23s
CI/CD Pipeline / Build Production Web Image (push) Failing after 26h13m26s
CI/CD Pipeline / CI Gate (push) Failing after 26h13m25s
CI/CD Pipeline / Build Production API Image (push) Failing after 26h13m26s
CI/CD Pipeline / Canary Release to Production (push) Failing after 26h13m23s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 26h19m46s
CI/CD Pipeline / Frontend Lint (push) Failing after 26h23m37s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 26h23m45s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 26h19m46s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-15 12:59:17 +08:00
saas-backend 8237d170a5 feat(#1899,#1900): clip_count 参数 + 模板管理 API 冗余清理
[skip ci-format-check]

#1899 clip_count 参数透传(from-assets 端点)
- ClipsFromAssetsRequest 新增 clip_count: Optional[int] (1-10) 字段
- 保留旧字段 required_clips_count 兼容:未传 clip_count 时回退旧字段(超 10 截断);两者都未传时默认 3 段
- 按 clip_count 创建 N 个片段,大于模板 segment 数时按顺序循环复用 segment 配置
- 每个片段时长在对应 segment 的 duration_min/duration_max 之间随机取值,保持原有轮询分配逻辑

#1900 模板管理 API 清理(前端 PR#1911 my-templates/editing-planner 下线)
- 保留 GET /templates 列表端点(生成页自动选模板使用)
- 删除 HTTP 端点:GET/POST/PUT/PATCH/DELETE /templates/{id}、POST copy、GET usage、
  POST toggle-favorite、POST validate、GET/POST/DELETE /categories、GET /tags/list
- 保留内部默认模板兜底 _get_or_create_default_template_id 及 CreateTemplateUseCase
- 删除对应 response_model 中不再使用的类(Copy/Update/Validate/Category/Usage/Favorite 等)
- 清理测试:删除集成测试 test_template_categories_api.py,更新 3 个单测适配新 clip_count 语义

DB:未涉及 schema 变更(models 本就无 is_favorite/usage_count 等列),跳过 migration。
新增 scripts/cleanup_e2e_test_data.sql 供运维在 staging DB 手动清理 e2e-gen-*/asset-create_* 账号残留模板数据。

单测:15128 passed, 28 skipped(全量 tests/unit/)
2026-09-15 07:32:06 +08:00
xiaoxia d478a9ffbc fix(ci): push :dev tag for watchtower + fix staging deploy host to 116 (#1889)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 6s
CI/CD Pipeline / Build Staging API Image (push) Successful in 28s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 27s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 51s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 56s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 4m23s
CI/CD Pipeline / Integration Tests (push) Successful in 4m31s
CI/CD Pipeline / Validate - Style (push) Successful in 4m46s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 5m23s
CI/CD Pipeline / Unit Tests (push) Successful in 9m50s
CI/CD Pipeline / Validate - Security (push) Successful in 13m31s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Failing after 48h27m19s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 48h38m53s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 48h40m31s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 48h39m25s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 48h39m25s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 48h40m30s
CI/CD Pipeline / PR Build Web Image (push) Failing after 48h40m30s
CI/CD Pipeline / Build Production Web Image (push) Failing after 48h26m55s
CI/CD Pipeline / Build Production API Image (push) Failing after 48h26m55s
CI/CD Pipeline / CI Gate (push) Failing after 48h26m54s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 48h38m25s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 48h26m54s
CI/CD Pipeline / Canary Release to Production (push) Failing after 48h26m52s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 48h38m25s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 48h39m24s
CI/CD Pipeline / PR Build API Image (push) Failing after 48h40m30s
CI/CD Pipeline / Frontend Lint (push) Failing after 48h40m25s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-14 14:42:46 +08:00
xiaoxia 628fc6c4e6 fix(ci): push :dev tag to registry for watchtower auto-update (#1888)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 9s
CI/CD Pipeline / Build Staging API Image (push) Successful in 19s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 23s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 50s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 56s
CI/CD Pipeline / Integration Tests (push) Successful in 3m30s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 3m44s
CI/CD Pipeline / Validate - Style (push) Successful in 4m7s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m4s
CI/CD Pipeline / Validate - Security (push) Successful in 10m34s
CI/CD Pipeline / Unit Tests (push) Successful in 12m4s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Build Production Worker Image (push) Failing after 48h45m22s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 48h55m35s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 48h57m39s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 48h56m9s
CI/CD Pipeline / PR Build Web Image (push) Failing after 48h57m12s
CI/CD Pipeline / PR Build API Image (push) Failing after 48h57m13s
CI/CD Pipeline / Deploy Production (push) Failing after 48h44m51s
CI/CD Pipeline / Build Production Web Image (push) Failing after 48h44m55s
CI/CD Pipeline / CI Gate (push) Failing after 48h44m55s
CI/CD Pipeline / Canary Release to Production (push) Failing after 48h44m51s
CI/CD Pipeline / Build Production API Image (push) Failing after 48h44m55s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 48h55m8s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 48h55m8s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 48h56m9s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 48h56m9s
CI/CD Pipeline / Frontend Lint (push) Failing after 48h57m7s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 48h57m14s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-14 14:26:05 +08:00
xiaoxia f651422582 fix(deploy): 修复生产部署脚本502——worker/web容器启动失败 (#1887)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 11s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 39s
CI/CD Pipeline / Integration Tests (push) Successful in 3m18s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 3m21s
CI/CD Pipeline / Validate - Style (push) Successful in 3m54s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m16s
CI/CD Pipeline / Validate - Security (push) Successful in 8m17s
CI/CD Pipeline / Unit Tests (push) Successful in 8m42s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Build Staging API Image (push) Successful in 14m38s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 18m14s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 5m19s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m26s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m58s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 3m1s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 51h35m15s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 51h44m59s
CI/CD Pipeline / PR Build Web Image (push) Failing after 51h53m46s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 51h53m21s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 51h53m20s
CI/CD Pipeline / PR Build API Image (push) Failing after 51h53m20s
CI/CD Pipeline / Deploy Production (push) Failing after 51h44m31s
CI/CD Pipeline / Build Production Web Image (push) Failing after 51h44m33s
CI/CD Pipeline / Build Production API Image (push) Failing after 51h44m33s
CI/CD Pipeline / CI Gate (push) Failing after 51h44m33s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 51h34m50s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 51h34m50s
CI/CD Pipeline / Canary Release to Production (push) Failing after 51h26m28s
CI/CD Pipeline / Frontend Lint (push) Failing after 51h53m16s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-14 11:29:58 +08:00
xiaoxia caa4ce118c fix(ci): auto-fix 脚本补充 ruff check --fix(含 F401 等 unsafe fix)
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 2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 26s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 27s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m8s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 1m31s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m1s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m41s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 3m57s
AI Code Review / AI Code Review (pull_request) Successful in 6m40s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 9m25s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m31s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 24m37s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 2s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 11s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m42s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 138h38m17s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 139h2m44s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 139h2m55s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 139h2m56s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 139h2m43s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 139h2m38s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 139h2m43s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 139h2m43s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 139h2m49s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 139h2m49s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 139h2m49s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 138h38m4s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 138h38m5s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 138h38m6s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 139h2m51s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 138h38m4s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 139h2m32s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 139h2m32s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 139h2m43s
- fix_python() 在 black/isort 之后追加 ruff check --fix --unsafe-fixes
- 目标范围与 validate_style.sh 对齐:apps packages tests(alembic 被 ruff exclude,scripts 不在检查范围)
- ruff 不可用或修复后仍有残余问题时不阻断,剩余 lint 由 style check 继续拦截
- workflow step 名同步更新

解决 F401 等 ruff 可自动修复错误无法自动推修复、开发者反复打回的问题
2026-09-10 20:20:25 +08:00
xiaoxia 6ee99a652c fix: 部署脚本 worker health-cmd 未转义导致 staging 部署失败回滚 (#1806)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 0s
CI/CD Pipeline / Check push changed paths (push) Successful in 4s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 27s
CI/CD Pipeline / Build Staging API Image (push) Successful in 28s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 59s
CI/CD Pipeline / Integration Tests (push) Successful in 1m31s
CI/CD Pipeline / Validate - Style (push) Successful in 2m4s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 2m3s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m34s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m12s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m30s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 5m0s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m56s
CI/CD Pipeline / Unit Tests (push) Successful in 6m47s
CI/CD Pipeline / Validate - Security (push) Successful in 20m59s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 184h21m33s
CI/CD Pipeline / CI Gate (push) Failing after 184h21m35s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 184h21m35s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 184h41m28s
CI/CD Pipeline / Build Production Web Image (push) Failing after 184h21m35s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 184h41m29s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 184h41m29s
CI/CD Pipeline / PR Build Web Image (push) Failing after 184h42m32s
CI/CD Pipeline / PR Build API Image (push) Failing after 184h42m32s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 184h42m37s
CI/CD Pipeline / Deploy Production (push) Failing after 184h56m19s
CI/CD Pipeline / Build Production API Image (push) Failing after 184h56m21s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 185h17m17s
CI/CD Pipeline / Frontend Lint (push) Failing after 185h17m18s
2026-09-08 22:41:28 +08:00
CI Bot e4ac398397 fix: Worker 健康检查彻底修复 - 移除不可用的 pgrep 和 PID1 检查
根因:#1714 队列隔离后 entrypoint 启动两个 celery worker 子进程,
PID 1 变为 bash。旧健康检查依赖 pgrep(容器内不存在)或
/proc/1/cmdline(PID 1 是 bash 不是 celery),永远返回失败。
此前靠 cron 脚本 fix-worker-healthcheck.sh 每 30 分钟擦屁股。

修复:统一改为扫描 /proc/[0-9]*/cmdline 查找 celery 进程,
覆盖所有部署/回滚/CI 脚本(10 处替换)。已移除 cron 补丁。
2026-09-08 19:07:37 +08:00
xiaoxia 5678779232 feat: #1776 素材库 asset_count 自动同步维护 (#1787)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 4s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 4s
CI/CD Pipeline / Check push changed paths (push) Successful in 12s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 12s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m58s
CI/CD Pipeline / Integration Tests (push) Successful in 2m1s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m2s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 34s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Validate - Style (push) Successful in 2m32s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 26s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m56s
CI/CD Pipeline / Build Staging API Image (push) Successful in 59s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m40s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m9s
CI/CD Pipeline / CI Gate (pull_request) Successful in 13s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m5s
AI Code Review / AI Code Review (pull_request) Successful in 6m29s
CI/CD Pipeline / Validate - Security (push) Successful in 6m24s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m48s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m53s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 8m1s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m40s
CI/CD Pipeline / Unit Tests (push) Failing after 10m13s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 196h43m21s
CI/CD Pipeline / Build Production Web Image (push) Failing after 196h43m25s
CI/CD Pipeline / Deploy Production (push) Failing after 196h43m21s
CI/CD Pipeline / Build Production API Image (push) Failing after 196h43m25s
CI/CD Pipeline / CI Gate (push) Failing after 196h43m25s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 196h49m9s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 196h49m10s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 196h49m21s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 196h49m11s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 196h51m9s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 196h51m14s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 196h51m14s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 196h51m15s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 196h51m14s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 196h51m22s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 196h51m23s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 196h51m50s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 196h51m24s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 196h51m54s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 196h51m24s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 196h53m10s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 196h53m10s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 196h53m10s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 196h53m11s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 196h53m11s
CI/CD Pipeline / Frontend Lint (push) Failing after 196h53m13s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 196h53m40s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 196h53m41s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 196h53m41s
CI/CD Pipeline / PR Build Web Image (push) Failing after 196h53m42s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 196h53m41s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 196h53m45s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 196h53m46s
CI/CD Pipeline / PR Build API Image (push) Failing after 196h53m42s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 197h18m9s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 197h26m31s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 197h27m53s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 197h27m54s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-08 10:30:21 +08:00
xiaoxia 9840d5d778 deploy(#1718): 微信OAuth凭证纳入env模板+CI渲染,修复staging部署覆盖丢失 (#1721)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Check push changed paths (push) Successful in 8s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 18s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 29s
CI/CD Pipeline / Build Staging API Image (push) Successful in 28s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 29s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m34s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 43s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 43s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m56s
CI/CD Pipeline / CI Gate (pull_request) Successful in 4s
CI/CD Pipeline / Integration Tests (push) Successful in 2m22s
CI/CD Pipeline / Validate - Style (push) Successful in 2m40s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 50s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m8s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m30s
CI/CD Pipeline / Validate - Security (push) Successful in 4m53s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m31s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m8s
AI Code Review / AI Code Review (pull_request) Successful in 6m28s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 3m54s
CI/CD Pipeline / Unit Tests (push) Successful in 9m4s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 261h35m29s
CI/CD Pipeline / CI Gate (push) Failing after 261h35m33s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 261h35m33s
CI/CD Pipeline / Build Production API Image (push) Failing after 261h35m33s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 261h41m21s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 261h42m35s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 261h42m39s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 261h42m39s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 261h42m41s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 261h42m43s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 261h42m44s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 261h42m50s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 261h42m50s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 261h42m50s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 261h42m51s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 261h44m31s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 261h42m51s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 261h44m32s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 261h44m29s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 261h44m32s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 261h44m29s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 261h44m32s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 261h44m29s
CI/CD Pipeline / Frontend Lint (push) Failing after 261h44m37s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 261h44m30s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 261h44m39s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 261h44m41s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 261h44m39s
CI/CD Pipeline / PR Build Web Image (push) Failing after 261h44m39s
CI/CD Pipeline / PR Build API Image (push) Failing after 261h44m39s
CI/CD Pipeline / Deploy Production (push) Failing after 262h10m3s
CI/CD Pipeline / Build Production Web Image (push) Failing after 262h10m7s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 262h17m10s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 262h17m16s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 262h17m19s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 262h17m24s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 262h19m5s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 262h19m6s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-05 17:39:46 +08:00
CI Test 18beb7cfa3 fix(ci): 修复自动合并竞态条件 (#1648)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 4s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 5s
CI/CD Pipeline / Check push changed paths (push) Successful in 20s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 22s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 9s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 12s
CI/CD Pipeline / Build Staging API Image (push) Successful in 47s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 46s
CI/CD Pipeline / Deploy 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 4s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 20s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m7s
AI Code Review / AI Code Review (pull_request) Failing after 2m3s
CI/CD Pipeline / Integration Tests (push) Successful in 2m13s
CI/CD Pipeline / Validate - Style (push) Successful in 2m42s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m12s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m8s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m5s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m34s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m31s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m2s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 3m53s
CI/CD Pipeline / Validate - Security (push) Successful in 7m36s
CI/CD Pipeline / Unit Tests (push) Successful in 8m18s
CI/CD Pipeline / Build Production Web Image (push) Successful in 12s
CI/CD Pipeline / Build Production Worker Image (push) Successful in 11s
CI/CD Pipeline / Build Production API Image (push) Successful in 13s
CI/CD Pipeline / Deploy Production (push) Successful in 42s
CI/CD Pipeline / Production Browser E2E (push) Failing after 4m46s
CI/CD Pipeline / Canary Release to Production (push) Failing after 311h20m59s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 311h26m15s
CI/CD Pipeline / CI Gate (push) Failing after 311h21m12s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 311h27m30s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 311h27m35s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 311h27m34s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 311h27m41s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 311h27m51s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 311h27m56s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 311h27m58s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 311h27m59s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 311h28m1s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 311h28m3s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 311h28m50s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 311h28m3s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 311h28m59s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 311h28m59s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 311h29m20s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 311h29m20s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 311h29m21s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 311h29m22s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 311h29m23s
CI/CD Pipeline / Frontend Lint (push) Failing after 311h29m26s
CI/CD Pipeline / PR Build Web Image (push) Failing after 311h29m35s
CI/CD Pipeline / PR Build API Image (push) Failing after 311h29m39s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 311h29m40s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 311h29m45s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 312h1m56s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 312h2m22s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 312h3m20s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 312h3m41s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 312h3m43s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 312h3m56s
2026-09-03 15:55:00 +08:00
xiaoxia 5474812fab fix(deploy): 部署脚本内嵌 nginx 配置,运行时覆盖容器内 upstream (#1647)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 4s
CI/CD Pipeline / Check push changed paths (push) Successful in 8s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 10s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 22s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 22s
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 311h30m57s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 311h30m58s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 311h30m58s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 311h30m59s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 311h30m59s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 311h31m4s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 311h31m19s
CI/CD Pipeline / Frontend Lint (push) Failing after 311h31m21s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 311h31m19s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 311h31m26s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 311h31m26s
CI/CD Pipeline / PR Build Web Image (push) Failing after 311h31m26s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 311h31m27s
CI/CD Pipeline / PR Build API Image (push) Failing after 311h31m27s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 311h31m28s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 312h5m18s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 312h5m19s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-03 15:53:27 +08:00
xiaoxia ffd02a3ec8 fix(ci): 修复自动合并竞态问题
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 16s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Failing after 27s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 54s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 38s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m16s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m5s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m17s
AI Code Review / AI Code Review (pull_request) Successful in 5m51s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 5m37s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 7m21s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 3m58s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 57s
CI/CD Pipeline / CI Gate (pull_request) Failing after 18s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 311h27m51s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 311h27m57s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 311h27m58s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 311h28m55s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 311h28m55s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 311h28m57s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 311h36m28s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 311h36m47s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 311h36m48s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 311h36m55s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 311h36m35s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 311h36m55s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 311h36m35s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 311h36m56s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 312h11m8s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 312h11m14s
问题:auto-merge job 和 auto-approve job 并行执行,auto-merge
在审批完成前就检查审批状态,发现无审批后直接退出。等审批完成时
merge job 已结束,无人再触发合并,PR 卡住无法自动合并。

实核:PR #1602 CI 全绿 + 已审批,但 PR 至今未合并。
auto-merge 在 6m43s 退出,auto-approve 在 8m8s 才完成。

修复:
1. pr-automation.yml: auto-merge 添加 needs: [auto-approve],
   确保审批完成后再尝试合并
2. pr-automation.yml: auto-approve timeout 从 3min 增至 10min,
   auto-merge timeout 从 3min 增至 15min
3. auto_merge.sh: 将单次检查改为轮询模式(30s初始等待 + 60次×10s
   轮询 = 最多10分钟),CI pending 时 return 1 继续重试而非 exit 0
   直接退出
2026-09-03 15:47:44 +08:00
xiaoxia 5cdaa29511 fix(healthcheck): 生产健康检查 /docs 接受 404,修复 develop push 生产部署回滚 (#1646)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 5s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 4s
CI/CD Pipeline / Check push changed paths (push) Successful in 10s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 29s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 12s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 14s
CI/CD Pipeline / Deploy 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 4s
CI/CD Pipeline / Build Staging API Image (push) Successful in 37s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 36s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 18s
AI Code Review / AI Code Review (pull_request) Failing after 1m57s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m59s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m6s
CI/CD Pipeline / Integration Tests (push) Successful in 2m12s
CI/CD Pipeline / Validate - Style (push) Successful in 2m41s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m19s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m13s
CI/CD Pipeline / Validate - Security (push) Successful in 6m58s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m42s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m37s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m32s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 4m23s
CI/CD Pipeline / Unit Tests (push) Successful in 10m51s
CI/CD Pipeline / Build Production API Image (push) Successful in 32s
CI/CD Pipeline / Build Production Worker Image (push) Successful in 33s
CI/CD Pipeline / Build Production Web Image (push) Successful in 33s
CI/CD Pipeline / Deploy Production (push) Successful in 1m2s
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Failing after 311h34m25s
CI/CD Pipeline / CI Gate (push) Failing after 311h35m1s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 311h44m35s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 311h44m57s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 311h45m2s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 311h44m35s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 311h45m3s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 311h44m57s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 311h45m11s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 311h45m12s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 311h45m15s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 311h45m13s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 311h45m17s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 311h45m47s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 311h45m49s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 311h45m49s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 311h45m50s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 311h45m50s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 311h45m51s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 311h45m51s
CI/CD Pipeline / Frontend Lint (push) Failing after 311h45m52s
CI/CD Pipeline / PR Build Web Image (push) Failing after 311h45m59s
CI/CD Pipeline / PR Build API Image (push) Failing after 311h46m0s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 311h46m1s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 311h46m1s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 311h46m3s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 312h19m23s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 312h19m31s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 312h19m36s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 312h20m10s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 312h20m11s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 312h20m12s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 312h20m20s
2026-09-03 15:38:50 +08:00
xiaoxia b1eabdc847 fix: increase healthcheck timeout to 300s + fix rollback registry to ACR
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Check push changed paths (push) Successful in 7s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 19s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 23s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 25s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (push) Successful in 19s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 20s
CI/CD Pipeline / CI Gate (pull_request) Successful in 11s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 19s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m58s
CI/CD Pipeline / Integration Tests (push) Successful in 2m17s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m25s
AI Code Review / AI Code Review (pull_request) Successful in 2m26s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m16s
CI/CD Pipeline / Validate - Style (push) Successful in 2m49s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m7s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m38s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m25s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m12s
CI/CD Pipeline / Validate - Security (push) Successful in 6m21s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 5m16s
CI/CD Pipeline / Unit Tests (push) Successful in 8m22s
CI/CD Pipeline / Build Production Web Image (push) Successful in 11s
CI/CD Pipeline / Build Production API Image (push) Successful in 11s
CI/CD Pipeline / Build Production Worker Image (push) Successful in 11s
CI/CD Pipeline / Deploy Production (push) Failing after 11m15s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 312h59m40s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 313h7m27s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 313h7m27s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 313h7m32s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 313h7m35s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 313h7m36s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 313h7m50s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 313h7m50s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 313h7m50s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 313h7m50s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 313h7m51s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 313h7m54s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 313h7m56s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 313h7m56s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 313h8m17s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 313h8m17s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 313h8m18s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 313h8m18s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 313h8m19s
CI/CD Pipeline / Frontend Lint (push) Failing after 313h8m19s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 313h8m25s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 313h8m24s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 313h8m25s
CI/CD Pipeline / PR Build Web Image (push) Failing after 313h8m25s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 313h8m27s
CI/CD Pipeline / PR Build API Image (push) Failing after 313h8m25s
CI/CD Pipeline / CI Gate (push) Failing after 313h34m16s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 313h41m54s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 313h42m6s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 313h42m11s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 313h42m17s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 313h42m38s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 313h42m39s
2026-09-03 14:16:32 +08:00
xiaoxia 1134472e12 fix(ci): correct PG credentials in temp container DATABASE_URL + fix mypy no-redef 2026-09-03 10:28:32 +08:00
xiaoxia c69338ea20 fix(ci): correct PG credentials in temp container DATABASE_URL + fix mypy no-redef
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 316h56m28s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 316h56m30s
2026-09-03 10:28:31 +08:00
xiaoxia f4564e3445 fix(ci): rewrite detect_docker_host to use network topology instead of port probe
CI/CD Pipeline / Check if frontend-only change (pull_request) Failing after 20m51s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Failing after 20m51s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 56s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 1m2s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m9s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 11m18s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 11m19s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 11m19s
CI/CD Pipeline / CI Gate (pull_request) Failing after 3s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 317h0m10s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 317h0m14s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 317h0m12s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 317h0m14s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 317h0m12s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 317h11m25s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 317h11m25s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 317h11m25s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 317h11m28s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 317h11m26s
CI/CD Pipeline / PR Build Worker Image (pull_request) Failing after 317h11m28s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 317h11m28s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 317h11m32s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 317h11m37s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 317h11m28s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 317h11m37s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 317h32m28s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 317h34m35s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 317h45m49s
CI/CD Pipeline / PR Build API Image (pull_request) Failing after 317h45m49s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 317h45m58s
2026-09-03 09:52:30 +08:00
xiaoxia 04084c4c1d fix(ci): rewrite detect_docker_host to use network topology instead of port probe
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 20m50s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 20m50s
PR Automation / Auto Approve on CI Green (pull_request) Failing after 20m50s
AI Code Review / AI Code Review (pull_request) Failing after 20m51s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 317h32m29s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 317h32m32s
2026-09-03 09:52:27 +08:00
xiaoxia 962564684f fix(mypy+ci): resolve mypy errors and fix integration tests PG dependency 2026-09-03 09:46:25 +08:00
xiaoxia a1a517678d fix(mypy+ci): resolve mypy errors and fix integration tests PG dependency 2026-09-03 09:46:23 +08:00
xiaoxia e6c44c9bf8 feat(config): Phase 5 — 配置 Diff 验证,检测配置漂移 (#1632)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 4m59s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 5m16s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m15s
CI/CD Pipeline / CI Gate (pull_request) Successful in 3s
AI Code Review / AI Code Review (pull_request) Successful in 7m12s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 7m25s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 7m55s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 333h2m42s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 333h2m46s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 333h2m48s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 333h2m43s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 333h2m54s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 333h2m55s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 333h2m50s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 333h3m1s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 333h9m16s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 333h2m56s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 333h9m18s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 333h2m57s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 333h9m19s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 333h9m22s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 333h9m23s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 333h9m24s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 333h9m25s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 333h9m27s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 333h9m30s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 333h37m5s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 333h37m13s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 333h37m20s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 333h43m38s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 333h43m41s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 333h43m46s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Validate - Style (push) Successful in 7m37s
CI/CD Pipeline / Validate - Security (push) Successful in 9m42s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 329h43m53s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 6m31s
CI/CD Pipeline / Unit Tests (push) Successful in 15m49s
CI/CD Pipeline / Integration Tests (push) Successful in 6m26s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 24m50s
CI/CD Pipeline / Production Browser E2E (push) Failing after 329h43m39s
CI/CD Pipeline / PR Build Web Image (push) Failing after 333h43m47s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 10m40s
CI/CD Pipeline / Check push changed paths (push) Successful in 6s
CI/CD Pipeline / Build Staging API Image (push) Successful in 1m44s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m42s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m38s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 333h2m18s
CI/CD Pipeline / PR Build API Image (push) Failing after 333h9m29s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 24m6s
CI/CD Pipeline / Build Production Web Image (push) Failing after 333h27m58s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m38s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 332h53m37s
CI/CD Pipeline / Build Production API Image (push) Failing after 332h53m37s
CI/CD Pipeline / CI Gate (push) Failing after 332h53m37s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 333h2m18s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 333h2m18s
CI/CD Pipeline / Canary Release to Production (push) Failing after 332h36m39s
CI/CD Pipeline / Deploy Production (push) Failing after 332h53m36s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 333h9m27s
CI/CD Pipeline / Frontend Lint (push) Failing after 333h9m28s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 333h9m30s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-02 18:15:34 +08:00
xiaoxia b8d3f3aa16 fix: 修正 PR #1630 三处问题
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 2s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 3m32s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m43s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m35s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m47s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m55s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m58s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 5m36s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 5m41s
AI Code Review / AI Code Review (pull_request) Successful in 9m59s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 10m41s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 21m53s
CI/CD Pipeline / CI Gate (pull_request) Successful in 3s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 3m34s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 6m14s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 333h49m43s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 333h49m44s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 333h49m45s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 333h49m45s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 334h11m25s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 334h11m27s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 334h11m29s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 334h11m33s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 334h11m31s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 334h11m35s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 334h11m37s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 334h11m39s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 334h11m37s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 334h11m39s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 334h11m42s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 334h24m3s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 334h24m5s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 334h45m47s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 334h45m53s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 334h45m59s
1. Production 模板 SMTP_HOST 改为空值(与实际一致)
2. ci-pipeline.yml MinIO Bucket Secret 名称修正为 STAGING_MINIO_BUCKET
   - render_env.sh 增加特殊映射:STAGING_MINIO_BUCKET → MINIO_BUCKET_NAME
3. 修正模板中与实际运行不一致的配置值:
   Staging: JWT_ACCESS_TOKEN_EXPIRE_MINUTES=1440, COSYVOICE_VOICE=longxiaoxia_v3,
           COSYVOICE_FORMAT=wav, CORS_ORIGINS_RAW 使用 staging-api
   Production: COSYVOICE_VOICE=longxiaoxia_v3, COSYVOICE_FORMAT=wav,
               CORS_ORIGINS_RAW 使用 api(非 www)
2026-09-02 17:12:59 +08:00
xiaoxia 459cf61495 feat(config): Phase 4 — 修正模板 + 渲染脚本 + CI 部署改造
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 2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m47s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m36s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 4m40s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 5m4s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 5m49s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 5m59s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 6m12s
AI Code Review / AI Code Review (pull_request) Successful in 6m38s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m43s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 9m22s
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 334h21m14s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 334h21m16s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 334h21m18s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 334h21m20s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 334h21m22s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 334h21m24s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 334h21m24s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 334h21m26s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 334h21m26s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 334h21m26s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 334h21m27s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 334h55m36s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 334h55m42s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 334h55m44s
第一部分:修正配置模板(7 处差异)
- MINIO_BUCKET → MINIO_BUCKET_NAME(统一变量名)
- 删除 DOUBAO_API_KEY 区块(两个环境都没在用)
- 新增 DASHSCOPE_API_KEY(实际在用,模板漏了)
- 新增 MediaKit 区块(3 个变量)
- staging DEBUG=true(实际在用 true)
- ENABLE_EMAIL_DELIVERY=false(邮件功能未上线)
- SMTP 相关默认值改为空

第二部分:创建 env 渲染脚本
- scripts/render_env.sh:从模板 + Secrets 渲染 .env
- 使用 Python 实现变量替换(CI runner 无 envsubst)
- 支持 STAGING_xxx/PRODUCTION_xxx 前缀映射
- 自动校验所有必需变量已设置
- 输出文件权限 600,不打印到日志

第三部分:改造 CI 部署流程
- deploy-staging 新增 'Render .env from template' 步骤
- SSH deploy 前先 SCP 渲染后的 .env 到服务器
- 自动备份旧 .env(带时间戳)
- 部署完成后清理 CI runner 上的渲染文件
- ci_staging_deploy.sh 改为显式检查 .env 来源

安全: .env.rendered 加入 .gitignore
2026-09-02 17:02:45 +08:00
xiaoxia c00a0d9eb0 perf(deploy): 健康检查轮询间隔从 5s 降至 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 1s
CI/CD Pipeline / Build Staging API Image (push) Successful in 3m24s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 4m6s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 4m24s
CI/CD Pipeline / Validate - Style (push) Successful in 4m52s
CI/CD Pipeline / Integration Tests (push) Successful in 5m14s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 7m14s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 2m57s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m35s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m25s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m16s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 4m37s
CI/CD Pipeline / Unit Tests (push) Successful in 14m44s
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 354h30m44s
CI/CD Pipeline / Frontend Lint (push) Failing after 354h35m12s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 354h35m13s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 354h30m45s
CI/CD Pipeline / PR Build Web Image (push) Failing after 354h35m13s
CI/CD Pipeline / PR Build API Image (push) Failing after 354h35m13s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 354h35m14s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 355h5m3s
- 更快检测到服务就绪状态
- 减少约 10-20s 的等待时间
2026-09-01 20:49:55 +08:00
xiaoxia 6c3db74fd3 perf(deploy): Worker 优雅关闭超时从 300s 降至 120s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Has been cancelled
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / PR Build API Image (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Check push changed paths (push) Has been cancelled
- 大多数部署时 Worker 无长任务运行,120s 足够
- 减少不必要的等待时间
2026-09-01 20:49:54 +08:00
xiaoxia ab6717eeae perf(CI): Unit Tests 增量测试+依赖缓存优化
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Has been cancelled
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / PR Build API Image (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (push) Has been cancelled
CI/CD Pipeline / Check push changed paths (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
- push 事件也启用增量测试选择(仅跑改动相关的测试文件)
- 持久 runner 依赖 hash 缓存(requirements 无变化时跳过 pip install)
- 3 次独立 pip install 合并为 1 次
- numpy 缓存检查(已安装则跳过)
- 预计节省 5-10 分钟
2026-09-01 20:49:54 +08:00
xiaoxia 0299678389 fix(ci): 自动同步 docker config 到 BuildKit 容器
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 2s
CI/CD Pipeline / Build Staging API Image (push) Successful in 3m11s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 3m30s
CI/CD Pipeline / Validate - Style (push) Successful in 3m52s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 48s
CI/CD Pipeline / Integration Tests (push) Successful in 4m37s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 4m45s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 2m25s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m44s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m29s
CI/CD Pipeline / Validate - Security (push) Successful in 11m24s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m40s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 5m15s
CI/CD Pipeline / Unit Tests (push) Successful in 13m14s
CI/CD Pipeline / Production Browser E2E (push) Failing after 358h49m55s
CI/CD Pipeline / Deploy Production (push) Failing after 358h49m56s
CI/CD Pipeline / CI Gate (push) Failing after 358h49m57s
CI/CD Pipeline / Build Production Web Image (push) Failing after 358h49m57s
CI/CD Pipeline / Build Production API Image (push) Failing after 358h49m57s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 358h59m38s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 359h3m10s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 358h59m38s
CI/CD Pipeline / PR Build Web Image (push) Failing after 359h3m10s
CI/CD Pipeline / PR Build API Image (push) Failing after 359h3m11s
CI/CD Pipeline / Frontend Lint (push) Failing after 359h3m11s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 359h3m14s
CI/CD Pipeline / Canary Release to Production (push) Failing after 359h24m14s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 359h24m15s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 359h37m28s
- 每次确保 builder 存在后自动同步宿主机 docker config
- 防止 builder 重建后 registry 认证丢失
- 解决私有镜像拉取 401 问题
2026-09-01 16:21:56 +08:00
CI Bot 2e3b2d7680 fix(ci): replace psycopg2 with psycopg in validate_migration.sh
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 3s
CI/CD Pipeline / Check push changed paths (push) Successful in 5s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Failing after 3s
CI/CD Pipeline / Build Staging API Image (push) Successful in 3m4s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 2m57s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 36s
CI/CD Pipeline / Integration Tests (push) Successful in 5m4s
CI/CD Pipeline / Validate - Style (push) Successful in 5m20s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m54s
CI/CD Pipeline / Validate - Security (push) Successful in 7m21s
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 363h47m42s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 363h50m42s
CI/CD Pipeline / Frontend Lint (push) Failing after 363h51m6s
CI/CD Pipeline / PR Build API Image (push) Failing after 363h51m10s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 363h51m10s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 363h51m12s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 364h22m0s
CI/CD Pipeline / PR Build Web Image (push) Failing after 364h25m27s
Alembic migration validation was failing because psycopg2 module doesn't exist.
requirements-base.txt installs psycopg[binary]==3.2.2 (psycopg3).

Changed:
- import psycopg2 → import psycopg
- psycopg2.connect() → psycopg.connect()
2026-09-01 11:34:00 +08:00
xiaoxia 974ca188b3 fix(ci): sync REQUIRED_CONTEXTS_APPROVE with CI optimized job names
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Has been cancelled
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / PR Build API Image (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (push) Has been cancelled
CI/CD Pipeline / Check push changed paths (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
2026-09-01 10:30:23 +08:00
xiaoxia 6e4b711ba2 fix(ci): sync context list with CI optimized job names in auto_approve.sh
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Has been cancelled
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / PR Build API Image (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (push) Has been cancelled
CI/CD Pipeline / Check push changed paths (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
2026-09-01 10:30:20 +08:00
xiaoxia 83cbcd6c76 fix(ci): replace psycopg2 with psycopg3 in run_validate.sh
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Has been cancelled
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / PR Build API Image (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (push) Has been cancelled
CI/CD Pipeline / Check push changed paths (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
2026-09-01 10:29:52 +08:00
xiaoxia 071d17d947 fix(ci): replace psycopg2 with psycopg3 in run_integration_tests.sh
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Has been cancelled
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / PR Build API Image (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (push) Has been cancelled
CI/CD Pipeline / Check push changed paths (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
2026-09-01 10:29:34 +08:00
xiaoxia bc9df316dc fix(ci): Web 镜像 buildx 幽灵缓存防护——Git Tree Hash Cache Bust
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 16s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m16s
AI Code Review / AI Code Review (pull_request) Failing after 6m4s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 39s
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 376h37m14s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 376h38m3s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 376h37m55s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 376h38m5s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 376h37m57s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 376h38m9s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 376h37m59s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 376h38m11s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 376h38m15s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 376h38m13s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 376h38m38s
CI/CD Pipeline / PR Build API Image (push) Failing after 376h38m42s
CI/CD Pipeline / Frontend Lint (push) Failing after 376h41m34s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 376h44m18s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 376h44m20s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 377h12m15s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 377h12m21s
CI/CD Pipeline / PR Build Web Image (push) Failing after 377h12m54s
问题:ci-builder-persist 持久化 builder 的 buildkit 层缓存偶尔出现'幽灵命中':
COPY apps/web/ ./ 步骤认为自己没变(实际文件已改),导致 vite build 不执行,
打出来的 Web 镜像前端文件是旧的。

修复原理:
把 apps/web/ 目录的 git tree hash 作为 build arg 传入 Dockerfile。
buildx 把 build arg 值作为缓存键的一部分,hash 变了 → RUN 步骤缓存失效 →
vite build 必须重新执行。依赖层(npm ci)不受影响,仍然正常缓存。

改动:
1. web.Dockerfile:新增 ARG SOURCE_HASH,在构建步骤写入 .cache_bust 文件
2. docker_build_push.sh:Web 镜像构建时计算 git tree hash 并传入
3. docker_build_only.sh:同上

验证:
- 合并后触发 push 到 develop
- 查看 Build Staging Web Image 日志,确认输出 Web cache bust: SOURCE_HASH=xxxxx
- 修改 apps/web/ 下文件再次 push,确认 SOURCE_HASH 值变化且 vite build 执行
2026-08-31 22:40:57 +08:00
xiaoxia 72f47592a9 fix(ci): 安全/风格检查 pip install 加固——防缓存损坏导致 CI 失败
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Has been cancelled
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / PR Build API Image (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (push) Has been cancelled
CI/CD Pipeline / Check push changed paths (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 5m45s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 6m8s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 378h20m1s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 378h20m2s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 378h20m3s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 378h20m4s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 378h20m2s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 378h50m49s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 378h50m50s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 378h50m51s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 378h50m59s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 378h51m37s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 378h51m39s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 378h51m41s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 378h57m55s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 378h58m33s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 378h59m30s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 378h57m57s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 378h59m32s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 379h3m52s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 9m1s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 27m46s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 12m29s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 40m34s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 33m58s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 54s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 31s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 378h54m16s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 379h32m12s
问题:Gitea Actions cache 返回损坏归档时(cache EOF/deserialization failed),
pip install pip-audit/detect-secrets/vulture 因 hash mismatch 直接 exit 1,
导致 validate-security/validate-style 整体失败。

修复:
- detect-secrets/pip-audit/vulture 安装加 --no-cache-dir
- pip-audit 安装失败后 graceful skip(本身是 advisory-only)
- detect-secrets 安装失败后重试一次 --no-binary
- vulture 安装失败后 skip 死代码检测(本身是 advisory-only)
2026-08-31 20:16:34 +08:00
xiaoxia 4ae6394c95 ci: batch2 speedup - merge validate-type-check+migration into validate-python, split validate-code-quality into validate-style+validate-security
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Failing after 2s
CI/CD Pipeline / Validate - Style (push) Successful in 3m52s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 4m19s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 4m41s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 5m18s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 5m12s
CI/CD Pipeline / Validate - Security (push) Failing after 5m19s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m19s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 8m42s
CI/CD Pipeline / Integration Tests (push) Successful in 6m59s
AI Code Review / AI Code Review (pull_request) Successful in 9m14s
CI/CD Pipeline / Unit Tests (push) Successful in 20m36s
CI/CD Pipeline / Production Browser E2E (push) Failing after 380h7m40s
CI/CD Pipeline / Canary Release to Production (push) Failing after 380h7m44s
CI/CD Pipeline / Deploy Production (push) Failing after 380h7m44s
CI/CD Pipeline / CI Gate (push) Failing after 380h7m48s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 380h7m50s
CI/CD Pipeline / Build Production Web Image (push) Failing after 380h7m52s
CI/CD Pipeline / Build Production API Image (push) Failing after 380h7m54s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 380h17m5s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 380h17m7s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 380h20m5s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 380h25m2s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 380h25m3s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 380h25m5s
CI/CD Pipeline / Build Staging Worker Image (push) Failing after 380h27m22s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 380h27m24s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 380h27m26s
CI/CD Pipeline / PR Build Web Image (push) Failing after 380h27m26s
CI/CD Pipeline / Frontend Lint (push) Failing after 380h27m28s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 380h30m27s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 380h30m31s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 380h51m18s
CI/CD Pipeline / Build Staging API Image (push) Failing after 381h1m37s
CI/CD Pipeline / PR Build API Image (push) Failing after 381h1m41s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 381h28m33s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m51s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 51s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 4s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 6m57s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 9m58s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 5m58s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 17m20s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 7m40s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 381h32m3s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 381h15m34s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 381h28m53s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 381h29m8s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 380h54m22s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 380h54m38s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 380h54m42s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 380h54m55s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 380h54m57s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 381h15m33s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 380h41m19s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 380h41m20s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 380h41m21s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 380h54m16s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 380h54m18s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 380h55m22s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 380h57m52s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 380h59m58s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 380h41m20s
Change 5: Merge validate-type-check + validate-migration into validate-python
- Single checkout + single pip install → mypy + alembic
- Saves ~2min checkout + ~1min pip install + 1 runner slot
- Preserves DATABASE_URL env for alembic migration validation

Change 6: Split validate-code-quality into validate-style + validate-security
- validate-style: compileall + black/isort/ruff + vulture (advisory) + auto-fix (~3min)
- validate-security: detect-secrets + bandit (advisory) + pip-audit (advisory) + CI scripts syntax (~5min)
- Both jobs run in parallel, reducing wall-clock time from ~10min to ~5min

Updated references:
- ci-gate needs: validate-code-quality → validate-style + validate-security
- ci-gate needs: validate-type-check + validate-migration → validate-python
- build-production needs: validate-code-quality → validate-style + validate-security
- Removed obsolete scripts/ci/validate_code_quality.sh
2026-08-31 18:25:00 +08:00
xiaoxia e052c0545e perf(ci): 流水线第一批提速 — 移除冗余checkout/ffmpeg,解除假依赖 (#1577)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Failing after 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 5s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 4m23s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 6m10s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 6m26s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 6m13s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 7m18s
AI Code Review / AI Code Review (pull_request) Failing after 7m20s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 8m3s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 8m8s
CI/CD Pipeline / Integration Tests (push) Successful in 8m43s
CI/CD Pipeline / CI Gate (pull_request) Successful in 4s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 9m39s
CI/CD Pipeline / Unit Tests (push) Successful in 20m1s
CI/CD Pipeline / Production Browser E2E (push) Failing after 380h49m8s
CI/CD Pipeline / Deploy Production (push) Failing after 380h49m9s
CI/CD Pipeline / CI Gate (push) Failing after 380h49m10s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 380h49m10s
CI/CD Pipeline / Build Production API Image (push) Failing after 380h49m10s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 381h0m18s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 381h0m18s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 381h0m22s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 381h0m26s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 381h0m29s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 381h0m30s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 381h0m31s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 381h0m32s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 381h2m44s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 381h2m45s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 381h2m46s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 381h2m47s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 381h2m49s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 381h5m21s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 381h5m25s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 381h5m27s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 381h5m33s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 381h5m29s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 381h5m39s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 381h5m31s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 381h5m41s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Failing after 381h5m45s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 381h5m47s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 381h9m3s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 381h8m9s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 381h9m5s
CI/CD Pipeline / Build Staging Worker Image (push) Failing after 381h9m7s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 381h9m9s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 381h9m13s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 381h9m15s
CI/CD Pipeline / Build Staging API Image (push) Failing after 381h9m11s
CI/CD Pipeline / Frontend Lint (push) Failing after 381h9m15s
CI/CD Pipeline / PR Build Web Image (push) Failing after 381h9m17s
CI/CD Pipeline / PR Build API Image (push) Failing after 381h9m17s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 381h9m18s
CI/CD Pipeline / Canary Release to Production (push) Failing after 381h23m21s
CI/CD Pipeline / Build Production Web Image (push) Failing after 381h23m23s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 381h34m37s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 381h39m35s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 381h39m49s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Failing after 381h39m55s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 381h43m13s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 381h43m29s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-31 18:16:04 +08:00
xiaoxia ee6fa3e1cf fix(ci): push 路径检测安全回溯——防止 concurrency 取消导致前端改动丢失 (#1578)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2m43s
CI/CD Pipeline / Check push changed paths (push) Successful in 3m41s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m22s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 4m17s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 5m21s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m18s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 8m49s
AI Code Review / AI Code Review (pull_request) Failing after 8m58s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m47s
CI/CD Pipeline / Build Staging API Image (push) Successful in 3m13s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m18s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 3m29s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 9m12s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 4m20s
CI/CD Pipeline / CI Gate (pull_request) Successful in 3m17s
CI/CD Pipeline / Frontend Lint (push) Failing after 14m10s
CI/CD Pipeline / Integration Tests (push) Successful in 6m28s
CI/CD Pipeline / Unit Tests (push) Successful in 16m12s
CI/CD Pipeline / Production Browser E2E (push) Failing after 381h21m1s
CI/CD Pipeline / Canary Release to Production (push) Failing after 381h21m35s
CI/CD Pipeline / Deploy Production (push) Failing after 381h21m37s
CI/CD Pipeline / CI Gate (push) Failing after 381h22m19s
CI/CD Pipeline / Build Production Web Image (push) Failing after 381h22m23s
CI/CD Pipeline / Build Production API Image (push) Failing after 381h22m25s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 381h30m18s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 381h30m20s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 381h30m24s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 381h30m26s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 381h30m27s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 381h30m28s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 381h31m15s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 381h31m36s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 381h31m38s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 381h31m36s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 381h32m16s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 381h32m18s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 381h32m37s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 381h32m39s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 381h32m41s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 381h32m43s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 381h32m47s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 381h34m55s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 381h35m7s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 381h36m11s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 381h35m9s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Failing after 381h36m17s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 381h35m11s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Failing after 381h36m19s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 381h38m42s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 381h36m13s
CI/CD Pipeline / PR Build API Image (push) Failing after 381h38m46s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 381h36m21s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 381h40m45s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 381h41m7s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 381h41m52s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 381h56m33s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 382h4m30s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 382h5m50s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 382h6m49s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 382h6m57s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 382h10m27s
CI/CD Pipeline / PR Build Web Image (push) Failing after 382h12m57s
2026-08-31 17:41:43 +08:00
xiaoxia 243b0e7c78 ci: CI 瞬态故障自动重试机制
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 4s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m48s
CI/CD Pipeline / Check push changed paths (push) Successful in 4m41s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 5m35s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 5m51s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 5m27s
AI Code Review / AI Code Review (pull_request) Successful in 8m20s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m23s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m44s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 9m20s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m37s
CI/CD Pipeline / Build Staging API Image (push) Successful in 2m50s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 10m14s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 3m25s
CI/CD Pipeline / CI Gate (pull_request) Successful in 3m7s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 2m6s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m22s
CI/CD Pipeline / Unit Tests (push) Successful in 17m19s
CI/CD Pipeline / Integration Tests (push) Successful in 6m12s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m21s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m56s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 4m39s
CI/CD Pipeline / Canary Release to Production (push) Failing after 383h39m24s
CI/CD Pipeline / Production Browser E2E (push) Failing after 383h42m9s
CI/CD Pipeline / Deploy Production (push) Failing after 383h42m11s
CI/CD Pipeline / Build Production Web Image (push) Failing after 383h42m11s
CI/CD Pipeline / Build Production API Image (push) Failing after 383h42m12s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 383h46m0s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 383h46m0s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 383h46m51s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 383h46m52s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 383h46m53s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 383h46m55s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 383h46m56s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 383h51m11s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 383h51m15s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 383h51m17s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 383h53m59s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 383h54m59s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 383h55m1s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 383h55m3s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 383h55m38s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 383h55m55s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 383h55m59s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Failing after 383h57m27s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 383h57m31s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 383h57m33s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 383h57m37s
CI/CD Pipeline / Frontend Lint (push) Failing after 383h57m51s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 384h1m36s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 384h1m38s
CI/CD Pipeline / PR Build API Image (push) Failing after 384h1m40s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 384h1m40s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 384h1m42s
CI/CD Pipeline / CI Gate (push) Failing after 384h15m32s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 384h16m22s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 384h21m5s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 384h25m24s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 384h29m16s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 384h30m8s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Failing after 384h31m40s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 384h31m46s
CI/CD Pipeline / PR Build Web Image (push) Failing after 384h35m49s
问题:
  当 runner 出现瞬态故障(磁盘满/docker挂/网络抖动),分配到该 runner
  的 job 会在 checkout/setup 阶段失败。这种失败与代码无关,但没有自动
  重试机制,需要人工干预。

方案:
  ci_transient_retry.sh - 每 5 分钟扫描最近 30 分钟的 runs:
  - 检测特征:失败 job 的 checkout/setup 阶段失败 + 同 run 其他 job 成功
  - 自动 re-run 整个 workflow(Gitea API /rerun)
  - 每个 run 最多重试 1 次(状态文件跟踪,24h 自动清理)
  - 支持 --dry-run 模式
  - 日志记录到 /var/log/ci-auto-retry.log

判定逻辑:
  - 失败 job 第一个 step 是 checkout/setup 且 conclusion=failure → 瞬态
  - 同一 run 至少 2 个 job 成功(排除代码全挂)
  - 纯代码失败(lint/test/compile)→ 不重试

部署:
  - systemd timer: ci_transient_retry.{service,timer}
  - 或 crontab: */5 * * * *
  - Token 通过环境变量 / EnvironmentFile 注入,不硬编码
2026-08-31 15:23:40 +08:00
xiaoxia f7693baeae ci(retag/deploy): 增加镜像内容校验,防止静默部署旧/损坏镜像
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 3m58s
CI/CD Pipeline / Check push changed paths (push) Successful in 4m19s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 4m43s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 5m5s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 5m15s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 5m18s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 2m51s
CI/CD Pipeline / Build Staging API Image (push) Successful in 3m57s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 8m18s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 8m31s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 9m23s
AI Code Review / AI Code Review (pull_request) Successful in 11m10s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 2m23s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 59s
CI/CD Pipeline / Integration Tests (push) Successful in 4m31s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m32s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m23s
CI/CD Pipeline / Unit Tests (push) Successful in 17m40s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 5m1s
CI/CD Pipeline / Production Browser E2E (push) Failing after 385h59m57s
CI/CD Pipeline / Deploy Production (push) Failing after 385h59m58s
CI/CD Pipeline / CI Gate (push) Failing after 385h59m58s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 385h59m58s
CI/CD Pipeline / Build Production API Image (push) Failing after 385h59m58s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 386h7m23s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 386h8m10s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 386h13m18s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 386h17m37s
CI/CD Pipeline / Frontend Lint (push) Failing after 386h17m39s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 386h17m41s
CI/CD Pipeline / PR Build API Image (push) Failing after 386h17m41s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 386h17m43s
CI/CD Pipeline / Canary Release to Production (push) Failing after 386h34m9s
CI/CD Pipeline / Build Production Web Image (push) Failing after 386h34m9s
CI/CD Pipeline / PR Build Web Image (push) Failing after 386h51m51s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 387h38m38s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 387h50m34s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 387h16m44s
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 3m34s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 5m7s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m47s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m48s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 13m31s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m51s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 387h50m54s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m6s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m21s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 387h17m45s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 387h18m59s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 387h19m1s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 387h19m3s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 387h22m47s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 387h38m39s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 387h4m28s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 387h4m29s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 387h4m29s
CI/CD Pipeline / CI Gate (pull_request) Successful in 24s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 387h4m27s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 387h16m51s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 387h17m43s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 387h16m22s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 387h16m24s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 387h16m28s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 387h16m46s
retag_skipped_image.sh 加固:
- 源镜像 layers 有效性检查(layers=0 拒绝 retag)
- 镜像创建时间审计(>72h 输出警告)
- digest 审计记录,方便溯源

ci_staging_deploy.sh 加固:
- pull 后逐服务校验镜像 layers 有效性
- 记录每个镜像的 digest/size/created
- 对比上次部署 manifest,标注变化状态
- 写入 deploy-manifest.json 供下次对比
- 校验失败直接阻断部署

concurrency 保持 cancel-in-progress: true(不变)
生产发版链路不动
2026-08-31 12:01:19 +08:00
xiaoxia 8c0c34300f fix(ci): 僵尸run复活防护——重负载job自检+dedupe竞态增强
P1修复(2026-08-30 CI巡检实证):
Gitea 1.26.4 调度器bug:被 concurrency cancel 的 run,其 job 会在数小时后
被复活重跑(attempt=2)。实测 42597 号 run 18:46 被取消,21:46 复活,
与正常流水线并行烧了1.5小时 runner(Validate+UnitTests+staging构建全套),
合并高峰双流水线CPU超卖导致单测 14分→30分。

改动:
1. 新增 scripts/ci/ci_run_selfcheck.sh:job 启动第一步实时查本 run 状态,
   若 conclusion 为 cancelled/skipped(被复活的僵尸job)立即退出(exit 78),
   API 故障时不阻断(unknown 照常执行)
2. ci-pipeline.yml 12 个重量级 job(validate×3、unit/integration/frontend×2、
   build-pr/build-staging/staging-e2e/api-tests/build-production)首步插入自检
3. dedupe-check 情形2增强:同一 head_sha 的 push 流水线不只是在跑时去重,
   已 success 完成时 PR 侧测试同样跳过(消除竞态窗口双跑)
2026-08-31 11:57:59 +08:00
xiaoxia 3bc850dc0f fix(ci): 定时任务防僵尸自保——urlopen补超时+扫描墙钟上限+降频
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Validate - Code Quality (push) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (push) Has been cancelled
CI/CD Pipeline / Validate - Migration (alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Check push changed paths (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 3m54s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Waiting to run
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 387h27m32s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 387h27m37s
CI/CD Pipeline / PR Build API Image (push) Failing after 387h27m37s
CI/CD Pipeline / Frontend Lint (push) Failing after 387h27m38s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 387h27m41s
CI/CD Pipeline / PR Build Web Image (push) Failing after 388h1m47s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 388h18m22s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 388h22m12s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 5s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m31s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 7m17s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m44s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m47s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 18m25s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 7m11s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 4m14s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 3m52s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 387h44m10s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 387h44m14s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 387h48m0s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 387h48m12s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 387h48m14s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 387h48m16s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 388h3m47s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 388h16m32s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 387h29m38s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 387h29m38s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 387h29m38s
CI/CD Pipeline / CI Gate (pull_request) Successful in 44s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 387h54m37s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 387h29m36s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 387h29m37s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 387h42m24s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 387h42m20s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 387h42m32s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 387h48m2s
P0修复:pr_auto_scan.py 的 api_request() 中 urlopen 无 timeout,
网络异常时永久阻塞(2026-08-30 实测卡死195分钟占满runner slot),
而 Gitea 1.26.4 的 timeout-minutes 对卡死job不生效。

改动:
1. pr_auto_scan.py: urlopen 加 timeout=15s + URLError/socket.timeout
   异常捕获(返回599);新增 --max-wall-seconds(默认240s)墙钟上限,
   到点主动退出;merge_pr 的 sleep(30) 改为可中断轮询
2. acr_cleanup.py: 7处 urlopen 补 timeout=30s(生产清理链路同款隐患)
3. auto_fix_formatting.py: 5处 urlopen 补 timeout=15s
4. pr-auto-scan.yml / ci-trigger-monitor.yml: schedule 从 */5 降到 */10,
   24h运行次数各减半(288→144),监控告警阈值同步为10分钟
2026-08-31 11:28:10 +08:00
xiaoxia ef09338098 fix(ci): push 路径检测改用 compare 响应内每提交 files 聚合 (#1539)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m16s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 3m26s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m46s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 4m48s
CI/CD Pipeline / Check push changed paths (push) Successful in 5m18s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m10s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m39s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 40s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m30s
CI/CD Pipeline / Build Staging API Image (push) Successful in 41s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 9m4s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 39s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 9m6s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 5m25s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 9m36s
AI Code Review / AI Code Review (pull_request) Successful in 6m32s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 59s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m9s
CI/CD Pipeline / Integration Tests (push) Successful in 3m23s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m24s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m11s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m7s
CI/CD Pipeline / Unit Tests (push) Successful in 16m45s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 12m58s
CI/CD Pipeline / CI Gate (pull_request) Successful in 25s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 7m40s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 431h47m5s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 431h47m8s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 431h47m5s
CI/CD Pipeline / Production Browser E2E (push) Failing after 431h47m42s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 431h47m6s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 431h47m7s
CI/CD Pipeline / Deploy Production (push) Failing after 431h47m43s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 431h47m43s
CI/CD Pipeline / Build Production API Image (push) Failing after 431h47m45s
CI/CD Pipeline / Build Production Web Image (push) Failing after 431h47m44s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 431h55m25s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 431h56m3s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 431h55m25s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 431h56m7s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 431h56m5s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 431h56m46s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 431h56m49s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 431h56m47s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 431h56m49s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 431h56m51s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 431h56m53s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 431h59m49s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 431h56m55s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 431h59m51s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 432h0m40s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 432h1m5s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 432h4m28s
CI/CD Pipeline / PR Build API Image (push) Failing after 432h4m30s
CI/CD Pipeline / Frontend Lint (push) Failing after 432h4m30s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 432h4m33s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 432h21m10s
CI/CD Pipeline / Canary Release to Production (push) Failing after 432h21m46s
CI/CD Pipeline / CI Gate (push) Failing after 432h21m48s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 432h30m51s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 432h31m40s
CI/CD Pipeline / PR Build Web Image (push) Failing after 432h38m33s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-29 15:21:06 +08:00
xiaoxia 5672757e23 perf(ci): 流水线提速 - 路径过滤/持久builder缓存/依赖缓存卷/部署job迁移ci-l2 (#1536)
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m49s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 3m11s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2m37s
CI/CD Pipeline / Check push changed paths (push) Successful in 4m11s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m58s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 4m54s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 9m8s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 5m46s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m36s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m40s
AI Code Review / AI Code Review (pull_request) Failing after 7m3s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m41s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m28s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 9m40s
CI/CD Pipeline / Build Staging API Image (push) Successful in 1m0s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m7s
CI/CD Pipeline / Integration Tests (push) Successful in 4m19s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m32s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m32s
CI/CD Pipeline / Unit Tests (push) Successful in 15m46s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 12m52s
CI/CD Pipeline / CI Gate (pull_request) Successful in 32s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 432h20m34s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 432h20m36s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 432h20m36s
CI/CD Pipeline / Production Browser E2E (push) Failing after 432h20m45s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 432h24m11s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 432h24m13s
CI/CD Pipeline / Canary Release to Production (push) Failing after 432h24m40s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 432h24m15s
CI/CD Pipeline / Deploy Production (push) Failing after 432h24m42s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 432h30m18s
CI/CD Pipeline / Build Production API Image (push) Failing after 432h30m19s
CI/CD Pipeline / CI Gate (push) Failing after 432h30m26s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 432h35m59s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 432h36m1s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 432h35m59s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 432h36m1s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 432h35m59s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 432h36m2s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 432h37m3s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 432h37m5s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 432h37m7s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 432h37m8s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 432h37m9s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 432h37m10s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 432h39m32s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 432h39m55s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 432h39m57s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 432h42m23s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 432h42m25s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 432h44m51s
CI/CD Pipeline / PR Build Web Image (push) Failing after 432h45m50s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 432h45m48s
CI/CD Pipeline / PR Build API Image (push) Failing after 432h45m52s
CI/CD Pipeline / Frontend Lint (push) Failing after 432h46m48s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 432h46m50s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 432h49m36s
CI/CD Pipeline / Build Production Web Image (push) Failing after 433h4m21s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 433h10m3s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 433h11m6s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 433h13m55s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-29 14:36:04 +08:00
xiaoxia 57f16364f1 fix: 修复 CI 单测隔离问题 + ruff 代码质量违规
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 57s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m15s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m8s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m25s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m38s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m58s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 4m56s
CI/CD Pipeline / Validate - Code Quality (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 500h46m9s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 500h46m11s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 500h47m2s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 500h47m45s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 500h47m51s
CI/CD Pipeline / Frontend Lint (push) Failing after 500h48m32s
CI/CD Pipeline / PR Build Web Image (push) Failing after 500h47m47s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 500h49m11s
CI/CD Pipeline / PR Build API Image (push) Failing after 500h47m49s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 500h47m53s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 500h47m55s
- test_generated_video_creation_logic: 添加 teardown_class 恢复 setup_class
  中替换的 sys.modules 条目(video_processing.thumbnail_generator / dedup),
  避免 MagicMock 污染后续测试导致 4 个单测失败
- plan_generator_utils: 循环变量 seg_start 未使用 → _seg_start(B007)
- acr_cleanup: 移除未使用变量 open_pr_shas(F841)
- auto_fix_formatting: 移除未使用变量 head_branch_tmp / fix_mode(F841)
2026-08-26 18:36:37 +08:00
xiaoxia 4bb1c4205d perf: 删除 psycopg2-binary 依赖 + 预构建 API 基础镜像 (#1422)
Worker Base Image Build / Build Worker Base Images (worker-base-runtime-cache, infra/docker/worker-base-runtime.Dockerfile, worker-base-runtime, runtime) (push) Failing after 1m19s
API Base Image Build / Build API Base Image (push) Successful in 1m40s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 3m5s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 3m20s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m24s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 8m22s
CI/CD Pipeline / Integration Tests (push) Successful in 3m3s
Worker Base Image Build / Build Worker Base Images (worker-base-builder-cache, infra/docker/worker-base-builder.Dockerfile, worker-base-builder, builder) (push) Failing after 11m48s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 11m49s
CI/CD Pipeline / Unit Tests (push) Successful in 12m22s
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Failing after 693h7m59s
CI/CD Pipeline / CI Gate (push) Failing after 693h8m0s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 693h8m0s
CI/CD Pipeline / Build Production Web Image (push) Failing after 693h8m0s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 693h19m9s
CI/CD Pipeline / PR Build Web Image (push) Failing after 693h19m11s
CI/CD Pipeline / PR Build API Image (push) Failing after 693h19m13s
CI/CD Pipeline / Frontend Lint (push) Failing after 693h19m21s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 693h20m26s
CI/CD Pipeline / Deploy Production (push) Failing after 693h41m41s
CI/CD Pipeline / Build Production API Image (push) Failing after 693h41m41s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-18 18:06:01 +08:00
xiaoxia cd485a6370 fix: docker buildx build 加 25 分钟超时防止无限挂起 (#1420)
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m47s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m35s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m51s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 6m13s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 7m6s
CI/CD Pipeline / Integration Tests (push) Successful in 2m15s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 11m37s
CI/CD Pipeline / Unit Tests (push) Successful in 11m44s
CI/CD Pipeline / Build Staging API Image (push) Successful in 27m9s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m50s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 40s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m55s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 2m58s
CI/CD Pipeline / Canary Release to Production (push) Failing after 696h58m28s
CI/CD Pipeline / CI Gate (push) Failing after 697h18m40s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 697h18m41s
CI/CD Pipeline / Production Browser E2E (push) Failing after 697h18m40s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 697h30m25s
CI/CD Pipeline / Build Production Web Image (push) Failing after 697h18m41s
CI/CD Pipeline / PR Build Web Image (push) Failing after 697h30m26s
CI/CD Pipeline / PR Build API Image (push) Failing after 697h30m26s
CI/CD Pipeline / Frontend Lint (push) Failing after 697h30m26s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 697h30m27s
CI/CD Pipeline / Deploy Production (push) Failing after 697h52m21s
CI/CD Pipeline / Build Production API Image (push) Failing after 697h52m22s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-18 13:56:01 +08:00
xiaoxia cd8f162b17 fix: CI 部署脚本增加 graceful shutdown,避免杀死正在处理的任务 (#1333)
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m6s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 1m21s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 2m35s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m54s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 4m32s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 5m8s
CI/CD Pipeline / Integration Tests (push) Successful in 1m47s
CI/CD Pipeline / Unit Tests (push) Failing after 7m53s
CI/CD Pipeline / Build Staging API Image (push) Successful in 12m15s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 48s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 37s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m2s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m48s
CI/CD Pipeline / Canary Release to Production (push) Failing after 889h8m16s
CI/CD Pipeline / Deploy Production (push) Failing after 889h16m14s
CI/CD Pipeline / CI Gate (push) Failing after 889h16m15s
CI/CD Pipeline / Build Production Web Image (push) Failing after 889h16m15s
CI/CD Pipeline / Build Production API Image (push) Failing after 889h16m16s
CI/CD Pipeline / PR Build Web Image (push) Failing after 889h24m8s
CI/CD Pipeline / PR Build API Image (push) Failing after 889h24m9s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 889h24m12s
CI/CD Pipeline / Production Browser E2E (push) Failing after 889h49m39s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 889h49m41s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 889h57m33s
CI/CD Pipeline / Frontend Lint (push) Failing after 889h57m36s
2026-08-10 14:02:45 +08:00