Travis-ci 使用 biicode 超时提升日志编译

Travis-ci boost log compilation with biicode time-out

我正在使用 travis-ci 和 biicode 来构建依赖于 boost 日志的项目。但是提升日志时间超过 10 分钟,所以我收到此消息:

No output has been received in the last 10 minutes, this potentially indicates a
stalled build or something wrong with the build itself.
The build has been terminated

构建工作正常,只是在资源有限的情况下,boost 日志真的很长(我尝试在具有 1 CPU 和 2GB RAM 的 VM 上编译它,它花费了几乎超过15 分钟)

我知道发生这种情况是因为没有足够详细的说明,所以我尝试了以下标志:

  1. >bii cpp:build -- 冗长=1
  2. 在 CMakeList.txt 中,设置 BII_BOOST_VERBOSE 为 ON here
  3. 按照说明设置BOOST_LOG_COMPILE_FAST_ONhere
  4. 使用travis_wait

实际上 travis_wait 似乎是正确的解决方案,但是当我把它放在我的 .travis.yml 中时,像这样

script: travis_wait bii cpp:build

它实际上并没有像往常一样输出日志,只是在 20 分钟后超时。我不认为真正的建筑正在发生

处理这个问题的正确方法是什么?

这是一个已知问题,Boost.Log需要很长时间才能编译。

您可以使用 travis_wait 调用 bii cpp:configure,但我支持您,我需要日志反馈(无双关语)。但是,我也尝试过并导致超过 50 分钟的构建,这意味着 travis 中止在免费帐户上构建 :( 当然我的回购不只构建 Boost.Log。

请注意,这是来自 boost-biicode 存储库的 settings.py 文件的一部分:

#Boost.Log takes so much time to compile, leads to timeouts on Travis CI
#It was tested on Windows and linux, works 'ok' (Be careful with linking settings)
if args.ci: del packages['examples/boost-log']  

我目前正在研究解决方案,在打印进度的同时启动异步构建。检查 this issue。它将在本周准备就绪:)

要加快构建速度,请尝试使用 BII_BOOST_BUILD_J 变量来设置构建 Boost 组件所需的线程数。这是一个例子:

script:
- bii cpp:configure -DBII_BOOST_BUILD_J=4

注意,更多的线程意味着一次编译需要更多的 RAM。确保你没有让 travis 作业 VM 内存不足。