gpt4 book ai didi

travis-ci - Travis 矩阵构建上的 Coverity 扫描

转载 作者:行者123 更新时间:2023-12-02 22:43:09 25 4
gpt4 key购买 nike

我正在将 [coverity scan][1] 添加到我的项目中,但我面临配额限制的问题,因为我的 travis 构建正在使用矩阵。

我设法运行自定义 coverity 脚本(通过 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.

第二个不好的副作用是构建作业显示为绿色,而该作业尚未运行!

最佳答案

我最近为所有项目所做的事情是,可选(取决于配额)在我的 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 提交新版本,如果可以,将运行 COVERITY_SCAN_BUILD_COMMAND (这只是 make )。如果成功,它将运行 make再次(在 script 阶段),但由于 make 的属性,这不会有太大作用。如果失败(因为构建失败),它也会运行 make再次(在 script 阶段),很快就会再次失败,导致整个构建失败。

但是,如果我的覆盖配额已用完,travisci_build_coverity_scan.sh脚本将失败,但此失败将通过 || true 转变为伪成功。然后,在 script阶段,该项目将使用 make 构建,最终的成功取决于这次构建的结果。

简而言之:

  • 如果可能(由于配额),构建将提交给 coverity
  • 如果构建成功(有或没有覆盖),travis-ci 状态将变为绿色(“构建通过”)
  • 如果构建失败(有或没有覆盖),travis-ci 状态将变为红色(“构建失败”)

关于travis-ci - Travis 矩阵构建上的 Coverity 扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34693018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com