我正在创建一个GitHub操作,其中有两个循环并行运行,并写入控制台。
示例:
async function loop(name) {
core.startGroup(name);
for (var i = 0; i < 10; i++) {
core.info(`[INFO] {${name}}: ${i} { type = log, task = ${name} }`);
await delay(1000); // delay = promise that wraps setTimeout
}
core.endGroup();
}
loop('a');
loop('b');
我希望每个循环都写入到各自的组中
相反,我在作业日志中看到了以下内容
这并不奇怪,因为loop('b')
覆盖了组的打开。
有没有一种方法可以将输出写入特定的组,即使是在并行运行的情况下?
发布于 2020-10-05 16:11:09
我无法使用github-script
,result here重现您的结果。也许它在那个版本中被修复了。下面是我使用的GH操作:
name: "Checks loop"
on: [push]
jobs:
check_group_loop:
runs-on: ubuntu-latest
steps:
- name: Use Node.js
uses: actions/github-script@v3
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
function loop(name) {
core.startGroup(name);
for (var i = 0; i < 10; i++) {
core.info("[INFO] " + name + ": " + i );
}
core.endGroup();
}
loop('a');
loop('b');
也许你可以把整个动作展示给我们看看?无论如何,问题似乎是调用是异步的,所以不使用start/end,可以使用wrap loggging in a group
https://stackoverflow.com/questions/64189790
复制相似问题