Commit Graph

12 Commits

Author SHA1 Message Date
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 1134472e12 fix(ci): correct PG credentials in temp container DATABASE_URL + fix mypy no-redef 2026-09-03 10:28:32 +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 a1a517678d fix(mypy+ci): resolve mypy errors and fix integration tests PG dependency 2026-09-03 09:46:23 +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 94afec2b9c chore(ci): 端口与PG配置常量集中管理,清理硬编码
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 1m8s
CI/CD Pipeline / Validate - Code Quality (push) Failing after 1m49s
CI/CD Pipeline / Frontend Lint (push) Successful in 28s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m8s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m55s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 6m13s
CI/CD Pipeline / Build Staging API Image (push) Successful in 14m43s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 1m1s
CI/CD Pipeline / Integration Tests (push) Successful in 2m16s
CI/CD Pipeline / Unit Tests (push) Successful in 5m22s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m18s
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (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 / Deploy Production (push) Failing after 1298h53m45s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 1298h58m31s
CI/CD Pipeline / Build Production Web Image (push) Failing after 1298h58m33s
CI/CD Pipeline / Build Production API Image (push) Failing after 1298h58m35s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 1299h21m14s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 1299h23m7s
CI/CD Pipeline / PR Build Web Image (push) Failing after 1299h21m15s
CI/CD Pipeline / PR Build API Image (push) Failing after 1299h53m43s
清理CI脚本中硬编码的端口/用户/密码/DB名,统一抽到scripts/ci/ci_env.sh常量文件管理;ci-pipeline.yml中DATABASE_URL硬编码改为workflow级env变量引用。
2026-07-24 11:43:05 +08:00
xiaoxia 614a8e95be ci: CI全链路加固6项 - 从基础设施到门禁策略的完整补漏 (#742)
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 40s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 45s
CI/CD Pipeline / Frontend Lint (push) Successful in 55s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 57s
CI/CD Pipeline / Frontend Unit Tests (push) Failing after 16s
CI/CD Pipeline / Integration Tests (push) Successful in 59s
CI/CD Pipeline / Unit Tests (push) Successful in 2m42s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 3m25s
CI/CD Pipeline / Build Staging API Image (push) Successful in 5m22s
CI/CD Pipeline / Build Staging Worker Image (push) Failing after 5m22s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 1337h43m28s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 1337h43m29s
CI/CD Pipeline / Production Browser E2E (push) Failing after 1337h48m47s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 1337h43m29s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 1337h48m49s
CI/CD Pipeline / Build Production Web Image (push) Failing after 1337h48m51s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 1337h48m53s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 1337h48m53s
CI/CD Pipeline / PR Build API Image (push) Failing after 1337h48m54s
CI/CD Pipeline / PR Build Web Image (push) Failing after 1338h21m10s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1338h15m46s
CI/CD Pipeline / Deploy Production (push) Failing after 1338h21m6s
CI/CD Pipeline / Build Production API Image (push) Failing after 1338h21m8s
2026-07-22 21:40:10 +08:00
xiaoxia 34e5b18a30 fix(ci): 修复CI rerun时数据库命名冲突问题
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 47s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 55s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 54s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 51s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 46s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 2m34s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 1m12s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m23s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 46s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 2m35s
AI Code Review / AI Code Review (pull_request) Successful in 9m6s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 17m50s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m36s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 2m30s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 8s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 1341h36m8s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 1341h36m47s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 1341h36m51s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 1341h36m53s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 1341h36m55s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 1341h36m57s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 1341h37m9s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 1341h37m13s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 1341h37m15s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 1341h39m49s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 1341h39m51s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 1341h39m53s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 1342h9m27s
在CREATE DATABASE前先执行DROP DATABASE IF EXISTS WITH (FORCE),
防止rerun同一run_id时因数据库已存在而失败。

影响:validate_migration.sh / run_integration_tests.sh / run_validate.sh
2026-07-22 17:43:48 +08:00
xiaoxia cbda1ec4d5 优化:集成测试引入 pytest-xdist 并行执行 (#704)
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
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 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 / 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
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-07-22 15:32:30 +08:00
xiaoxia d559e6b787 ci: 全面根治CI稳定性问题 (#619) (#620)
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Failing after 1406h29m18s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 1406h29m19s
CI/CD Pipeline / Build Production Web Image (push) Failing after 1406h29m19s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 1406h29m21s
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been skipped
CI/CD Pipeline / Unit Tests (push) Has been skipped
CI/CD Pipeline / Integration Tests (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (push) Has been skipped
CI/CD Pipeline / Build Staging API Image (push) Has been skipped
CI/CD Pipeline / Build Staging Web Image (push) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (push) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production API Image (push) Failing after 1407h1m27s
CI/CD Pipeline / ACR Image Cleanup (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Failing after 1407h1m26s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-07-20 01:00:04 +08:00
xiaoxia df0b3ab452 fix(ci): 增加PG/Redis端口连通性检查,解决容器healthy但映射端口连不上 (#615)
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 6m7s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 2m10s
CI/CD Pipeline / Production Browser E2E (push) Failing after 1409h41m13s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 1409h41m15s
CI/CD Pipeline / Build Production Web Image (push) Failing after 1409h41m16s
CI/CD Pipeline / Build Production API Image (push) Failing after 1409h41m16s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 1409h41m17s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Unit Tests (push) Has been skipped
CI/CD Pipeline / Integration Tests (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (push) Has been skipped
CI/CD Pipeline / Build Staging API Image (push) Has been skipped
CI/CD Pipeline / Build Staging Web Image (push) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Failing after 1410h13m21s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-07-19 21:48:09 +08:00
xiaoxia 0a8bfc9bcc ci: 架构精简 - 合并4个workflow为2个,抽取公共步骤为脚本 (#605)
CI/CD Pipeline / Build Staging API Image (push) Failing after 24s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 29s
CI/CD Pipeline / Build Staging Worker Image (push) Failing after 29s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 1412h26m44s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 1412h26m45s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 1412h26m46s
CI/CD Pipeline / Production Browser E2E (push) Failing after 1412h27m12s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 1412h27m14s
CI/CD Pipeline / Build Production Web Image (push) Failing after 1412h27m15s
CI/CD Pipeline / Build Production API Image (push) Failing after 1412h27m15s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 1412h27m17s
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been skipped
CI/CD Pipeline / Unit Tests (push) Has been skipped
CI/CD Pipeline / Integration Tests (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Failing after 1412h59m20s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1412h58m51s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-07-19 19:02:09 +08:00