aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/labeler_issue.yml
blob: d95d6ed6aa4811f89fc0d35806f2e3ea22f18dd9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
name: "label-issue"
on:
  issues:
    types: [opened]

permissions: {}

jobs:
  labeler:
    permissions:
      issues: write
    runs-on: ubuntu-latest
    steps:
      - name: check issue title
        uses: actions/github-script@v9
        with:
          script: |
            const title = context.payload.issue.title;
            const titleSplit = title.split(/\b/).map(e => e.toLowerCase());
            const keywords = [
              'api',
              'image',
              'lsp',
              'multicursor',
              'treesitter',
              'ui',
              'ui2'
            ];
            var labels = new Set();

            for (const keyword of keywords) {
              if (titleSplit.includes(keyword)) {
                labels.add(keyword)
              }
            }

            // Special cases.
            if (titleSplit.includes('vim.pack')) {
              labels.add('packages')
            }
            if (titleSplit.includes('cmdatom')) {
              labels.add('multicursor')
            }

            if (labels.size !== 0) {
              github.rest.issues.addLabels({
                owner: context.repo.owner,
                repo: context.repo.repo,
                issue_number: context.issue.number,
                labels: Array.from(labels)
              })
            }