This is an automated email from the ASF dual-hosted git repository.

jiacai2050 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-horaedb.git


The following commit(s) were added to refs/heads/main by this push:
     new ebca8a78 chore: add auto-label-pr action (#1520)
ebca8a78 is described below

commit ebca8a7855d3001301cd14ef21521eacb8efac28
Author: chunshao.rcs <[email protected]>
AuthorDate: Fri Apr 26 11:45:07 2024 +0800

    chore: add auto-label-pr action (#1520)
    
    ## Rationale
    Automatically label the pr based on the pr title.
    
    ## Detailed Changes
    Automatically label the pr based on the pr title.
    
    ## Test Plan
    Manual test.
---
 .github/workflows/auto-label-pr.yml | 60 +++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/.github/workflows/auto-label-pr.yml 
b/.github/workflows/auto-label-pr.yml
new file mode 100644
index 00000000..c334e377
--- /dev/null
+++ b/.github/workflows/auto-label-pr.yml
@@ -0,0 +1,60 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: Auto Label PRs Based on Title
+
+on:
+  pull_request_target:
+    types: [opened, edited, synchronize]
+
+permissions:
+  pull-requests: write
+  contents: read
+
+jobs:
+  label:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v2
+
+      - name: Add Label Based on PR Title
+        uses: actions/github-script@v4
+        with:
+          github-token: ${{secrets.GITHUB_TOKEN}}
+          script: |
+            const patternMap = {
+              '!:': 'breaking-change',
+              'feat:': 'feature',
+              'fix:': 'bug',
+              'docs:': 'docs',
+              'refactor:': 'refactor',
+              'chore:': 'chore'
+            };
+            const title = context.payload.pull_request.title.toLowerCase();
+            const labelsToAdd = Object.entries(patternMap)
+              .filter(([key, ]) => title.includes(key))
+              .map(([, label]) => label);
+            
+            if (labelsToAdd.length > 0) {
+              await github.issues.addLabels({
+                issue_number: context.issue.number,
+                owner: context.repo.owner,
+                repo: context.repo.repo,
+                labels: labelsToAdd
+              });
+            }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to