Update docker-image.yml

This commit is contained in:
Katelya
2025-08-31 18:01:03 +08:00
committed by GitHub
parent 78ce9d2371
commit 11b675486b
+10 -1
View File
@@ -138,7 +138,16 @@ jobs:
- name: Get multi-arch digest
id: get_digest
run: |
digest=$(docker buildx imagetools inspect ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.version }} --format '{{.Digest}}')
# 直接从 docker pull 获取 digest,这是最可靠的方法
digest=$(docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.version }} 2>&1 | grep "Digest:" | cut -d' ' -f2 || echo "")
if [ -z "$digest" ]; then
# 备选方案:使用 crane 风格的检查(如果支持的话)
digest=$(docker buildx imagetools inspect ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.version }} | grep "Digest:" | head -1 | cut -d' ' -f2 || echo "")
fi
if [ -z "$digest" ]; then
# 最后备选:从 raw manifest 计算
digest=$(docker buildx imagetools inspect ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.version }} --raw | sha256sum | awk '{print "sha256:"$1}')
fi
echo "digest=$digest" >> $GITHUB_OUTPUT
- name: Inspect image
run: |