我刚刚发现了Travis-CI,它似乎对测试Homebrew公式是否在不同系统上正确构建非常有用,特别是因为Homebrew已经安装在他们的VM上。简而言之,我有一个Homebrew tap,并希望使用Travis-CI来测试不同系统上的公式。
我看到这个工作的方式是让测试脚本像:
brew update
brew tap <my/tap>
brew install <package>
brew test <package>
但我能看到的一些问题是:
任何人都可以提供有关这两点的建议吗?
答案 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