我想尽可能自动化学生作业评分系统。理想情况下,在提交作业时将采取这些步骤。
我已成功为我的回购中的每个拉取请求设置了Travis构建。我已成功通过Travis对我的回购中的每次提交进行Coverity扫描。但我无法触发Coverity扫描拉取请求,只运行Travis构建。我是否可以解决此问题并为每个拉取请求维护Coverity扫描报告?
这是我的.travis.yml
language: c
compiler: gcc
env:
global:
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- secure: "WHkT1bLbpz8VA8tl+qyZvWHLg7YvnMPhCNXCEAQQaklcDq8HQ7glIrrs35VnTDfs09tVgkPbgsAfwBuwxqkmmxWaquW0AHdb6cefNpQVj2ovUriQVNBFmjfte9Bbq0NWKoLp+4IY/3IDfLoUOekOIDXuQtkJhNvX1zkkt21lSeo="
addons:
coverity_scan:
project:
name: "Freeuni-CN101-2014/midterm"
description: "Build submitted via Travis CI"
notification_email: example@mail.com
build_command_prepend: ""
build_command: "make"
branch_pattern: "*"
script: make
牵引请求的here
的Travis输出将拉取请求与主分支here
合并后的Travis输出答案 0 :(得分:2)
我问Coverity支持,他们回复了
Coverity Scan的触发器发生在特定分支上,而不是 对于pull请求,特别是在中提到的分支 .travis.yml
在user @ Admaster的帮助下,我开始使用Jenkins和cppcheck插件。 Jenkins正在成功扫描pull请求,而没有为Github提交设置构建状态(Travis设置)。
实施例
所以我继续尝试Travis并来到this回购。我更改了.travis.yml
文件,看起来像这样
language: c
compiler: gcc
before_install:
- sudo apt-get install -qq cppcheck
script:
- cppcheck --error-exitcode=1 --quiet .
- make
cppcheck可能不如Coverity有效,但它足以让学生分配。
答案 1 :(得分:-2)
我建议不要使用Coverity,因为免费帐户有很多限制。 更好的是使用詹金斯。 我会尝试为您特别配置。 Jenkins支持github上的pull请求