chore: 移除临时探测工作流,可见性校正改为尽力而为并给出人工路径
mirror-to-gitee / mirror (push) Successful in 3s

This commit is contained in:
技小云
2026-11-04 11:29:29 +08:00
committed by MiFaZhan
parent d14fd37842
commit be73b4b16a
2 changed files with 12 additions and 53 deletions
+12 -8
View File
@@ -97,18 +97,22 @@ jobs:
fi fi
echo "✅ 校验通过:Gitee 端 main 与 tag 均已对齐" echo "✅ 校验通过:Gitee 端 main 与 tag 均已对齐"
# 门户是公开项目门户,目标仓必须是公开的,否则不会出现在企业仓列表页里。 # 目标仓可见性:企业仓建仓 API 忽略 public/private 字段,
# 仓库可见性的更新端点是 PATCH /api/v5/repos/{owner}/{repo}; # 新建的仓一律是私有的;改可见性需要企业仓管理员权限,
# /enterprises/{owner}/repos/{repo} 不是有效端点(会 404)。 # 本令牌(普通成员令牌)会被拒(401「修改仓库公开属性失败,您没有此项权限」)。
# 该端点要求带 name,否则返回 400 {"messages":["name is missing"]}。 # 因此这里只做「尽力而为 + 明确提示」,失败不算 job 失败。
# 企业仓可见性有三档(公开 / 企业内 / 私有),公开需要 private 与 internal 都为 false。 echo "----- 尝试把目标仓可见性校正为公开"
echo "----- 校正目标仓可见性为公开" HTTP=$(curl -sS -m 25 -X PATCH \
curl -sS -X PATCH \
"https://gitee.com/api/v5/repos/${DST_OWNER}/${REPO_NAME}?access_token=${DST_TOKEN}" \ "https://gitee.com/api/v5/repos/${DST_OWNER}/${REPO_NAME}?access_token=${DST_TOKEN}" \
-H 'Content-Type: application/json' \ -H 'Content-Type: application/json' \
-d "{\"name\":\"${REPO_NAME}\",\"private\":false,\"internal\":false,\"description\":\"雪羊科技开源项目门户:iotLCM / 秀杰 DTU / XiuAdmin 等开源项目索引\"}" \ -d "{\"name\":\"${REPO_NAME}\",\"private\":false,\"internal\":false,\"description\":\"雪羊科技开源项目门户:iotLCM / 秀杰 DTU / XiuAdmin 等开源项目索引\"}" \
-o /tmp/repo-patch.json -w '改可见性 HTTP %{http_code}\n' || true -o /tmp/repo-patch.json -w '%{http_code}' || echo 000)
echo "改可见性 HTTP ${HTTP}"
head -c 300 /tmp/repo-patch.json 2>/dev/null; echo head -c 300 /tmp/repo-patch.json 2>/dev/null; echo
case "$HTTP" in
2*) echo "✅ 目标仓已为公开" ;;
*) echo "ℹ️ 目标仓当前为私有。需要用企业仓管理员账号在 Gitee 后台把 ${DST_OWNER}/${REPO_NAME} 改为「公开」;代码已同步,不影响镜像内容。" ;;
esac
exit 0 exit 0
fi fi
wait_s=$((attempt * 30)) wait_s=$((attempt * 30))
-45
View File
@@ -1,45 +0,0 @@
name: probe-visibility
# 一次性排查(带清理):
# 1) 企业仓建仓时用 public:true 是否直接得到公开仓
# 2) 该令牌能否删仓(能删,才谈得上「删掉私有仓再按公开重建」)
# 探针仓名合法(须字母开头),结束前删掉。
on:
workflow_dispatch:
jobs:
probe:
runs-on: host
steps:
- name: 试建仓可见性字段与删仓权限
env:
DST_TOKEN: ${{ secrets.GITEE_TOKEN }}
DST_OWNER: ${{ secrets.GITEE_OWNER }}
run: |
set -u
echo "=== 1. 建仓 public:true ==="
curl -sS -m 25 -X POST \
"https://gitee.com/api/v5/enterprises/${DST_OWNER}/repos?access_token=${DST_TOKEN}" \
-H 'Content-Type: application/json' \
-d '{"name":"probevistmp","auto_init":false,"public":true}' \
-o /tmp/c.json -w '建仓 HTTP %{http_code}\n' || true
head -c 400 /tmp/c.json; echo
curl -s -o /dev/null -w "匿名 probevistmp: HTTP %{http_code}\n" -m 20 "https://gitee.com/${DST_OWNER}/probevistmp"
echo "=== 2. 建仓 visibility:public ==="
curl -sS -m 25 -X POST \
"https://gitee.com/api/v5/enterprises/${DST_OWNER}/repos?access_token=${DST_TOKEN}" \
-H 'Content-Type: application/json' \
-d '{"name":"probevisvis","auto_init":false,"visibility":"public"}' \
-o /tmp/c2.json -w '建仓 HTTP %{http_code}\n' || true
head -c 400 /tmp/c2.json; echo
curl -s -o /dev/null -w "匿名 probevisvis: HTTP %{http_code}\n" -m 20 "https://gitee.com/${DST_OWNER}/probevisvis"
echo "=== 3. 删探针仓 ==="
for n in probevistmp probevisvis; do
curl -sS -m 25 -X DELETE \
"https://gitee.com/api/v5/repos/${DST_OWNER}/${n}?access_token=${DST_TOKEN}" \
-o /tmp/d.json -w "删 ${n} HTTP %{http_code}\n" || true
head -c 150 /tmp/d.json 2>/dev/null; echo
done