agent-exec transport af819d334d76f62e9dec6b105da6ca49/8751322a8e74
ci / svc-realcombo (pull_request) Successful in 3m32s
ci / test (pull_request) Successful in 9m30s
ci / test-pg (pull_request) Successful in 12m5s

This commit is contained in:
agent-exec-transport
2026-10-21 15:27:08 +00:00
parent d9e9c0560a
commit 340543549e
+34 -6
View File
@@ -443,16 +443,44 @@ jobs:
git -C rdm submodule update --init --recursive
done
echo "RDM commit: $(git -C rdm rev-parse HEAD)"
# 凭据保留到构建循环内的 submodule update;make 经 without_creds
# 剥离,避免 token 进入构建进程。不写凭据文件、不把 token 放进命令行。
without_creds() {
env -u GIT_CONFIG_COUNT \
-u GIT_CONFIG_KEY_0 -u GIT_CONFIG_VALUE_0 \
-u GIT_CONFIG_KEY_1 -u GIT_CONFIG_VALUE_1 \
-u GIT_CONFIG_KEY_2 -u GIT_CONFIG_VALUE_2 \
-u GIT_CONFIG_KEY_3 -u GIT_CONFIG_VALUE_3 \
-u SUBMODULE_TOKEN \
"$@"
}
: > rdm/pin-build-digests.txt
for rev in "${pins[@]}"; do
git -C rdm checkout --detach "$rev"
git -C rdm submodule update --init --recursive
# 不能用「有无 go.mod」判定落地:pin 集合混有 Go 仓与非 Go 仓
#(例如前端仓根目录没有 go.mod)。真正要保证的是每个 pins/*
# gitlink 子模块 HEAD 等于记录的提交,且工作树已有已跟踪文件——
# 否则 Go 可能静默回退到远端解析。
while read -r mode _type gitlink path; do
[ "$mode" = "160000" ] || continue
head="$(git -C rdm -C "$path" rev-parse HEAD)"
if [ "$head" != "$gitlink" ]; then
echo "rdm pin ${rev} 的 ${path} 未落地:HEAD 不等于 gitlink 提交" >&2
exit 1
fi
if [ -z "$(git -C rdm -C "$path" ls-files)" ]; then
echo "rdm pin ${rev} 的 ${path} 未落地:工作树无已跟踪文件" >&2
exit 1
fi
done < <(git -C rdm ls-tree "$rev" pins/)
without_creds make -C rdm build
sha256sum rdm/bin/agent-system-rdm | awk -v rev="$rev" '{print rev, $1}' >> rdm/pin-build-digests.txt
done
unset GIT_CONFIG_COUNT GIT_CONFIG_KEY_0 GIT_CONFIG_VALUE_0 \
GIT_CONFIG_KEY_1 GIT_CONFIG_VALUE_1 GIT_CONFIG_KEY_2 \
GIT_CONFIG_VALUE_2 GIT_CONFIG_KEY_3 GIT_CONFIG_VALUE_3
unset SUBMODULE_TOKEN
: > rdm/pin-build-digests.txt
for rev in "${pins[@]}"; do
git -C rdm checkout --detach "$rev"
make -C rdm build
sha256sum rdm/bin/agent-system-rdm | awk -v rev="$rev" '{print rev, $1}' >> rdm/pin-build-digests.txt
done
- name: Install Node 22
run: |
set -euo pipefail