From 0aae8ed99faf3fabfbe22e26445974c584d84270 Mon Sep 17 00:00:00 2001 From: agent-exec-transport Date: Wed, 21 Oct 2026 14:51:51 +0000 Subject: [PATCH] agent-exec transport 62f937e2b36ba8a042082602fc93d1cb/7c9a5c05b51c --- .gitea/workflows/ci.yaml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 91b7e696..8c22e28b 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -457,19 +457,22 @@ jobs: git -C rdm checkout --detach "$rev" git -C rdm submodule update --init --recursive # fail-loud:pins/* 本地 replace 目标缺失时 Go 会静默退回远端解析并报 - # missing go.sum entry,因此构建前逐个核对 go.mod 与 gitlink。 + # missing go.sum entry,因此构建前逐个核对子模块是否落地。pins 集合混有 + # Go 仓与非 Go 仓(如前端仓根无 go.mod),不能以有无 go.mod 判定; + # 真正要保证的是:HEAD 等于该 pin 的 gitlink,且工作树有已跟踪文件。 links="$(git -C rdm ls-tree "$rev" pins/)" while read -r mode _type commit path; do [ "$mode" = "160000" ] || continue - if [ ! -f "rdm/$path/go.mod" ]; then - echo "rdm pin $rev 的 $path 未落地:缺少 go.mod" >&2 - exit 1 - fi head="$(git -C rdm -C "$path" rev-parse HEAD 2>/dev/null || true)" if [ "$head" != "$commit" ]; then echo "rdm pin $rev 的 $path 未落地:HEAD ${head:-} 与 gitlink $commit 不符" >&2 exit 1 fi + tracked="$(git -C rdm -C "$path" ls-files 2>/dev/null || true)" + if [ -z "$tracked" ]; then + echo "rdm pin $rev 的 $path 未落地:工作树无已跟踪文件" >&2 + exit 1 + fi done <<< "$links" without_creds make -C rdm build sha256sum rdm/bin/agent-system-rdm | awk -v rev="$rev" '{print rev, $1}' >> rdm/pin-build-digests.txt