我使用了一个github操作,它可以比较基准结果,并将它们作为评论发布到PR上。这是actions文件- https://github.com/smrpn/criterion-compare-action/blob/move_to_actions/main.js
上面写着-
try {
await octokit.issues.createComment({
...context.repo,
issue_number: context.payload.pull_request.number,
body: resultsAsMarkdown,
});
} catch (e) {
// If we can't post to the comment, display results here.
// forkedRepos only have READ ONLY access on GITHUB_TOKEN
// https://github.community/t5/GitHub-Actions/quot-Resource-not-accessible-by-integration-quot-for-adding-a/td-p/33925
const resultsAsObject = convertToTableObject(myOutput);
fs.writeFile('benchResults.txt', resultsAsObject, (err) => {
if (err) throw err;
});
console.table(resultsAsObject);
console.log("Failed to comment\n", e);
core.debug(e);
core.debug("Failed to comment");
}我使用了另一个用于此目的的标记(注释基准测试结果)- BENCHMARK_TOKEN。但当PR来自分支回购时,它不会发表评论。这就是现在的问题-- https://github.com/hackerchai/casbin-rs/runs/2648902413#step:5:614
修复方法是什么?我想要github机器人对每个公关的评论。
发布于 2021-05-24 10:37:04
您可以使用pull_request_target事件对在forks上打开的拉取请求进行注释。请参阅更多详细信息here。
注意,为了不运行不安全的代码,它在fork的基础上运行。这是一个example of using the event
这是来自GitHub文档的警告:
警告: pull_request_target事件被授予一个读/写存储库令牌,可以访问机密,即使它是从fork触发的。尽管工作流在拉入请求的基上下文中运行,但您应该确保不会从具有此事件的拉出请求中签出、生成或运行不受信任的代码。此外,任何缓存都与基本分支共享相同的作用域,为了帮助防止缓存中毒,如果缓存内容有可能被更改,则不应保存缓存。有关详细信息,请参阅GitHub安全实验室网站上的“保护您的GitHub操作和工作流安全:防止pwn请求”。
https://stackoverflow.com/questions/67665951
复制相似问题