Skip to content

Commit

Permalink
ensuring case-insensitive checks
Browse files Browse the repository at this point in the history
prevent manual addition of the bugbounty and bugbountyverified labels, ensuring case-insensitive checks
  • Loading branch information
Advaitgaur004 authored Oct 23, 2024
1 parent 801f3b1 commit 45cd7e6
Showing 1 changed file with 25 additions and 21 deletions.
46 changes: 25 additions & 21 deletions .github/workflows/prevent-bugbounty-label.yml
Original file line number Diff line number Diff line change
@@ -1,56 +1,60 @@
name: Bug Bounty PR Labeling
name: Prevent Manual 'bugbounty' and Handle Bug Bounty Verification

on:
pull_request:
types: [opened, synchronize, closed]
types: [labeled, unlabeled, opened, synchronize, closed]

jobs:
check_issue_and_add_bugbounty:
remove_invalid_labels:
if: github.event.pull_request.merged == false
runs-on: ubuntu-latest
steps:
- name: Check for 'bugbounty' label on related issue
- name: Remove 'bugbounty' and 'bugbountyverified' if manually added
uses: actions/github-script@v6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const issueNumber = context.payload.pull_request.body.match(/#(\d+)/);
if (!issueNumber) return;
const issue = await github.rest.issues.get({
owner: 'devlup-labs',
repo: 'dev-playground',
issue_number: issueNumber[1],
});
if (issue.data.labels.some(label => label.name.toLowerCase() === 'bugbounty')) {
await github.rest.issues.addLabels({
owner: 'devlup-labs',
repo: 'dev-playground',
issue_number: context.payload.pull_request.number,
labels: ['bugbounty'],
});
const restrictedLabels = ['bugbounty', 'bugbountyverified'];
const labelsToRemove = context.payload.pull_request.labels
.filter(label => restrictedLabels.map(l => l.toLowerCase()).includes(label.name.toLowerCase()));
if (labelsToRemove.length > 0) {
await Promise.all(labelsToRemove.map(label =>
github.rest.issues.removeLabel({
owner: 'devlup-labs',
repo: 'dev-playground',
issue_number: context.payload.pull_request.number,
name: label.name,
})
));
}
add_bugbountyverified_on_merge:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- name: Check if issue has 'bugbounty' label before adding 'bugbountyverified'
- name: Check issue and add 'bugbountyverified' on merge if no 'bugbounty' label on issue
uses: actions/github-script@v6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const issueNumber = context.payload.pull_request.body.match(/#(\d+)/);
if (!issueNumber) return;
if (!issueNumber) return; // No issue referenced in the PR body
const issue = await github.rest.issues.get({
owner: 'devlup-labs',
repo: 'dev-playground',
issue_number: issueNumber[1],
});
if (issue.data.labels.some(label => label.name.toLowerCase() === 'bugbounty')) {
// Check if the issue has the 'bugbounty' label
if (!issue.data.labels.some(label => label.name.toLowerCase() === 'bugbounty')) {
await github.rest.issues.addLabels({
owner: 'devlup-labs',
repo: 'dev-playground',
issue_number: context.payload.pull_request.number,
labels: ['bugbountyverified'],
});
} else {
console.log('Issue has "bugbounty" label, skipping "bugbountyverified" addition.');
}

0 comments on commit 45cd7e6

Please sign in to comment.