mirror of
https://github.com/supabase/supabase.git
synced 2026-05-07 01:10:15 -04:00
74 lines
2.5 KiB
YAML
74 lines
2.5 KiB
YAML
name: Auto Label Issues
|
|
on:
|
|
issues:
|
|
types: [opened, reopened]
|
|
jobs:
|
|
check-external:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
issues: write
|
|
steps:
|
|
- name: Check if organization member
|
|
id: is-org-member
|
|
uses: JamesSingleton/is-organization-member@39c59b3b17cca4eb75c81772b95e724e2a24c025 # v1.0.0
|
|
with:
|
|
organization: ${{ github.repository_owner }}
|
|
username: ${{ github.event.issue.user.login }}
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: label-member
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
GH_REPO: ${{ github.repository }}
|
|
NUMBER: ${{ github.event.issue.number }}
|
|
IS_INTERNAL: ${{ steps.is-org-member.outputs.result }}
|
|
run: |
|
|
if [ "$IS_INTERNAL" != "true" ]; then
|
|
echo "User is outside of organization, labeling external"
|
|
gh issue edit "$NUMBER" --add-label "external-issue"
|
|
else
|
|
echo "User is within the organization, labeling internal"
|
|
gh issue edit "$NUMBER" --add-label "internal-issue"
|
|
fi
|
|
triage-new:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
issues: write
|
|
steps:
|
|
- name: Label triage
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
GH_REPO: ${{ github.repository }}
|
|
NUMBER: ${{ github.event.issue.number }}
|
|
LABELS: to-triage
|
|
run: |
|
|
echo "Applying triage label for new issue"
|
|
gh issue edit "$NUMBER" --add-label "$LABELS"
|
|
spam-detection:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
issues: write
|
|
steps:
|
|
- name: Check GitHub Issue for spam
|
|
env:
|
|
POST_URL: ${{ secrets.POST_URL }}
|
|
BEARER_TOKEN: ${{ secrets.BEARER_TOKEN }}
|
|
NUMBER: ${{ github.event.issue.number }}
|
|
run: |
|
|
RESPONSE=$(curl -s -X POST "$POST_URL" \
|
|
-H "Authorization: Bearer $BEARER_TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"issue_id": $NUMBER}')
|
|
echo "spam_response=$RESPONSE" >> $GITHUB_OUTPUT
|
|
- name: Use spam detector output to label issue
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
GH_REPO: ${{ github.repository }}
|
|
NUMBER: ${{ github.event.issue.number }}
|
|
LABEL: flagged
|
|
run: |
|
|
IS_SPAM=$(echo "$SPAM_RESPONSE" | jq -r '.spam')
|
|
if [ "$IS_SPAM" == "true" ]; then
|
|
echo "Applying flagged label for new issue suspected of spam"
|
|
gh issue edit "$NUMBER" --add-label "$LABEL"
|
|
fi
|