Repository navigation
Conversation
…m images #4277 made offline export pin docker save --platform, but legacy single-platform images such as supabase/postgres:15.8.1.060 carry a platform annotation that never matches linux/amd64 or linux/arm64 exactly: docker pull --platform silently lands the only available variant, then docker save --platform aborts the whole offline package with 'no suitable export target found'. Both the amd64 and arm64 package builds failed at exactly this image. Retry the export without the platform filter when the filtered save fails and the daemon supports platform export: the pull step already pinned the variant, so the unfiltered save ships exactly what this package intends. Docker without platform export support keeps its single-attempt behaviour. Verified locally with a fake docker that reproduces the CI failure: filtered save fails, fallback save succeeds, tar is written.
Zzzxxxxy
requested review from
Dallas98,
WMC001,
YehongPan,
hhhhsc701 and
jeffwu-1999
as code owners
November 3, 2026 01:37
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
问题 / Problem
v2.8.3.1 tag 的 build-offline-package(amd64 + arm64 两个 job)在同一处失败:
#4277 给
docker save加了--platform过滤,但supabase/postgres:15.8.1.060这类遗留单平台镜像的平台标注不匹配任何标准平台:docker pull --platform静默拉下唯一可用版本(不报错),而docker save --platform严格校验直接失败,导致整个离线包构建中止。#4277 added a
--platformfilter todocker save, but legacy single-platform images such assupabase/postgres:15.8.1.060carry a platform annotation that never matcheslinux/amd64orlinux/arm64exactly:docker pull --platformsilently lands the only available variant, thendocker save --platformaborts the whole offline package withno suitable export target found.修复 / Fix
save_image_to_tar在带--platform的导出失败且 daemon 支持平台导出时,降级为不带平台过滤重试一次。pull 阶段已经锁定了变体,无过滤的 save 导出的正是本包要发的内容。不支持平台导出的旧 Docker 保持单次尝试行为。When the filtered export fails and the daemon supports platform export,
save_image_to_tarretries once without the platform filter. The pull step already pinned the variant, so the unfiltered save ships exactly what the package intends. Docker without platform export support keeps its single-attempt behaviour.验证 / Verification
bash -n语法通过test_offline_image_export.py新增两个回归:降级重试成功路径 + 旧 Docker 不降级路径(本机沙箱无法执行临时目录脚本,pytest 需 CI 验证)Fixes the offline-package failures in runs 41414643797 (amd64 + arm64).