Skip to content

Commit e9a1b95

Browse files
authored
Fix comment.js to not catch errors + cease using a disallowed API (#36454)
1 parent e311fa4 commit e9a1b95

File tree

1 file changed

+28
-40
lines changed

1 file changed

+28
-40
lines changed

.github/workflows/src/comment.js

Lines changed: 28 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -63,50 +63,38 @@ export async function commentOrUpdate(
6363
body,
6464
commentIdentifier,
6565
) {
66-
try {
67-
// Get the authenticated user to know who we are
68-
const { data: user } = await github.rest.users.getAuthenticated();
69-
const authenticatedUsername = user.login;
70-
const computedBody = body + `\n<!-- ${commentIdentifier} -->`;
66+
const computedBody = body + `\n<!-- ${commentIdentifier} -->`;
7167

72-
/** @type {IssueComment[]} */
73-
const comments = await github.paginate(github.rest.issues.listComments, {
68+
/** @type {IssueComment[]} */
69+
const comments = await github.paginate(github.rest.issues.listComments, {
70+
owner,
71+
repo,
72+
issue_number,
73+
per_page: PER_PAGE_MAX,
74+
});
75+
76+
const [commentId, commentBody] = parseExistingComments(comments, commentIdentifier);
77+
78+
if (commentId) {
79+
if (commentBody === computedBody) {
80+
core.info(`No update needed for comment ${commentId}.`);
81+
return; // No-op if the body is the same
82+
}
83+
await github.rest.issues.updateComment({
84+
owner,
85+
repo,
86+
comment_id: commentId,
87+
body: computedBody,
88+
});
89+
core.info(`Updated existing comment ${commentId}.`);
90+
} else {
91+
// Create a new comment
92+
const { data: newComment } = await github.rest.issues.createComment({
7493
owner,
7594
repo,
7695
issue_number,
77-
per_page: PER_PAGE_MAX,
96+
body: computedBody,
7897
});
79-
80-
// only examine the comments from user in our current GITHUB_TOKEN context
81-
const existingComments = comments.filter(
82-
(comment) => comment.user?.login === authenticatedUsername,
83-
);
84-
85-
const [commentId, commentBody] = parseExistingComments(existingComments, commentIdentifier);
86-
87-
if (commentId) {
88-
if (commentBody === computedBody) {
89-
core.info(`No update needed for comment ${commentId} by ${authenticatedUsername}`);
90-
return; // No-op if the body is the same
91-
}
92-
await github.rest.issues.updateComment({
93-
owner,
94-
repo,
95-
comment_id: commentId,
96-
body: computedBody,
97-
});
98-
core.info(`Updated existing comment ${commentId} by ${authenticatedUsername}`);
99-
} else {
100-
// Create a new comment
101-
const { data: newComment } = await github.rest.issues.createComment({
102-
owner,
103-
repo,
104-
issue_number,
105-
body: computedBody,
106-
});
107-
core.info(`Created new comment #${newComment.id}`);
108-
}
109-
} catch (/** @type {any} */ error) {
110-
core.error(`Failed to comment or update: ${error.message}`);
98+
core.info(`Created new comment #${newComment.id}`);
11199
}
112100
}

0 commit comments

Comments
 (0)