Skip to content

fix(build): resolve Vercel deployment failure, case mismatch, duplica… #11

fix(build): resolve Vercel deployment failure, case mismatch, duplica…

fix(build): resolve Vercel deployment failure, case mismatch, duplica… #11

Workflow file for this run

name: Claim Issue
on:
issue_comment:
types: [created]
permissions:
issues: write
contents: read
concurrency:
group: claim-issue-${{ github.event.issue.number }}
cancel-in-progress: false
jobs:
claim:
# issue_comment is also triggered for pull requests.
# Only process comments on actual issues.
if: >
github.event.issue.pull_request == null &&
startsWith(github.event.comment.body, '/claim')
runs-on: ubuntu-latest
steps:
- name: Claim issue
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const issueNumber = context.issue.number;
const commentBody = context.payload.comment.body.trim();
const commenter = context.payload.comment.user.login;
// /claim must be the complete command, ignoring case.
if (!/^\/claim$/i.test(commentBody)) {
return;
}
// Get the latest issue state.
const { data: issue } = await github.rest.issues.get({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber
});
// Ignore if the issue is already assigned.
if (issue.assignees.length > 0) {
const currentAssignee = issue.assignees[0].login;
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
body:
`⚠️ This issue is already assigned to @${currentAssignee}. ` +
`Please choose another available issue.`
});
return;
}
// Assign the commenter.
try {
await github.rest.issues.addAssignees({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
assignees: [commenter]
});
// Add the assigned label.
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
labels: ['assigned']
});
// Confirmation.
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
body:
`✅ Issue claimed successfully! @${commenter} has been ` +
`assigned to this issue. Happy contributing! 🚀`
});
} catch (error) {
core.error(`Failed to claim issue #${issueNumber}: ${error.message}`);
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
body:
`❌ I couldn't assign this issue to @${commenter}. ` +
`Please try again later or contact a maintainer.`
});
core.setFailed('Failed to assign issue');
}