Github Actions 输出文本颜色

7

我有这个 GitHub action,可以运行我的 PowerShell 测试脚本。测试脚本会在错误时输出 "[ERROR]",在警告时输出 "[WARNING]"。 GitHub Actions 日志截图 我想知道是否有其他突出显示的关键字的文档。GitHub actions 在 pwsh/PowerShell shell 上运行,操作系统是 'windows-latest'。

2个回答

5
颜色并不是 GitHub Action 本身的结果,而是所使用的测试框架的结果。
例如,请参见 microsoft/vstest issue 2370“在 GitHub Actions 中支持带颜色的输出”。

xUnit.net 在此处不尝试进行任何着色。我们的消息仅以文本和级别传递给 VSTest API。所有 dotnet test 中的着色都归 VSTest 拥有。

在 GitHub Action 中看到的是该 Action 使用的工具的结果。
正如 2020 年 9 月 "通过 GitHub Actions 获得更好的日志体验" 中所提到的:
我们希望更加注意颜色的使用,这意味着我们也需要承认人们构建自己的脚本、命令和工具来输出有用信息。因此,我们正在增加颜色支持,包括:ANSI颜色、8位颜色和24位颜色。这使得在呈现来自第三方来源的信息时,内容更加丰富,集成性更好。

https://github.blog/wp-content/uploads/2020/09/color.png?resize=1024%2C699?w=1024


如果能够通过Github Markdown(或highlight.js)实现这一点,那就太好了。然后我们就可以复制粘贴我们的长PowerShell / Bash日志,并进行颜色高亮显示。 - Snailedlt
@Snailedlt 同意。目前似乎不支持这个功能。 - VonC
@VonC 除了使用转义代码之外,你会如何使用它们?例如,输出"[Debug] hello world",可以给出品红色。警告=黄色等等。我尝试查找相关文档,但失败了。 - Baked Inhalf
@BakedInhalf,我确实没有更多关于那些颜色的信息了。也许2020年撰写该博客文章的Adrián Mato有更多相关内容。 - VonC

2

对于特定的PowerShell或Vstest软件来说,这可能已经晚了或不相关,但更多地是为了帮助像我一样在GitHub Actions中寻找答案的人(最终到达这里)。

解决方案非常简单-使用包含ANSI颜色标记的文本!我找到了一些typescriptshell脚本的源代码示例。是的,就这么简单-如果您可以控制输出,则将文本包装在特殊标记中即可!

P.S.
有关ANSI颜色输出的更多信息和最详尽的指南在此处:ANSI颜色转义序列列表


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接