diff --git a/.gitea/workflows/check-path.yml b/.gitea/workflows/check-path.yml new file mode 100644 index 0000000..d737801 --- /dev/null +++ b/.gitea/workflows/check-path.yml @@ -0,0 +1,29 @@ +name: 检查提交路径权限 +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: | + # 获取所有修改目录 + CHANGED_DIRS=$(git diff --name-only HEAD~1 | xargs -n1 dirname | sort -u) + echo "修改的目录为:$CHANGED_DIRS" + + for dir in $CHANGED_DIRS; do + if [[ "$dir" != "$GITEA_USERNAME" && ! "$dir" =~ ^\. ]]; then + echo "错误:你不能修改别人($dir)的目录!" + exit 1 + fi + done + + echo "✅ 提交路径符合权限要求。"