5

我正在尝试使用 Travis CI 服务器上的 C++ 目标(通过 GitHub)使用 Buck 构建测试,buck test有两件事我无法弄清楚。

  1. 我必须在 Travis 服务器上安装 Buck。如何使用 OS X 服务器而不是 Ubuntu 服务器?我在 Travis 文档中读到它也提供了 OS X 服务器。这样我就可以继续做brew tap facebook/fb && brew install buck,我会完成的。
  2. Buck 要求我.buckconfig在存储库的文件中指定要使用的编译器。但是,这仅接受要使用的编译器的绝对路径。Travis CI 配置似乎只提供了一个包含编译器路径的环境变量。但是环境变量不能在.buckconfig. 有没有一种方法可以安装编译器(完全支持 C++14 的编译器)并获取它在 Travis 服务器上的安装路径?

我强调了这些问题,以便那些对我提到的所有事情(Buck 和 Travis CI)没有经验的人仍然可以更轻松地回答这个问题。

4

1 回答 1

5

如何使用 OS X 服务器而不是 Ubuntu 服务器?

这应该是该os指令的用途。

值必须是linux(默认)或osx;或已知别名之一:
ubuntufor linux, macfor osx or macosfor osx

(具有讽刺意味的是,buck它本身也有自己的 tavis.yml。)

但是环境变量不能在.buckconfig.

您可以:

  • 考虑使用 sed 启动 Travis CI 作业,用.buckconfig环境变量中的实际路径替换固定路径。
  • 或用 a 替换 allcxx_...()规则genrule(),您可以在其中指定所需的命令(并从某些环境变量替换中受益)
于 2016-08-31T06:28:52.683 回答