mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-12-11 17:41:26 -06:00
Add script for posting perf results back to GH (#30526)
* Add script for posting perf results back to GH * Slightly more logging, use html url, not api url, lol * Log even more, nonzero exit code on error
This commit is contained in:
parent
0f6f3b79b5
commit
e20b87f66d
48
scripts/perf-result-post.js
Normal file
48
scripts/perf-result-post.js
Normal file
@ -0,0 +1,48 @@
|
||||
// @ts-check
|
||||
/// <reference lib="esnext.asynciterable" />
|
||||
// Must reference esnext.asynciterable lib, since octokit uses AsyncIterable internally
|
||||
const Octokit = require("@octokit/rest");
|
||||
const fs = require("fs");
|
||||
|
||||
const requester = process.env.requesting_user;
|
||||
const source = process.env.source_issue;
|
||||
const postedComment = process.env.status_comment;
|
||||
console.log(`Loading fragment from ${process.argv[3]}...`);
|
||||
const outputTableText = fs.readFileSync(process.argv[3], { encoding: "utf8" });
|
||||
console.log(`Fragment contents:
|
||||
${outputTableText}`);
|
||||
|
||||
const gh = new Octokit();
|
||||
gh.authenticate({
|
||||
type: "token",
|
||||
token: process.argv[2]
|
||||
});
|
||||
gh.issues.createComment({
|
||||
number: +source,
|
||||
owner: "Microsoft",
|
||||
repo: "TypeScript",
|
||||
body: `@${requester}
|
||||
The results of the perf run you requested are in! Here they are:
|
||||
|
||||
${outputTableText}`
|
||||
}).then(async data => {
|
||||
console.log(`Results posted!`);
|
||||
const newCommentUrl = data.data.html_url;
|
||||
const comment = await gh.issues.getComment({
|
||||
owner: "Microsoft",
|
||||
repo: "TypeScript",
|
||||
comment_id: +postedComment
|
||||
});
|
||||
const newBody = `${comment.data.body}
|
||||
|
||||
Update: [The results are in!](${newCommentUrl})`;
|
||||
return await gh.issues.updateComment({
|
||||
owner: "Microsoft",
|
||||
repo: "TypeScript",
|
||||
comment_id: +postedComment,
|
||||
body: newBody
|
||||
});
|
||||
}).catch(e => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
});
|
||||
Loading…
x
Reference in New Issue
Block a user