Create GitHub Actions Workflow to Label PRs Modifying Workflows (#130)
* Add PR labeler workflow to label PRs modifying workflows * Switch from `pull_request_target` to `pull_request` * Fix label color format --------- Co-authored-by: Sarthak Agarwal <sarthak.saga@gmail.com>
This commit is contained in:
parent
b775a84ad5
commit
3665e7676d
1 changed files with 55 additions and 0 deletions
55
.github/workflows/label-workflow-changes.yml
vendored
Normal file
55
.github/workflows/label-workflow-changes.yml
vendored
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
name: PR Labeler
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- ".github/workflows/**"
|
||||
types: [opened, synchronize, reopened]
|
||||
|
||||
jobs:
|
||||
label-workflow-changes:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Label PR with workflow changes
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |
|
||||
const labelName = 'workflow-modified';
|
||||
|
||||
// Check if the label exists
|
||||
try {
|
||||
const labels = await github.rest.issues.listLabelsForRepo({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo
|
||||
});
|
||||
|
||||
const labelExists = labels.data.some(label => label.name === labelName);
|
||||
|
||||
if (!labelExists) {
|
||||
// Create the label if it doesn't exist
|
||||
await github.rest.issues.createLabel({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
name: labelName,
|
||||
color: 'f9d0c4',
|
||||
description: 'This PR modifies GitHub Actions workflows'
|
||||
});
|
||||
console.log(`Label "${labelName}" created`);
|
||||
} else {
|
||||
console.log(`Label "${labelName}" already exists`);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`Failed to check or create label: ${error.message}`);
|
||||
throw error;
|
||||
}
|
||||
|
||||
// Add the label to the PR
|
||||
await github.rest.issues.addLabels({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
labels: [labelName]
|
||||
});
|
||||
console.log(`Label "${labelName}" added to the PR.`);
|
||||
Loading…
Reference in a new issue