chore: consolidate some code

This commit is contained in:
2018-10-25 13:18:58 -07:00
parent 2dffe6e3b6
commit c075f14939
5 changed files with 27 additions and 16 deletions

View File

@@ -21,9 +21,7 @@ async function forceRetest() {
comments
.filter(comment => bodyRegexp.test(comment.body) && comment.owner === COMMENT_ACTOR)
.forEach(async comment => {
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}`));
await deleteComment(repo, comment.id);
});
}

View File

@@ -1,7 +1,7 @@
import dotenv from 'dotenv';
import logger from './lib/logger.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();
@@ -14,10 +14,7 @@ async function forceRetest() {
}
const repo = createRepo(ownerRepo);
const comment = await createComment(repo, prNumber, PULL_RETEST_BODY);
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}`));
await createPullComment(repo, prNumber, PULL_RETEST_BODY, { delete: true });
}
forceRetest().catch(err => logger.error(err));

View File

@@ -5,7 +5,7 @@ import getComments from './lib/get_comments.mjs';
import getPull from './lib/get_pull.mjs';
import getCommits from './lib/get_commits.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';
// load env vars from .env file
@@ -80,12 +80,9 @@ async function ghActionBot() {
}
await Promise.all(
records.map(async record => {
logger.log(`Re-testing PR #${record.pull.number}`);
const comment = await createComment(repo, records[0].pull.number, PULL_RETEST_BODY);
logger.debug(`Created comment id ${comment.id}`);
await deleteComment(repo, comment.id);
})
records.map(record =>
createPullComment(repo, record.pull.number, PULL_RETEST_BODY, { delete: true })
)
);
}

View File

@@ -1,7 +1,12 @@
import logger from './logger.mjs';
export async function createComment(repo, issueId, body) {
return repo.issues(issueId).comments.create({ body });
}
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;
}

View 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;
}