From f8709e481d5ec61a414c9ca8a2247024c83dac4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=8A=80=E5=B0=8F=E4=BA=91?= Date: Wed, 4 Nov 2026 11:26:39 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=8A=93=E5=BB=BA=E4=BB=93=E5=8E=9F?= =?UTF-8?q?=E5=A7=8B=E9=94=99=E8=AF=AF=E5=93=8D=E5=BA=94=EF=BC=88=E4=B8=B4?= =?UTF-8?q?=E6=97=B6=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/probe-visibility.yml | 51 ++++++++++----------------- 1 file changed, 18 insertions(+), 33 deletions(-) diff --git a/.gitea/workflows/probe-visibility.yml b/.gitea/workflows/probe-visibility.yml index b63f8cd..91b78b6 100644 --- a/.gitea/workflows/probe-visibility.yml +++ b/.gitea/workflows/probe-visibility.yml @@ -1,8 +1,6 @@ name: probe-visibility -# 一次性排查:确定 Gitee 企业仓「建仓即公开」的正确请求体, -# 并确认该令牌能否删仓(能删才谈得上「删掉重建为公开」)。 -# 只在 __probe_* 临时仓上操作,结束前逐个删除。 +# 一次性排查:抓 Gitee 企业仓建仓 / 改可见性的原始错误响应。 on: workflow_dispatch: @@ -10,43 +8,30 @@ jobs: probe: runs-on: host steps: - - name: 试建仓可见性请求体 + - name: 抓原始响应 env: DST_TOKEN: ${{ secrets.GITEE_TOKEN }} DST_OWNER: ${{ secrets.GITEE_OWNER }} run: | set -u + echo "=== 建仓(仅 private:false)原始响应 ===" + 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":"__probe_d","auto_init":false,"private":false}' \ + -w '\n建仓 HTTP %{http_code}\n' | head -c 600; echo - try_create() { - local name="$1"; local body="$2"; local label="$3" - echo "----- $label : $name" - 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 "$body" \ - -o /tmp/c.json -w '建仓 HTTP %{http_code}\n' || true - python3 - <<'PY' - import json - try: - d = json.load(open('/tmp/c.json')) - except Exception: - print(' parse fail'); raise SystemExit - if 'message' in d: - print(' message:', d.get('message')) - else: - print(' path:', d.get('path'), '| private:', d.get('private'), '| internal:', d.get('internal')) - PY - curl -s -o /dev/null -w " 匿名可见 HTTP %{http_code}\n" -m 20 "https://gitee.com/${DST_OWNER}/${name}" - } + echo "=== 建仓(不带任何可见性字段)原始响应 ===" + 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":"__probe_e","auto_init":false}' \ + -w '\n建仓 HTTP %{http_code}\n' | head -c 600; echo - try_create "__probe_a" "{\"name\":\"__probe_a\",\"auto_init\":false,\"private\":false}" "仅 private:false" - try_create "__probe_b" "{\"name\":\"__probe_b\",\"auto_init\":false,\"public\":true}" "仅 public:true" - try_create "__probe_c" "{\"name\":\"__probe_c\",\"auto_init\":false,\"private\":false,\"internal\":false}" "private+internal 都 false" - - echo "=== 清理临时仓 ===" - for n in __probe_a __probe_b __probe_c; do + echo "=== 清理 __probe_d / __probe_e ===" + for n in __probe_d __probe_e; 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 120 /tmp/d.json 2>/dev/null; echo + -w "删 ${n} HTTP %{http_code}\n" -o /tmp/d.json || true + head -c 150 /tmp/d.json 2>/dev/null; echo done