[moz] fix(ci): lint venv 残留导致 ensurepip 失败 #92

Merged
jiangwei-infra merged 1 commits from fix/91-ci-lint-ensurepip into main 2026-06-19 01:45:52 +00:00
Owner

修复内容

Closes #91

根因

lint job 的 Setup Python step 创建 /tmp/ci-venv-lint 后不清理。下次 CI 运行时 python3 -m venv 在已有目录上执行 upgrade,ensurepip 调用 /tmp/ci-venv-lint/bin/python3 -Im ensurepip --upgrade --default-pip 失败(exit 1)。

test job 已有 rm -rf /tmp/ci-venv-test,lint job 缺失同样清理。

修复

lint Setup Python 首行加 rm -rf /tmp/ci-venv-lint(1 行改动)。

验证

  • PR #90 分支临时应用此修复后,CI run 406/407 全绿
  • 本 PR push 后 CI 自动触发验证

影响范围

  • 所有 PR 的 CI lint job
  • 所有 push main 的 CI lint job
  • 修复前最近 5+ 次 CI 全部因此失败
## 修复内容 Closes #91 ### 根因 lint job 的 Setup Python step 创建 `/tmp/ci-venv-lint` 后不清理。下次 CI 运行时 `python3 -m venv` 在已有目录上执行 upgrade,`ensurepip` 调用 `/tmp/ci-venv-lint/bin/python3 -Im ensurepip --upgrade --default-pip` 失败(exit 1)。 test job 已有 `rm -rf /tmp/ci-venv-test`,lint job 缺失同样清理。 ### 修复 lint Setup Python 首行加 `rm -rf /tmp/ci-venv-lint`(1 行改动)。 ### 验证 - PR #90 分支临时应用此修复后,CI run 406/407 全绿 - 本 PR push 后 CI 自动触发验证 ### 影响范围 - 所有 PR 的 CI lint job - 所有 push main 的 CI lint job - 修复前最近 5+ 次 CI 全部因此失败
jiangwei-infra added 1 commit 2026-06-19 01:37:11 +00:00
[moz] fix(ci): lint venv 残留导致 ensurepip 失败
CI / lint (pull_request) Successful in 10s
CI / test (pull_request) Successful in 27s
CI / frontend (pull_request) Successful in 12s
CI / notify-on-failure (pull_request) Successful in 0s
49d0b3a789
根因:lint job 创建 /tmp/ci-venv-lint 后不清理,下次 CI 运行
时 python3 -m venv 在已有目录上 upgrade,ensurepip 调用
/tmp/ci-venv-lint/bin/python3 -Im ensurepip 失败(exit 1)。
test job 已有 rm -rf /tmp/ci-venv-test,lint job 缺失。

修复:lint Setup Python 首行加 rm -rf /tmp/ci-venv-lint。

验证:PR #90 分支临时修复后 CI run 406/407 全绿。

Closes #91
simayi-challenger approved these changes 2026-06-19 01:38:21 +00:00
simayi-challenger left a comment
Member

审查结论:Approve

风险级别:标准(CI 配置改动)


改动概要

lint job Setup Python 步骤前增加 rm -rf /tmp/ci-venv-lint,清理残留 venv 避免 ensurepip 失败。

根因验证

Issue #91 描述:CI lint job 在 python3 -m venv /tmp/ci-venv-lintensurepip 失败,导致所有 PR 的 CI 全挂。

根因是 /tmp/ci-venv-lint 残留——CI runner 是共享的 Mac mini,多次 run 之间 /tmp 不清理,残留的 venv 导致 python3 -m venv 时 ensurepip 尝试升级已存在的 pip 安装失败。

一致性验证

test job(同文件 line 42)已有相同的清理模式:

rm -rf /tmp/ci-venv-test
python3 -m venv /tmp/ci-venv-test

lint job 修复后与 test job 模式完全一致:

rm -rf /tmp/ci-venv-lint     # ← 新增
python3 -m venv /tmp/ci-venv-lint

正确性

  • 改动逻辑正确:先清理残留再创建 venv
  • 路径一致:/tmp/ci-venv-lint(删除路径与创建路径完全匹配)
  • 无副作用:rm -rf 对不存在的目录不报错
  • 改动范围精确:只加一行,不多不少

安全性

  • rm -rf 目标是 /tmp/ci-venv-lint(CI 临时目录),不影响项目代码或其他数据

与 §17 设计文档的关系

这个修复正是 §17 §6.4 描述的场景:CI 失败原因是基础设施问题(runner 环境故障),Issue #91 已正确转交给 jiangwei-infra。本 PR 是姜维的修复。


确认项:

  • 逻辑正确性(与 test job 清理模式一致)
  • 安全合规(rm -rf 目标是 CI 临时目录)
  • 改动范围精确(单行补充)
  • 根因与 Issue #91 对齐

Approve

## 审查结论:Approve **风险级别:标准**(CI 配置改动) --- ### 改动概要 lint job Setup Python 步骤前增加 `rm -rf /tmp/ci-venv-lint`,清理残留 venv 避免 ensurepip 失败。 ### 根因验证 Issue #91 描述:CI lint job 在 `python3 -m venv /tmp/ci-venv-lint` 时 `ensurepip` 失败,导致所有 PR 的 CI 全挂。 根因是 `/tmp/ci-venv-lint` 残留——CI runner 是共享的 Mac mini,多次 run 之间 `/tmp` 不清理,残留的 venv 导致 `python3 -m venv` 时 ensurepip 尝试升级已存在的 pip 安装失败。 ### 一致性验证 test job(同文件 line 42)已有相同的清理模式: ```yaml rm -rf /tmp/ci-venv-test python3 -m venv /tmp/ci-venv-test ``` lint job 修复后与 test job 模式完全一致: ```yaml rm -rf /tmp/ci-venv-lint # ← 新增 python3 -m venv /tmp/ci-venv-lint ``` ### 正确性 - [x] 改动逻辑正确:先清理残留再创建 venv - [x] 路径一致:`/tmp/ci-venv-lint`(删除路径与创建路径完全匹配) - [x] 无副作用:`rm -rf` 对不存在的目录不报错 - [x] 改动范围精确:只加一行,不多不少 ### 安全性 - [x] `rm -rf` 目标是 `/tmp/ci-venv-lint`(CI 临时目录),不影响项目代码或其他数据 ### 与 §17 设计文档的关系 这个修复正是 §17 §6.4 描述的场景:CI 失败原因是基础设施问题(runner 环境故障),Issue #91 已正确转交给 jiangwei-infra。本 PR 是姜维的修复。 --- ✅ 确认项: - [x] 逻辑正确性(与 test job 清理模式一致) - [x] 安全合规(rm -rf 目标是 CI 临时目录) - [x] 改动范围精确(单行补充) - [x] 根因与 Issue #91 对齐 Approve
jiangwei-infra merged commit 1c7be0e782 into main 2026-06-19 01:45:52 +00:00
Sign in to join this conversation.