From a4e0c0a528740e3c531a88d13faf80def1d497d7 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Mon, 7 Jul 2025 21:48:52 -0400 Subject: [PATCH] Remove non-functional PR labeler workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PR labeler can't actually apply labels on Forgejo, only suggests them - Removes unnecessary workflow that just creates noise without functionality - Simplifies CI pipeline by removing unused automation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .forgejo/workflows/pr-labeler.yml | 110 ------------------------------ 1 file changed, 110 deletions(-) delete mode 100644 .forgejo/workflows/pr-labeler.yml diff --git a/.forgejo/workflows/pr-labeler.yml b/.forgejo/workflows/pr-labeler.yml deleted file mode 100644 index dc3fbf2..0000000 --- a/.forgejo/workflows/pr-labeler.yml +++ /dev/null @@ -1,110 +0,0 @@ -name: PR Labeler - -on: - pull_request: - types: [opened, edited, synchronize] - -jobs: - label: - runs-on: self-hosted - name: Label Pull Request - - steps: - - name: Checkout code - uses: https://code.forgejo.org/actions/checkout@v4 - - - name: Analyze and label PR - run: | - echo "Analyzing PR for automatic labeling..." - - # Get changed files - git fetch origin main - # Try different approaches to get the diff - if git merge-base origin/main HEAD >/dev/null 2>&1; then - CHANGED_FILES=$(git diff --name-only origin/main...HEAD) - else - # Fallback: compare with origin/main directly - CHANGED_FILES=$(git diff --name-only origin/main HEAD || echo "") - fi - - if [ -z "$CHANGED_FILES" ]; then - echo "Unable to determine changed files, using all files in current branch" - CHANGED_FILES=$(find . -name "*.ts" -o -name "*.js" -o -name "*.scss" -o -name "*.json" | grep -v node_modules | head -20) - fi - - # Initialize labels array - LABELS="" - - # Check file types and paths - if echo "$CHANGED_FILES" | grep -q "^src/.*\.ts$"; then - LABELS="$LABELS,backend" - fi - - if echo "$CHANGED_FILES" | grep -q "^src/frontend/.*\.ts$"; then - LABELS="$LABELS,frontend" - fi - - if echo "$CHANGED_FILES" | grep -q "^public/.*\.\(js\|html\)$"; then - LABELS="$LABELS,frontend" - fi - - if echo "$CHANGED_FILES" | grep -q "^src/scss/.*\.scss$"; then - LABELS="$LABELS,styles" - fi - - if echo "$CHANGED_FILES" | grep -q "^tests/.*\.test\.ts$"; then - LABELS="$LABELS,tests" - fi - - if echo "$CHANGED_FILES" | grep -q "^\.forgejo/workflows/"; then - LABELS="$LABELS,ci/cd" - fi - - if echo "$CHANGED_FILES" | grep -q "package.*\.json$"; then - LABELS="$LABELS,dependencies" - fi - - if echo "$CHANGED_FILES" | grep -q "^docs/\|README\.md\|CLAUDE\.md"; then - LABELS="$LABELS,documentation" - fi - - if echo "$CHANGED_FILES" | grep -q "^src/i18n/"; then - LABELS="$LABELS,i18n" - fi - - if echo "$CHANGED_FILES" | grep -q "^scripts/"; then - LABELS="$LABELS,tooling" - fi - - # Check PR title/body for keywords - PR_TITLE="${{ github.event.pull_request.title }}" - PR_BODY="${{ github.event.pull_request.body }}" - - if echo "$PR_TITLE $PR_BODY" | grep -qi "security\|vulnerability\|CVE"; then - LABELS="$LABELS,security" - fi - - if echo "$PR_TITLE $PR_BODY" | grep -qi "performance\|optimize\|speed"; then - LABELS="$LABELS,performance" - fi - - if echo "$PR_TITLE $PR_BODY" | grep -qi "bug\|fix\|issue"; then - LABELS="$LABELS,bug" - fi - - if echo "$PR_TITLE $PR_BODY" | grep -qi "feature\|enhancement\|add"; then - LABELS="$LABELS,enhancement" - fi - - if echo "$PR_TITLE $PR_BODY" | grep -qi "breaking change\|BREAKING"; then - LABELS="$LABELS,breaking-change" - fi - - # Remove leading comma and duplicates - LABELS=$(echo "$LABELS" | sed 's/^,//' | tr ',' '\n' | sort -u | tr '\n' ',' | sed 's/,$//') - - echo "Suggested labels: $LABELS" - - # Note: In actual Forgejo/Gitea, you would use the API to apply labels - # This is just for demonstration - echo "To apply labels, use: tea pr edit ${{ github.event.pull_request.number }} --add-label \"$LABELS\"" \ No newline at end of file