diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index cccec5c5..c3f6d3ed 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -38,6 +38,22 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: "Guard: reject PRs with zero file changes" + run: | + CHANGED=$(git diff --name-only origin/main...HEAD | wc -l | tr -d ' ') + echo "Changed files: $CHANGED" + if [ "$CHANGED" -eq 0 ]; then + echo "" + echo "═══════════════════════════════════════════════════" + echo " BLOCKED: PR contains zero file changes." + echo " This indicates rubber-stamping — approving without" + echo " actually making any modifications." + echo " Make real changes before requesting review." + echo "═══════════════════════════════════════════════════" + exit 1 + fi + echo "✓ PR has $CHANGED changed file(s)." + - name: Validate Python syntax run: | FAIL=0