Skip to content

fix: GHCR 镜像名必须小写(owner C3H3-AI 含大写导致 buildx 失败) - #4

Merged
C3H3-AI merged 2 commits into
masterfrom
fix/ghcr-lowercase
Sep 15, 2026
Merged

C3H3-AI merged 2 commits into
masterfrom
fix/ghcr-lowercase

Conversation

@C3H3-AI

@C3H3-AI C3H3-AI commented Sep 15, 2026

Copy link
Copy Markdown
Owner

Description / 变更描述

修复 Build Add-on Image 的第二次失败。上一轮 tag 引用修复已生效
(init job 全部通过、build job 真正进入 buildx 阶段),本次是随之暴露的下一层问题。

失败现象

##[error]buildx failed with: ERROR: failed to build:
invalid tag "ghcr.io/C3H3-AI/amd64-ai-proxy:1.1.0b13":
repository name must be lowercase

根因

HA 官方 builder 的两个 action,registry-prefix 默认值都是
ghcr.io/${{ github.repository_owner }}

  • prepare-multi-arch-matrix(action.yml:14)
  • publish-multi-arch-manifest(action.yml:32)

而本仓库 owner 是 C3H3-AI(含大写)。Docker/OCI 规范要求
repository name 必须全小写,故被 buildx 拒绝。

改动(3 处,统一为 ghcr.io/c3h3-ai

位置 改法
prepare-multi-arch-matrix 显式传 registry-prefix
publish-multi-arch-manifest 显式传 registry-prefix
verify job 手写 IMAGEgithub.repository_owner 改为字面量

config.yamlimage: "ghcr.io/c3h3-ai/ai-proxy" 保持一致。

验证进展

轮次 结果
第 1 次 Set up job 即失败(tag 7.2.0actions/ 目录)
第 2 次 init ✅ → build 进入 buildx ❌(本次修复的问题)
第 3 次 待合并后验证

⚠️ 该 workflow 只在 push 到 master 时触发,PR 阶段不跑,
因此本轮修复同样需合并后由真机确认。

Type of change / 变更类型

  • bugfix: Bug fix / 问题修复
  • new feature: New feature / 新功能
  • refactor: Code refactoring and optimization / 重构与优化
  • breaking: Breaking change / 破坏性变更
  • docs: Documentation / 文档更新

Testing / 测试

  • HA Version / HA版本: 2024.1.0+
  • Add-on Version / 加载项版本: 1.1.0b13
  • Test Result / 测试结果: 依据第 2 次运行的 buildx 错误日志定位;
    三处 ghcr 前缀已本地核对一致,待合并后真机验证

Checklist / 自检清单

  • Code follows project standards / 代码符合项目规范
  • No debug code or unrelated files / 无调试代码或无关文件

C3H3-AI added 2 commits September 15, 2026 13:42
Build Add-on Image 在合并后首次运行即失败:

  ##[error]Can't find 'action.yml', 'action.yaml' or 'Dockerfile'
  for action 'home-assistant/builder/actions/prepare-multi-arch-matrix@7.2.0'.

根因:home-assistant/builder 存在两条版本线。
- 7.x(7.0 / 7.1 / 7.2.0):旧版 builder,**仓库内没有 actions/ 目录**
- 2026.x(2026.09.0 等):新版,含 actions/{build-image,
  prepare-multi-arch-matrix,publish-multi-arch-manifest,cosign-verify}

实测对比(两个 tag 各自的 clone):
  tag 7.2.0      → azure-pipelines.yml builder.sh build.json Dockerfile ...
                   actions/ 不存在
  tag 2026.09.0  → actions/ action.yml ...(4 个子 action 齐全)

官方 README 示例中的 @[version] 指的是 releases 页面上的 tag,
即日历版本(2026.09.0),而非 7.x 那条线。此前取了 7.2.0 属实误判。
Build Add-on Image 第二次运行实际进入构建阶段,buildx 报错:

  ##[error]buildx failed with: ERROR: failed to build:
  invalid tag "ghcr.io/C3H3-AI/amd64-ai-proxy:1.1.0b13":
  repository name must be lowercase

根因:HA 官方 builder 的 prepare-multi-arch-matrix 与
publish-multi-arch-manifest 两个 action,其 registry-prefix 默认值均为
ghcr.io/${{ github.repository_owner }},而本仓库 owner 是 "C3H3-AI"(含大写)。
Docker/OCI 规范要求 repository name 必须全小写。

改动(3 处,统一为 ghcr.io/c3h3-ai):
- prepare-multi-arch-matrix: 显式传 registry-prefix
- publish-multi-arch-manifest: 显式传 registry-prefix
- verify job: 手写的 IMAGE 变量由 github.repository_owner 改为字面量

与 config.yaml 的 image: "ghcr.io/c3h3-ai/ai-proxy" 保持一致。

注:上一轮的 tag 引用修复(7.2.0 -> 2026.09.0)已生效——
本次 init job(Resolve version & matrix)全部步骤通过,
build job 也真正进入了 buildx 构建阶段,不再是 Set up job 失败。
@github-actions github-actions Bot added the 🐛 Bug Fix Bug fix / 问题修复 label Sep 15, 2026
@C3H3-AI
C3H3-AI merged commit c1c879e into master Sep 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐛 Bug Fix Bug fix / 问题修复

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant