fix(ci): 手动构造镜像 ref 前把 owner 转小写(Gloridust→gloridust)

原生 runner 重写里 outputs/srcs 直接用了 github.repository_owner(含大写),
docker 拒绝大写 repo 名。metadata-action 会自动小写、但手动 ref 不会。
加一步 ${GITHUB_REPOSITORY_OWNER,,} 转小写,build/merge 两个 job 统一引用。
This commit is contained in:
Gloridust
2026-07-08 03:33:18 +08:00
parent fe964925c1
commit 5aa0ce0414

View File

@@ -47,7 +47,7 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Resolve build version
- name: Resolve build version + lowercase owner
id: ver
run: |
if [ "${{ github.ref_type }}" = "tag" ]; then
@@ -55,6 +55,8 @@ jobs:
else
echo "version=dev-${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT"
fi
# docker 镜像引用必须小写github.repository_owner 可能含大写Gloridust手动构造 ref 前先转小写
echo "owner=${GITHUB_REPOSITORY_OWNER,,}" >> "$GITHUB_OUTPUT"
# ── 产物门禁:仅在 wechat + amd64原生 x86可 docker run上跑冒烟探针 ──
# 「验证的东西和发布的东西必须是同一个 artifact」DPI/CEF 类问题与架构无关amd64 探针即可覆盖。
@@ -111,7 +113,7 @@ jobs:
build-args: ${{ matrix.name == 'panel' && format('WOC_VERSION={0}', steps.ver.outputs.version) || '' }}
cache-from: type=gha,scope=${{ matrix.name }}-${{ matrix.arch }}
cache-to: type=gha,mode=max,scope=${{ matrix.name }}-${{ matrix.arch }}
outputs: type=image,name=${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ matrix.image }},push-by-digest=true,name-canonical=true,push=true
outputs: type=image,name=${{ env.REGISTRY }}/${{ steps.ver.outputs.owner }}/${{ matrix.image }},push-by-digest=true,name-canonical=true,push=true
- name: Export digest
run: |
@@ -164,12 +166,16 @@ jobs:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Lowercase owner
id: vars
run: echo "owner=${GITHUB_REPOSITORY_OWNER,,}" >> "$GITHUB_OUTPUT"
- name: Docker metadata (tags + labels)
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ matrix.image }}
${{ env.REGISTRY }}/${{ steps.vars.outputs.owner }}/${{ matrix.image }}
${{ vars.DOCKERHUB_USERNAME != '' && format('docker.io/{0}/{1}', vars.DOCKERHUB_USERNAME, matrix.image) || '' }}
tags: |
type=semver,pattern={{version}}
@@ -186,10 +192,10 @@ jobs:
set -eux
tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON")
srcs=""
for f in *; do srcs="$srcs ${REGISTRY}/${{ github.repository_owner }}/${{ matrix.image }}@sha256:$f"; done
for f in *; do srcs="$srcs ${REGISTRY}/${{ steps.vars.outputs.owner }}/${{ matrix.image }}@sha256:$f"; done
docker buildx imagetools create $tags $srcs
- name: Verify multi-arch manifest
run: |
set -eux
docker buildx imagetools inspect "${REGISTRY}/${{ github.repository_owner }}/${{ matrix.image }}:${{ steps.meta.outputs.version }}"
docker buildx imagetools inspect "${REGISTRY}/${{ steps.vars.outputs.owner }}/${{ matrix.image }}:${{ steps.meta.outputs.version }}"