如何在Travis CI中触发失败?

时间:2018-05-02 04:12:14

标签: bash travis-ci

我的一个测试是一个带有if条件的简单bash命令。如果条件为正,我希望Travis CI将构建视为失败。

我尝试这样做(.travis.yml文件的一部分):

# ...

script:
    - npm run build
    - if [[ `git status --porcelain` ]]; then >&2 echo "Fail"; fi

# ...

但是当条件为正时,只会打印消息并认为构建成功。

当条件为正时,我该怎么做才能使构建失败?

3 个答案:

答案 0 :(得分:5)

只需在exit 1;之后添加echo即可。 More info

答案 1 :(得分:1)

If you just want to assert a condition but continue with testing, the following worked for me:

bash -c 'if [[ `git status --porcelain` ]]; then >&2 echo "Fail"; exit 1; fi'

This will make the build results fail but not terminate it.

答案 2 :(得分:1)

添加return 1;

Travis compiles the different commands into a single bash script,因此exit 1travis_terminate 1会突然中断工作流程并跳过after_script阶段。

对于复杂的命令,您想使其更具可读性并且不想移动到自己的脚本,you can take advantage of YAML's literal scalar indicator

script:
    - |
      if [[ `git status --porcelain` ]]; then 
        >&2 echo "Fail"
        return 1
      fi