This commit is contained in:
@@ -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))
|
||||||
|
|||||||
@@ -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
|
|
||||||
Reference in New Issue
Block a user