我有一个奇怪的问题。Travis OSX构建一直失败,因为Jasmine单元测试没有通过。但是,这种情况只发生在针对主要GitHub回购主分支的提交时。分叉回购、主回购的PR等都没有这个问题。以下是几个场景:
-
我从上游主机同步本地主机并推送。Travis构建失败。
-
我做了一个更改,实际上是任何更改,比如在readme.md中添加一个随机字符,提交和推送,构建就通过了。
-
我打开一个PR,PR构建通过
-
PR被合并到上游主,构建失败
在本地运行单元测试时没有问题,所以我只能将其锁定为GitHub和/或Travis问题。试图清理特拉维斯的藏匿处,但无济于事。我并排滚动了一个失败和通过的构建的原始日志,它们相当相同,至少没有什么不同。
所以有点不知所措。有什么建议吗?
https://github.com/Glavin001/atom-beautify/blob/master/.travis.yml
这不是主分支的问题。
该问题是由Travis环境变量TRAVIS_COMMIT_MESSAGE
引起的。当你在GitHub上合并PR时,默认的提交消息有一个"消息"和一个"描述",用换行符分隔。TRAVIS_COMMIT_MESSAGE
中的换行导致Ruby和/或Rubygems出现路径问题。
通过在一开始的before_install步骤中将以下内容添加到我们的.travis.yml中来清除环境变量,解决了这个问题:
- export TRAVIS_COMMIT_MESSAGE=""