chore: consolidate some code
This commit is contained in:
@@ -21,9 +21,7 @@ async function forceRetest() {
|
|||||||
comments
|
comments
|
||||||
.filter(comment => bodyRegexp.test(comment.body) && comment.owner === COMMENT_ACTOR)
|
.filter(comment => bodyRegexp.test(comment.body) && comment.owner === COMMENT_ACTOR)
|
||||||
.forEach(async comment => {
|
.forEach(async comment => {
|
||||||
const res = await deleteComment(repo, comment.id);
|
await deleteComment(repo, comment.id);
|
||||||
if (res) logger.debug(`Comment ${comment.id} deleted`);
|
|
||||||
else logger.error(new Error(`Failed to remove comment ${comment.id}`));
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import dotenv from 'dotenv';
|
import dotenv from 'dotenv';
|
||||||
import logger from './lib/logger.mjs';
|
import logger from './lib/logger.mjs';
|
||||||
import createRepo from './lib/create_repo.mjs';
|
import createRepo from './lib/create_repo.mjs';
|
||||||
import { createComment, deleteComment } from './lib/comments.mjs';
|
import createPullComment from './lib/create_pull_comment.mjs';
|
||||||
|
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
@@ -14,10 +14,7 @@ async function forceRetest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const repo = createRepo(ownerRepo);
|
const repo = createRepo(ownerRepo);
|
||||||
const comment = await createComment(repo, prNumber, PULL_RETEST_BODY);
|
await createPullComment(repo, prNumber, PULL_RETEST_BODY, { delete: true });
|
||||||
const res = await deleteComment(repo, comment.id);
|
|
||||||
if (res) logger.debug(`Comment ${comment.id} deleted`);
|
|
||||||
else logger.error(new Error(`Failed to remove comment ${comment.id}`));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
forceRetest().catch(err => logger.error(err));
|
forceRetest().catch(err => logger.error(err));
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import getComments from './lib/get_comments.mjs';
|
|||||||
import getPull from './lib/get_pull.mjs';
|
import getPull from './lib/get_pull.mjs';
|
||||||
import getCommits from './lib/get_commits.mjs';
|
import getCommits from './lib/get_commits.mjs';
|
||||||
import getCommitStatus from './lib/get_commit_status.mjs';
|
import getCommitStatus from './lib/get_commit_status.mjs';
|
||||||
import { createComment, deleteComment } from './lib/comments.mjs';
|
import createPullComment from './lib/create_pull_comment.mjs';
|
||||||
import History from './lib/history.mjs';
|
import History from './lib/history.mjs';
|
||||||
|
|
||||||
// load env vars from .env file
|
// load env vars from .env file
|
||||||
@@ -80,12 +80,9 @@ async function ghActionBot() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
records.map(async record => {
|
records.map(record =>
|
||||||
logger.log(`Re-testing PR #${record.pull.number}`);
|
createPullComment(repo, record.pull.number, PULL_RETEST_BODY, { delete: true })
|
||||||
const comment = await createComment(repo, records[0].pull.number, PULL_RETEST_BODY);
|
)
|
||||||
logger.debug(`Created comment id ${comment.id}`);
|
|
||||||
await deleteComment(repo, comment.id);
|
|
||||||
})
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
|
import logger from './logger.mjs';
|
||||||
|
|
||||||
export async function createComment(repo, issueId, body) {
|
export async function createComment(repo, issueId, body) {
|
||||||
return repo.issues(issueId).comments.create({ body });
|
return repo.issues(issueId).comments.create({ body });
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function deleteComment(repo, commentId) {
|
export async function deleteComment(repo, commentId) {
|
||||||
return repo.issues.comments(commentId).remove();
|
const res = await repo.issues.comments(commentId).remove();
|
||||||
|
if (res) logger.debug(`Comment ${commentId} deleted`);
|
||||||
|
else logger.error(new Error(`Failed to remove comment ${commentId}`));
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|||||||
14
src/lib/create_pull_comment.mjs
Normal file
14
src/lib/create_pull_comment.mjs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import logger from './logger.mjs';
|
||||||
|
import { createComment, deleteComment } from './comments.mjs';
|
||||||
|
|
||||||
|
export default async function createPullComment(repo, number, body, opts = {}) {
|
||||||
|
logger.log(`Adding comment to PR #${number}`);
|
||||||
|
const comment = await createComment(repo, number, body);
|
||||||
|
logger.debug(`Created comment id ${comment.id}`);
|
||||||
|
|
||||||
|
if (opts.delete) {
|
||||||
|
await deleteComment(repo, comment.id);
|
||||||
|
}
|
||||||
|
|
||||||
|
return comment.id;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user