From 1634d27a43c91e05ce34dfe10a929a301854a72d Mon Sep 17 00:00:00 2001 From: MiFaZhan Date: Mon, 2 Nov 2026 14:20:13 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E4=B8=80=E6=AC=A1=E6=80=A7=E6=B8=85?= =?UTF-8?q?=E7=90=86=E5=B7=A5=E4=BD=9C=E6=B5=81=EF=BC=88=E5=88=A0=E9=99=A4?= =?UTF-8?q?=20Gitee=20=E4=BE=A7=2012=20=E4=B8=AA=E5=B7=B2=E5=B9=B6?= =?UTF-8?q?=E5=85=A5=E5=8D=95=E4=BB=93=E7=9A=84=E6=97=A7=E4=BB=93=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 删除后会再删掉本文件。 --- .gitea/workflows/cleanup-old-gitee-repos.yml | 60 ++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .gitea/workflows/cleanup-old-gitee-repos.yml diff --git a/.gitea/workflows/cleanup-old-gitee-repos.yml b/.gitea/workflows/cleanup-old-gitee-repos.yml new file mode 100644 index 0000000..2b254a0 --- /dev/null +++ b/.gitea/workflows/cleanup-old-gitee-repos.yml @@ -0,0 +1,60 @@ +name: cleanup-old-gitee-repos + +# 一次性任务:删除 Gitee 企业仓下 12 个已并入单仓的旧仓。 +# 用完后本文件应删除(见 CHANGELOG 记录)。执行前会逐个确认「不是 iotlcm 本身」。 +on: + workflow_dispatch: + +jobs: + cleanup: + runs-on: host + steps: + - name: 删除旧仓 + env: + DST_TOKEN: ${{ secrets.GITEE_TOKEN }} + DST_OWNER: ${{ secrets.GITEE_OWNER }} + run: | + set -u + + REPOS="iotlcm-admin-svr iotlcm-admin-ui iotlcm-app iotlcm-bot iotlcm-deploy iotlcm-docs iotlcm-onelink-mock iotlcm-openapi iotlcm-sms iotlcm-upstream-chan iotlcm-upstream-proxy iotlcm-worker-svr" + + fail=0 + for r in $REPOS; do + # 保险:绝不删单仓本身 + if [ "$r" = "iotlcm" ]; then + echo "❌ 拒绝删除单仓 $r"; exit 1 + fi + + code=$(curl -sS -o /tmp/del.out -w '%{http_code}' -X DELETE \ + "https://gitee.com/api/v5/repos/${DST_OWNER}/${r}?access_token=${DST_TOKEN}") + echo "DELETE ${DST_OWNER}/${r} -> HTTP $code" + case "$code" in + 200|202|204) ;; + 404) echo " (已不存在,跳过)" ;; + *) echo " ❌ 失败:$(head -c 200 /tmp/del.out)"; fail=1 ;; + esac + done + + echo "" + echo "===== 复核:逐个 GET 应返回 404 =====" + for r in $REPOS; do + code=$(curl -sS -o /dev/null -w '%{http_code}' \ + "https://gitee.com/api/v5/repos/${DST_OWNER}/${r}?access_token=${DST_TOKEN}") + echo "GET ${DST_OWNER}/${r} -> HTTP $code" + [ "$code" != "404" ] && { echo " ⚠️ 仍然存在"; fail=1; } + done + + echo "" + echo "===== 单仓必须仍在 =====" + code=$(curl -sS -o /dev/null -w '%{http_code}' \ + "https://gitee.com/api/v5/repos/${DST_OWNER}/iotlcm?access_token=${DST_TOKEN}") + echo "GET ${DST_OWNER}/iotlcm -> HTTP $code" + [ "$code" != "200" ] && { echo " ❌ 单仓不见了"; fail=1; } + + if [ "$fail" != "0" ]; then + echo "" + echo "===== 结论:存在失败项 =====" + exit 1 + fi + echo "" + echo "===== 结论:12 个旧仓已删除,单仓完好 ====="