使用Travis-CI测试Homebrew tap

时间:2013-12-05 09:36:42

标签: homebrew travis-ci

我刚刚发现了Travis-CI,它似乎对测试Homebrew公式是否在不同系统上正确构建非常有用,特别是因为Homebrew已经安装在他们的VM上。简而言之,我有一个Homebrew tap,并希望使用Travis-CI来测试不同系统上的公式。

我看到这个工作的方式是让测试脚本像:

brew update
brew tap <my/tap>
brew install <package>
brew test <package>

但我能看到的一些问题是:

  • 这种情况下的语言是什么?我让Homebrew处理构建
  • Travis-CI似乎只允许每个存储库使用一个测试脚本,因此很难将每个公式的测试分开

任何人都可以提供有关这两点的建议吗?

1 个答案:

答案 0 :(得分:7)

f您需要使用objective-c作为获取OS X VM的语言。这当然不是很明显。

要构建多个包,您可以使用环境变量矩阵。 (或者你可以在所有包上编写一个带有大循环的shell脚本。)

以下是您可以使用的.travis.yml模板:

language: objective-c
before_install:
  - brew update
install:
  - mkdir -p $(brew --repo)/Library/Taps/travis
  - ln -s $PWD $(brew --repo)/Library/Taps/travis/homebrew-testtap
  - brew tap --repair
env:
  - PACKAGE=first_package
  - PACKAGE=second_package
  ...
script:
  - brew audit $PACKAGE
  - brew install -v $PACKAGE
  - brew test $PACKAGE