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 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}`));
}); });
} }

View File

@@ -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));

View File

@@ -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);
})
); );
} }

View File

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

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