我正在为我的项目添加[覆盖率扫描] [1],但我面临配额限制问题,因为我的travis构建使用矩阵。
我设法运行自定义封面脚本(通过 build_script_url 选项)来过滤我的建筑工作:
#!/bin/sh
set -e
if [[ $TRAVIS_OS_NAME != osx || $JOB != BUILD_RELEASE_JOKER ]]; then
echo "Skip build configuration: $TRAVIS_OS_NAME / $JOB"
exit 1
fi
curl -s https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh | bash
我面临的问题是,如果分析配额超出,则会使用以下消息停止构建作业:
Coverity Scan analysis selected for branch coverity.
Coverity Scan analysis NOT authorized until Fri, 08 Jan 2016 18:00:52 +0000 UTC.
第二个不良副作用是构建作业显示为绿色,而作业尚未运行!
答案 0 :(得分:0)
before_script
中运行封面扫描:
before_script:
- autoreconf -fiv
- ./configure --disable-silent-rules
# implement Coverity Scan with before_script instead of addons.coverity_scan
# to work around too-early quota check by the coverity_scan addon
- if [[ -n $COVERITY_SCAN_PROJECT_NAME ]] ; then curl -s 'https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh' | bash || true ; fi
script:
- make
这将检查我是否仍然可以提交覆盖率的新构建,如果是,则运行COVERITY_SCAN_BUILD_COMMAND
(仅make
)。如果成功,它将再次运行make
(在script
阶段),但由于 make 的属性,这将不会做太多。
如果失败(因为构建失败),它也将再次运行make
(在script
阶段),这将很快再次失败,整个构建失败。
但是,如果我的封面配额用尽,则travisci_build_coverity_scan.sh
脚本将失败,但此失败将通过|| true
变为伪成功。
然后,在script
阶段,项目将使用make
构建,最终的成功取决于此构建的结果。
简而言之: