Skip to content

Commit c3537b0

Browse files
committed
fix: wrap state-mutating ops in try/catch with contextual error logging
- convertToDraft re-throws on failure so the workflow fails loudly - removeManagedLabels does not re-throw since draft conversion is the primary goal; a label-cleanup failure is logged via core.error but does not fail the run Signed-off-by: Gourav NSS <gourav341111@gmail.com>
1 parent ccb988f commit c3537b0

1 file changed

Lines changed: 24 additions & 11 deletions

File tree

.github/scripts/revision-guard/index.js

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,35 @@ module.exports = async function revisionGuard({ github, context, core }) {
3535
return;
3636
}
3737

38-
await convertToDraft(github, pr.node_id);
39-
core?.info?.(`Converted PR #${pr.number} to draft.`);
38+
try {
39+
await convertToDraft(github, pr.node_id);
40+
core?.info?.(`Converted PR #${pr.number} to draft.`);
41+
} catch (error) {
42+
core?.error?.(`Failed to convert PR #${pr.number} to draft: ${error.message}`);
43+
throw error;
44+
}
4045

4146
const labelsToRemove = getPresentManagedLabels(pr.labels);
4247
if (labelsToRemove.length === 0) {
4348
core?.info?.(`No managed labels to remove for PR #${pr.number}.`);
4449
return;
4550
}
4651

47-
await removeManagedLabels(github, {
48-
owner: repo.owner,
49-
repo: repo.repo,
50-
issueNumber: pr.number,
51-
labels: labelsToRemove,
52-
});
53-
core?.info?.(
54-
`Removed managed labels from PR #${pr.number}: ${labelsToRemove.join(', ')}.`
55-
);
52+
try {
53+
await removeManagedLabels(github, {
54+
owner: repo.owner,
55+
repo: repo.repo,
56+
issueNumber: pr.number,
57+
labels: labelsToRemove,
58+
});
59+
core?.info?.(
60+
`Removed managed labels from PR #${pr.number}: ${labelsToRemove.join(', ')}.`
61+
);
62+
} catch (error) {
63+
core?.error?.(
64+
`Failed to remove labels from PR #${pr.number}: ${error.message}. ` +
65+
`Labels to remove: ${labelsToRemove.join(', ')}.`
66+
);
67+
// Don't re-throw; draft conversion succeeded and is the primary goal
68+
}
5669
};

0 commit comments

Comments
 (0)