codeflash/.github/workflows/label-workflow-changes.yml
HeshamHM28 3665e7676d
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>
2025-04-10 03:23:40 +05:30

55 lines
1.8 KiB
YAML

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.`);