[PR #19] [MERGED] fix: use single registry for push-by-digest to fix manifest merge #17

Closed
opened 2026-02-16 09:24:51 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/langgenius/dify-agentbox/pull/19
Author: @Mairuis
Created: 2/16/2026
Status: Merged
Merged: 2/16/2026
Merged by: @Mairuis

Base: mainHead: fix/docker-multiregistry-push-by-digest


📝 Commits (1)

  • 2691cb0 fix: use single registry for push-by-digest to fix manifest merge

📊 Changes

1 file changed (+2 additions, -2 deletions)

View changed files

📝 .github/workflows/build.yml (+2 -2)

📄 Description

Summary

  • Fix the merge job failing with not found when creating manifest lists for Docker Hub
  • Remove the second name=ghcr.io/... from the build job's push-by-digest output, so digests are only pushed to Docker Hub
  • Update the GHCR manifest creation step to reference digests from Docker Hub instead of GHCR

Root Cause

The build job specified two name values in a single type=image output:

type=image,name=langgenius/dify-agentbox,name=ghcr.io/langgenius/dify-agentbox,push-by-digest=true,...

In push-by-digest mode with name-canonical=true, buildx only pushed the image layers to GHCR (the second name), not Docker Hub. The merge job then tried to reference these digests on Docker Hub and failed with not found.

Fix

Follow the Docker official docs pattern: push-by-digest to a single registry (Docker Hub), then use imagetools create in the merge job to create manifest lists for both Docker Hub and GHCR from the same source digests.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/langgenius/dify-agentbox/pull/19 **Author:** [@Mairuis](https://github.com/Mairuis) **Created:** 2/16/2026 **Status:** ✅ Merged **Merged:** 2/16/2026 **Merged by:** [@Mairuis](https://github.com/Mairuis) **Base:** `main` ← **Head:** `fix/docker-multiregistry-push-by-digest` --- ### 📝 Commits (1) - [`2691cb0`](https://github.com/langgenius/dify-agentbox/commit/2691cb0e639627b089ebae2e6fef07bff9d64ded) fix: use single registry for push-by-digest to fix manifest merge ### 📊 Changes **1 file changed** (+2 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/build.yml` (+2 -2) </details> ### 📄 Description ## Summary - Fix the `merge` job failing with `not found` when creating manifest lists for Docker Hub - Remove the second `name=ghcr.io/...` from the build job's `push-by-digest` output, so digests are only pushed to Docker Hub - Update the GHCR manifest creation step to reference digests from Docker Hub instead of GHCR ## Root Cause The build job specified two `name` values in a single `type=image` output: ```yaml type=image,name=langgenius/dify-agentbox,name=ghcr.io/langgenius/dify-agentbox,push-by-digest=true,... ``` In `push-by-digest` mode with `name-canonical=true`, buildx only pushed the image layers to GHCR (the second name), not Docker Hub. The merge job then tried to reference these digests on Docker Hub and failed with `not found`. ## Fix Follow the [Docker official docs](https://docs.docker.com/build/ci/github-actions/multi-platform/) pattern: push-by-digest to a single registry (Docker Hub), then use `imagetools create` in the merge job to create manifest lists for both Docker Hub and GHCR from the same source digests. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-16 09:24:51 -05:00
yindo closed this issue 2026-02-16 09:24:51 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-agentbox#17