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