Compare commits
5 Commits
v1.3.1
...
5c842eccff
| Author | SHA1 | Date | |
|---|---|---|---|
| 5c842eccff | |||
| 0147ab1d9d | |||
| c075f14939 | |||
| 2dffe6e3b6 | |||
| 07288bee33 |
@@ -1,5 +1,8 @@
|
||||
### Changelog
|
||||
|
||||
#### [v1.3.2](https://git.w33ble.com/w33ble/gh-action-bot/compare/v1.3.1...v1.3.2) (25 October 2018)
|
||||
- fix: correct month in log output [`07288be`](https://git.w33ble.com/w33ble/gh-action-bot/commit/07288bee33d6861aa53e88e856174868f37b1fd5)
|
||||
|
||||
#### [v1.3.1](https://git.w33ble.com/w33ble/gh-action-bot/compare/v1.2.1...v1.3.1) (23 October 2018)
|
||||
- feat: add a clean command [`f3773f7`](https://git.w33ble.com/w33ble/gh-action-bot/commit/f3773f7ee7c0de42997a5b19cc5ee215da3f06ec)
|
||||
- feat: track processed, comments [`31b55fc`](https://git.w33ble.com/w33ble/gh-action-bot/commit/31b55fc7c2d7042e428a12f04124e1c4cd63fd28)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "gh-action-bot",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.2",
|
||||
"private": true,
|
||||
"description": "Action bot for Github",
|
||||
"main": "index",
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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 })
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
19
src/lib/create_pull_comment.mjs
Normal file
19
src/lib/create_pull_comment.mjs
Normal file
@@ -0,0 +1,19 @@
|
||||
import logger from './logger.mjs';
|
||||
import { createComment, deleteComment } from './comments.mjs';
|
||||
|
||||
const sleep = async ms => new Promise(resolve => setTimeout(resolve, ms));
|
||||
|
||||
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}`);
|
||||
|
||||
const options = Object.assign({ delete: false, delay: 250 }, opts);
|
||||
|
||||
if (options.delete) {
|
||||
await sleep(options.delay);
|
||||
await deleteComment(repo, comment.id);
|
||||
}
|
||||
|
||||
return comment.id;
|
||||
}
|
||||
@@ -11,7 +11,7 @@ const zeroPad = (str, len) => {
|
||||
|
||||
const getTimestamp = () => {
|
||||
const d = new Date();
|
||||
return `${[d.getFullYear(), zeroPad(d.getMonth(), 2), zeroPad(d.getDate(), 2)].join('/')} ${[
|
||||
return `${[d.getFullYear(), zeroPad(d.getMonth() + 1, 2), zeroPad(d.getDate(), 2)].join('/')} ${[
|
||||
zeroPad(d.getHours(), 2),
|
||||
zeroPad(d.getMinutes(), 2),
|
||||
zeroPad(d.getSeconds(), 2),
|
||||
|
||||
Reference in New Issue
Block a user