在带有忍者的 gitlab CI 中使用彩色编译器输出
use colored compiler output in gitlab CI with ninja
在我的编译器选项中使用 -fdiagnostics-color
时,我在编译器输出(gcc 和 clang)中收到彩色输出。当我在本地计算机上 运行 时,这也适用于忍者。在 gitlab-CI 中做同样的事情,颜色被剥离。有没有办法在 gitlab CI?
中获得彩色编译器输出
我尝试使用 make 而不是 ninja,然后出现了颜色。
问题来自ninja's output handling(忍者必须干扰输出以避免并发进程混合它们的输出)。虽然 gcc/clang 即使在 gitlab-CI 问题彩色输出中,ninja 也会确定输出是转到普通用户终端还是日志文件并删除颜色。这在 ninja github 页面上有讨论:
用于smart-terminal检测和颜色保存:
issue pull request
和一些相关的:
another issue another pull request
编辑:自this 提交(即忍者 1.9.0)起,环境变量 CLICOLOR_FORCE
可用于禁用剥离颜色代码。
在我的编译器选项中使用 -fdiagnostics-color
时,我在编译器输出(gcc 和 clang)中收到彩色输出。当我在本地计算机上 运行 时,这也适用于忍者。在 gitlab-CI 中做同样的事情,颜色被剥离。有没有办法在 gitlab CI?
我尝试使用 make 而不是 ninja,然后出现了颜色。
问题来自ninja's output handling(忍者必须干扰输出以避免并发进程混合它们的输出)。虽然 gcc/clang 即使在 gitlab-CI 问题彩色输出中,ninja 也会确定输出是转到普通用户终端还是日志文件并删除颜色。这在 ninja github 页面上有讨论:
用于smart-terminal检测和颜色保存: issue pull request
和一些相关的: another issue another pull request
编辑:自this 提交(即忍者 1.9.0)起,环境变量 CLICOLOR_FORCE
可用于禁用剥离颜色代码。