mirror of
https://github.com/searxng/searxng.git
synced 2026-07-31 12:21:24 +00:00
40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
// Closes issues and prs whose authors/agents don't accept the ai policy
|
|
// https://github.com/searxng/searxng/blob/master/AI_POLICY.rst
|
|
|
|
module.exports = async ({ github, context }) => {
|
|
const item = context.payload.pull_request || context.payload.issue;
|
|
const body = item.body || '';
|
|
const kind = context.payload.pull_request ? 'pull request' : 'issue';
|
|
|
|
// https://github.com/searxng/searxng/pull/6476#discussion_r3683782481
|
|
const hasBox = /\[[Xx]\].*AI Policy/.test(body);
|
|
const hasRef = /\[AI Policy\]:\s*https:\/\/github\.com\/searxng\/searxng\/.*AI_POLICY/.test(body);
|
|
if (hasBox && hasRef) {
|
|
return;
|
|
}
|
|
|
|
const { owner, repo } = context.repo;
|
|
await github.rest.issues.createComment({
|
|
owner,
|
|
repo,
|
|
issue_number: item.number,
|
|
body:
|
|
'Hello! Thank you for your contribution.\n\n' +
|
|
`Unfortunately your ${kind} was closed as the AI Policy has not been accepted.\n\n` +
|
|
`Please open a new ${kind} after confirming your contribution aligns with our AI Policy.`,
|
|
});
|
|
await github.rest.issues.addLabels({
|
|
owner,
|
|
repo,
|
|
issue_number: item.number,
|
|
labels: ['invalid:slop'],
|
|
});
|
|
await github.rest.issues.update({
|
|
owner,
|
|
repo,
|
|
issue_number: item.number,
|
|
state: 'closed',
|
|
state_reason: 'not_planned',
|
|
});
|
|
};
|