PR #32469 分析报告
执行摘要
此 PR 修复了 AMD Miles nightly 构建镜像的 CI 流程因 runner 上缺少 pip 而失败的问题。通过在两个 workflow 文件中添加 python3-pip 的安装步骤,并传递 --break-system-packages 标志,确保依赖安装步骤成功执行。
功能与动机
AMD Miles nightly 构建工作流(ROCm 7.0 和 7.2)在执行 python3 -m pip install typer 时失败,因为 amd-docker-scale runner 上的系统 Python 环境未预装 pip。错误信息为:/usr/bin/python3: No module named pip。此 PR 在安装依赖前先通过系统包管理器安装 pip,并利用 --break-system-packages 绕过系统环境的限制。
实现拆解
- 修改 workflow 文件:在
.github/workflows/release-docker-amd-miles-rocm700-nightly.yml 和 .github/workflows/release-docker-amd-miles-rocm720-nightly.yml 中,将 Install docker/build.py dependencies 步骤由单行命令改为多行脚本。
- 安装 pip:首先运行
sudo apt-get update && sudo apt-get install -y python3-pip,确保 pip 可用。
- 安装 typer:使用
python3 -m pip install --break-system-packages --quiet typer 安装依赖,--break-system-packages 允许在系统 Python 环境中安装包。
无关键函数或代码变更,仅 CI 配置调整。以下为变更后的核心片段:
- name: Install docker/build.py dependencies
run: |
sudo apt-get update
sudo apt-get install -y python3-pip
python3 -m pip install --break-system-packages --quiet typer
评论区精华
PR 无 review 评论,直接由 bingxche 批准。
风险与影响
- 风险:低。若
apt-get install python3-pip 失败(如网络问题),构建仍会失败,但概率极低,且之前已在手动构建中验证。
- 影响:仅限两个 AMD nightly 工作流,不影响其他 CI 或生产代码。
关联脉络
此 PR 为独立的 CI 修复,与历史 PR 无直接关联。
参与讨论