aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/assign-relevant-labels.yml64
-rw-r--r--.github/workflows/label-bug-fix.yml44
2 files changed, 64 insertions, 44 deletions
diff --git a/.github/workflows/assign-relevant-labels.yml b/.github/workflows/assign-relevant-labels.yml
new file mode 100644
index 000000000..4118c7172
--- /dev/null
+++ b/.github/workflows/assign-relevant-labels.yml
@@ -0,0 +1,64 @@
+name: "Assign relevant labels"
+on:
+ pull_request_target:
+ types: [ opened, edited ]
+jobs:
+ assign-label:
+ if: github.event.pull_request.state == 'open'
+ runs-on: ubuntu-latest
+ permissions:
+ issues: write
+ pull-requests: write
+ contents: read
+ steps:
+ - name: label
+ env:
+ TITLE: ${{ github.event.pull_request.title }}
+ LABEL_FIX: Bug Fix
+ LABEL_BACKEND: Backend
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN}}
+ script: |
+ const labelsToAdd = [];
+ const labelsToRemove = [];
+ const title = process.env.TITLE.split(":")[0].toUpperCase();
+
+ if(title.includes("FIX")){
+ labelsToAdd.push(process.env.LABEL_FIX);
+ } else {
+ labelsToRemove.push(process.env.LABEL_FIX);
+ }
+
+ if(title.includes("BACKEND")){
+ labelsToAdd.push(process.env.LABEL_BACKEND);
+ } else {
+ labelsToRemove.push(process.env.LABEL_BACKEND);
+ }
+
+ for (const label of labelsToAdd) {
+ github.rest.issues.addLabels({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ labels: [label]
+ });
+ }
+
+ const {data} = await github.rest.issues.listLabelsOnIssue({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ });
+
+ for (const label of labelsToRemove) {
+ const filtered = data.filter(l => l.name == label);
+ if(filtered.length == 1){
+ github.rest.issues.removeLabel({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ name: label
+ });
+ }
+ }
diff --git a/.github/workflows/label-bug-fix.yml b/.github/workflows/label-bug-fix.yml
deleted file mode 100644
index 4730d6194..000000000
--- a/.github/workflows/label-bug-fix.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-name: "Bug Fix label"
-on:
- pull_request_target:
- types: [ opened, edited ]
-jobs:
- assign-label:
- if: github.event.pull_request.state == 'open' # Condition to check if PR is open
- runs-on: ubuntu-latest
- permissions:
- issues: write
- pull-requests: write
- contents: read
- steps:
- - name: label
- env:
- TITLE: ${{ github.event.pull_request.title }}
- LABEL: Bug Fix
- uses: actions/github-script@v7
- with:
- github-token: ${{ secrets.GITHUB_TOKEN}}
- script: |
- if(process.env.TITLE.split(":")[0].toUpperCase().includes("FIX")){
- github.rest.issues.addLabels({
- issue_number: context.issue.number,
- owner: context.repo.owner,
- repo: context.repo.repo,
- labels: [process.env.LABEL]
- })
- }else{
- const {data} = await github.rest.issues.listLabelsOnIssue({
- issue_number: context.issue.number,
- owner: context.repo.owner,
- repo: context.repo.repo,
- })
- const filtered = data.filter(label => label.name == process.env.LABEL)
- if(filtered.length == 1){
- github.rest.issues.removeLabel({
- issue_number: context.issue.number,
- owner: context.repo.owner,
- repo: context.repo.repo,
- name: process.env.LABEL
- })
- }
- }