This commit is contained in:
@ -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 "✅ 提交通过路径权限检查。"
|
||||
|
||||
Reference in New Issue
Block a user