From d2a91617da736117cf06fae0b2f32fa1186c5af3 Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Tue, 5 Nov 2024 14:33:29 -0800 Subject: [PATCH] Prevent @react-native-bot from double posting on missing reproducer (#47427) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/47427 I've noticed that react-native-bot posts twice once we can't find a reproducer. (see here: https://github.com/facebook/react-native/issues/47421) This fixes it by letting it post only once. Changelog: [Internal] [Changed] - Prevent react-native-bot from double posting on missing reproducer Reviewed By: mdvacca Differential Revision: D65485634 fbshipit-source-id: dbe9b1311aef246dead6d9b922c1256363e894f7 --- .../workflow-scripts/checkForReproducer.js | 26 +------------------ .github/workflow-scripts/verifyVersion.js | 5 ---- 2 files changed, 1 insertion(+), 30 deletions(-) diff --git a/.github/workflow-scripts/checkForReproducer.js b/.github/workflow-scripts/checkForReproducer.js index b4814d5441d..f1f336da2ca 100644 --- a/.github/workflow-scripts/checkForReproducer.js +++ b/.github/workflow-scripts/checkForReproducer.js @@ -9,11 +9,6 @@ const NEEDS_REPRO_LABEL = 'Needs: Repro'; const NEEDS_AUTHOR_FEEDBACK_LABEL = 'Needs: Author Feedback'; -const NEEDS_REPRO_HEADER = 'Missing Reproducible Example'; -const NEEDS_REPRO_MESSAGE = - `| :warning: | Missing Reproducible Example |\n` + - `| --- | --- |\n` + - `| :information_source: | We could not detect a reproducible example in your issue report. Please provide either:
|`; const SKIP_ISSUES_OLDER_THAN = '2023-07-01T00:00:00Z'; module.exports = async (github, context) => { @@ -25,7 +20,6 @@ module.exports = async (github, context) => { const issue = await github.rest.issues.get(issueData); const comments = await github.rest.issues.listComments(issueData); - const author = issue.data.user.login; const issueDate = issue.data.created_at; @@ -43,10 +37,6 @@ module.exports = async (github, context) => { return; } - const botComment = comments.data.find(comment => - comment.body.includes(NEEDS_REPRO_HEADER), - ); - const entities = [issue.data, ...comments.data]; // Look for Snack or a GH repo associated with the user that added an issue or comment @@ -74,25 +64,11 @@ module.exports = async (github, context) => { throw error; } } - - if (!botComment) return; - - await github.rest.issues.deleteComment({ - ...issueData, - comment_id: botComment.id, - }); } else { await github.rest.issues.addLabels({ ...issueData, labels: [NEEDS_REPRO_LABEL, NEEDS_AUTHOR_FEEDBACK_LABEL], }); - - if (botComment) return; - - await github.rest.issues.createComment({ - ...issueData, - body: NEEDS_REPRO_MESSAGE, - }); } }; @@ -101,7 +77,7 @@ function containsPattern(body, pattern) { return body.search(regexp) !== -1; } -// Prevents the bot from responding when maintainer has changed Needs: Repro the label +// Prevents the bot from responding when maintainer has changed the 'Needs: Repro' label async function hasMaintainerChangedLabel(github, issueData, author) { const timeline = await github.rest.issues.listEventsForTimeline(issueData); diff --git a/.github/workflow-scripts/verifyVersion.js b/.github/workflow-scripts/verifyVersion.js index c28c6b0dd11..5f51adff75e 100644 --- a/.github/workflow-scripts/verifyVersion.js +++ b/.github/workflow-scripts/verifyVersion.js @@ -10,11 +10,6 @@ module.exports = async (github, context) => { const issue = context.payload.issue; - // Ignore issues using upgrade template (they use a special label) - if (issue.labels.find(label => label.name === 'Type: Upgrade Issue')) { - return; - } - const issueVersionUnparsed = getReactNativeVersionFromIssueBodyIfExists(issue); const issueVersion = parseVersionFromString(issueVersionUnparsed);