-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathutils.js
68 lines (53 loc) · 1.15 KB
/
utils.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
const fs = require('fs');
const execSync = require('child_process').execSync;
const crypto = require('crypto');
const github = require('@actions/github');
const core = require('@actions/core');
function formatMarkdownBlock(text, collapsible) {
if (collapsible) {
return `<details><summary>Expand</summary>
<br>
\`\`\`
${text}
\`\`\`
</details>
`
} else {
return `\`\`\`
${text}
\`\`\`
`
}
}
function applyMessageModifier(message, modifier) {
if (!modifier) {
return message
}
var filename = 'tempfile'+crypto.randomBytes(4).readUInt32LE(0);
fs.writeFileSync(filename, message);
const re = execSync(`cat ${filename} | ${modifier}`).toString()
fs.unlinkSync(filename)
return re
}
async function getRun(octokit) {
const runId = process.env['GITHUB_RUN_ID'];
const run = await octokit.actions.getWorkflowRun({
...github.context.repo,
run_id: runId,
});
return run.data;
}
function getToken() {
return core.getInput('github_token');
}
function getClient() {
const token = getToken();
return new github.GitHub(token);
}
module.exports = {
formatMarkdownBlock,
applyMessageModifier,
getRun,
getToken,
getClient
}