Skip to content

Commit 5ac523e

Browse files
Run api-gen and commit generated API directory
1 parent f450869 commit 5ac523e

File tree

1 file changed

+46
-24
lines changed

1 file changed

+46
-24
lines changed

.github/workflows/scripts/labeler.js

Lines changed: 46 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,37 +13,59 @@ You may obtain a copy of the License at
1313
limitations under the License.
1414
*/
1515

16-
1716
/**
1817
* Invoked from labeler.yaml file to add
1918
* label 'Gemma' to the issue and PR for which have gemma keyword present.
2019
* @param {!Object.<string,!Object>} github contains pre defined functions.
21-
* context Information about the workflow run.
20+
* context Information about the workflow run.
2221
*/
2322

2423
module.exports = async ({ github, context }) => {
25-
const issue_title = context.payload.issue ? context.payload.issue.title : context.payload.pull_request.title
26-
const issue_description = context.payload.issue ? context.payload.issue.body : context.payload.pull_request.body
27-
const issue_number = context.payload.issue ? context.payload.issue.number : context.payload.pull_request.number
24+
// Determine if the event is an issue or a pull request.
25+
const isIssue = !!context.payload.issue;
26+
27+
// Get the issue/PR title, description, and number from the payload.
28+
// Use an empty string for the description if it's null to prevent runtime errors.
29+
const issue_title = isIssue ? context.payload.issue.title : context.payload.pull_request.title;
30+
const issue_description = (isIssue ? context.payload.issue.body : context.payload.pull_request.body) || '';
31+
const issue_number = isIssue ? context.payload.issue.number : context.payload.pull_request.number;
32+
33+
// Define the keyword-to-label mapping.
2834
const keyword_label = {
29-
gemma:'Gemma'
30-
}
31-
const labelsToAdd = []
32-
console.log(issue_title,issue_description,issue_number)
35+
gemma: 'Gemma'
36+
};
3337

34-
for(const [keyword, label] of Object.entries(keyword_label)){
35-
if(issue_title.toLowerCase().indexOf(keyword) !=-1 || issue_description.toLowerCase().indexOf(keyword) !=-1 ){
36-
console.log(`'${keyword}'keyword is present inside the title or description. Pushing label '${label}' to row.`)
37-
labelsToAdd.push(label)
38+
// Array to hold labels that need to be added.
39+
const labelsToAdd = [];
40+
41+
console.log(`Processing event for issue/PR #${issue_number}: "${issue_title}"`);
42+
43+
// Loop through the keywords and check if they exist in the title or description.
44+
for (const [keyword, label] of Object.entries(keyword_label)) {
45+
// Use .includes() for a cleaner and more modern check.
46+
if (issue_title.toLowerCase().includes(keyword) || issue_description.toLowerCase().includes(keyword)) {
47+
console.log(`'${keyword}' keyword is present in the title or description. Pushing label '${label}' to the array.`);
48+
labelsToAdd.push(label);
49+
}
50+
}
51+
52+
// Add labels if the labelsToAdd array is not empty.
53+
if (labelsToAdd.length > 0) {
54+
console.log(`Adding labels ${labelsToAdd} to issue/PR '#${issue_number}'.`);
55+
56+
try {
57+
// Await the asynchronous API call to ensure it completes.
58+
await github.rest.issues.addLabels({
59+
owner: context.repo.owner,
60+
repo: context.repo.repo,
61+
issue_number: issue_number, // Use the correct issue_number variable
62+
labels: labelsToAdd
63+
});
64+
console.log(`Successfully added labels.`);
65+
} catch (error) {
66+
console.error(`Failed to add labels: ${error.message}`);
67+
}
68+
} else {
69+
console.log("No matching keywords found. No labels to add.");
3870
}
39-
}
40-
if(labelsToAdd.length > 0){
41-
console.log(`Adding labels ${labelsToAdd} to the issue '#${issue_number}'.`)
42-
github.rest.issues.addLabels({
43-
owner: context.repo.owner,
44-
repo: context.repo.repo,
45-
issue_number: context.issue.number,
46-
labels: labelsToAdd
47-
})
48-
}
49-
};
71+
};

0 commit comments

Comments
 (0)