From 28a6ee3c12173765f257102b88b54d09da347fbe Mon Sep 17 00:00:00 2001 From: liujiayu Date: Mon, 8 Sep 2025 14:04:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/check-pat?= =?UTF-8?q?h.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/check-path.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/check-path.yml b/.gitea/workflows/check-path.yml index d737801..430a7c0 100644 --- a/.gitea/workflows/check-path.yml +++ b/.gitea/workflows/check-path.yml @@ -4,26 +4,26 @@ on: [push, pull_request] jobs: check-path: name: 校验提交路径 - environment: gitea runs-on: gitea-runner steps: - name: 拉取代码 uses: actions/checkout@v3 - - name: 设置用户名(获取 GITEA_USERNAME) - run: echo "用户名是: $GITEA_USERNAME" - - name: 检查是否修改了他人目录 run: | - # 获取所有修改目录 + # 获取当前用户(优先用 GITEA_USERNAME,备用提交者用户名) + USERNAME=${GITEA_USERNAME:-$(git log -1 --pretty=format:'%an')} + echo "当前提交用户:$USERNAME" + + # 获取所有修改的目录 CHANGED_DIRS=$(git diff --name-only HEAD~1 | xargs -n1 dirname | sort -u) - echo "修改的目录为:$CHANGED_DIRS" + echo "修改的目录有:$CHANGED_DIRS" for dir in $CHANGED_DIRS; do - if [[ "$dir" != "$GITEA_USERNAME" && ! "$dir" =~ ^\. ]]; then - echo "错误:你不能修改别人($dir)的目录!" + if [[ "$dir" != "$USERNAME" && ! "$dir" =~ ^\. ]]; then + echo "错误:你无权修改 '$dir' 目录!" exit 1 fi done - echo "✅ 提交路径符合权限要求。" + echo "✅ 提交通过路径权限检查。"