SuperAPI AI 工具集

release-update-docker-image-pin

部署与运维

查看项目

更新于 10-16 04:54

技能介绍

用途:为 pytorch/pytorch 的 nightly/发布二进制构建工作流固定(或重新固定)Linux manywheel 构建器 Docker 镜像,使发布分支针对固定的 .ci/docker 构建而非 main 上的浮动标签。固定值写入工作流生成器,因此可经受 regenerate.sh 与“生成文件为最新”的 lint 检查。该技能在 pytorch/pytorch 检出目录(通常为 release/X.Y 分支)上操作,尽管技能本身位于 test-infra。

主要能力:将 DOCKER_IMAGE_PIN 设为 release 分支上 git rev-parse HEAD:.ci/docker 得到的 40 位树哈希;仅固定 linux、linux-aarch64、linux-s390x 三类 manywheel 镜像,Windows 与 macOS 保持原标签前缀;重新生成生成的 Linux 二进制 manywheel 工作流并验证幂等性。

必要用法:先确认 release 版本与检出分支一致(cut -d'.' -f1-2 version.txt、git rev-parse --abbrev-ref HEAD);计算哈希 git rev-parse HEAD:.ci/docker;在 .github/scripts/generate_binary_build_matrix.py 中替换或新增 DOCKER_IMAGE_PIN 及 wheel_container_image_tag_prefix 辅助逻辑;用 RELEASE_VERSION_TAG=<版本> python3 .github/scripts/generate_ci_workflows.py 重新生成;核对仅三个 Linux manywheel 文件变化、无浮动标签、Windows/macOS 未变,并验证再次生成结果一致;最后运行 lintrunner -a 并提交,提交信息记录哈希等于 git rev-parse HEAD:.ci/docker。

适用场景:需要固定/更新发布版 manywheel 构建器镜像、在发布分支 .ci/docker 变更后刷新 pin 时。

限制:仅发布专用,不要合入 main;不能手写或臆造哈希,输错会导致构建拉取失败;不要直接编辑生成的 YAML;不要固定 Windows/macOS 镜像;未提供 RELEASE_VERSION_TAG 时生成结果可能与已提交文件不一致。输入项、图片发布标签格式等细节以官方资料为准,本文未展开的部分暂未提供。