diff --git a/.github/workflows/auto-label-issues.yml b/.github/workflows/auto-label-issues.yml index 96487408..0dc1a2d5 100644 --- a/.github/workflows/auto-label-issues.yml +++ b/.github/workflows/auto-label-issues.yml @@ -14,25 +14,19 @@ jobs: const issue = context.payload.issue; const title = issue.title.toLowerCase(); const body = issue.body.toLowerCase(); - const labels = []; - if (title.includes('gssoc') || body.includes('gssoc')) { labels.push('GSSoC'); } - if (title.includes('enhancement') || body.includes('enhancement')) { labels.push('Enhancement'); } - if (title.includes('bug') || body.includes('bug')) { labels.push('Bug'); } - if (title.includes('documentation') || body.includes('documentation')) { labels.push('Documentation'); } - if (labels.length > 0) { github.rest.issues.addLabels({ issue_number: context.issue.number, diff --git a/.github/workflows/auto-label-pr.yml b/.github/workflows/auto-label-pr.yml new file mode 100644 index 00000000..f835bfae --- /dev/null +++ b/.github/workflows/auto-label-pr.yml @@ -0,0 +1,43 @@ +name: Auto Label PRs +on: + pull_request: + types: [opened, edited, synchronize] + +jobs: + label_prs: + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v6 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + const pr = context.payload.pull_request; + const title = pr.title.toLowerCase(); + const body = pr.body ? pr.body.toLowerCase() : ''; + + const labels = []; + + if (title.includes('gssoc') || body.includes('gssoc')) { + labels.push('GSSoC'); + } + + if (title.includes('enhancement') || body.includes('enhancement')) { + labels.push('Enhancement'); + } + + if (title.includes('bug') || body.includes('bug')) { + labels.push('Bug'); + } + + if (title.includes('documentation') || body.includes('documentation')) { + labels.push('Documentation'); + } + + if (labels.length > 0) { + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.name, + labels: labels + }); + } \ No newline at end of file