fix(ci): staging-e2e/api-tests容器名改用GITHUB_SHA命名,彻底解决DooD模式命名冲突 #808

Merged
xiaoxia merged 1 commits from fix/staging-e2e-container-name into develop 2026-07-24 11:26:06 +08:00
Owner

问题

DooD模式下,CI容器的PID在同一Runner上是固定的(每个job容器PID=1),staging-e2e-$$ 命名方式会导致上一次失败没清理干净时,下一次同名冲突。

修复

  • staging-e2e-$$staging-e2e-${GITHUB_SHA::8}
  • staging-api-tests-$$staging-api-tests-${GITHUB_SHA::8}

用commit SHA前缀命名,天然唯一且有辨识度。配合已有的 docker rm -f 前置清理(#795),双重保障。

## 问题 DooD模式下,CI容器的PID在同一Runner上是固定的(每个job容器PID=1),`staging-e2e-$$` 命名方式会导致上一次失败没清理干净时,下一次同名冲突。 ## 修复 - `staging-e2e-$$` → `staging-e2e-${GITHUB_SHA::8}` - `staging-api-tests-$$` → `staging-api-tests-${GITHUB_SHA::8}` 用commit SHA前缀命名,天然唯一且有辨识度。配合已有的 `docker rm -f` 前置清理(#795),双重保障。
xiaoxia added 1 commit 2026-07-24 09:36:00 +08:00
fix(ci): staging-e2e/api-tests容器名改用GITHUB_SHA而非PID命名,彻底解决DooD模式下PID固定导致的命名冲突
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 24s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m10s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 43s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 57s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 36s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 38s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m1s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 3m38s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
AI Code Review / AI Code Review (pull_request) Successful in 3m36s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m58s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m52s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m18s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 5m51s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 6s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 6m27s
d6f0cff195
Collaborator

代码审查结果 - PR #808

⚠️ 问题(2个需要修改)

  1. .gitea/workflows/ci-pipeline.yml 第1091行:容器命名存在并发冲突风险,可能导致CI任务失败。使用 GITHUB_SHA::8 作为唯一标识符,当同一个 Commit 触发多次 CI 任务(例如手动重试、不同分支同时指向同一 Commit)时,会产生相同的容器名称。后启动的任务会执行 docker rm -f 强制删除前序任务的容器,导致前序任务异常失败,或者 docker create 因名称占用而报错。
  2. .gitea/workflows/ci-pipeline.yml 第1156行:容器命名存在并发冲突风险,同上。

💡 建议(1个可选)

  1. 建议保留原有的进程ID $$ 或结合 GITHUB_SHA 使用,例如 CONTAINER_NAME="staging-e2e-${GITHUB_SHA::8}-$$",既能关联提交信息,又能保证同一并发环境下的容器名称唯一性。

格式检查通过 | 逻辑审查需修改 | 性能


🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 01:44:35 | 模型:

## 代码审查结果 - PR #808 ### ⚠️ 问题(2个需要修改) 1. **.gitea/workflows/ci-pipeline.yml 第1091行**:容器命名存在并发冲突风险,可能导致CI任务失败。使用 `GITHUB_SHA::8` 作为唯一标识符,当同一个 Commit 触发多次 CI 任务(例如手动重试、不同分支同时指向同一 Commit)时,会产生相同的容器名称。后启动的任务会执行 `docker rm -f` 强制删除前序任务的容器,导致前序任务异常失败,或者 `docker create` 因名称占用而报错。 2. **.gitea/workflows/ci-pipeline.yml 第1156行**:容器命名存在并发冲突风险,同上。 ### 💡 建议(1个可选) 1. 建议保留原有的进程ID `$$` 或结合 `GITHUB_SHA` 使用,例如 `CONTAINER_NAME="staging-e2e-${GITHUB_SHA::8}-$$"`,既能关联提交信息,又能保证同一并发环境下的容器名称唯一性。 --- ✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 01:44:35 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia merged commit 907cc63f96 into develop 2026-07-24 11:26:06 +08:00
xiaoxia deleted branch fix/staging-e2e-container-name 2026-07-24 11:26:06 +08:00

🗑️ 预览环境已清理

PR #808 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #808 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.