2016-01-09 3 views
0

Я добавляю [вскрытие сканирования] [1] к моему проекту, но я столкнулся с проблемой с лимитами квот, потому что моя конструкция для травиков использует матрицу.Обложка сканирования на матрицу travis build

мне удается запустить пользовательский 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. 

Второй плохой побочный эффект заключается в том, что работа сборки отображается зеленым цветом, тогда как работа не была запущена!

ответ

0

то, что я делал для всех моих последних проектов был, необязательно (в зависимости от квоты) запуск Coverity сканирования в моем 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 (на этапе script), который скоро завершится неудачно, не пройдя всю сборку.

Если, однако, моя квота покрытия исчерпана, сценарий travisci_build_coverity_scan.sh потерпит неудачу, но этот отказ будет превращен в псевдо-успех через || true. , то на этапе script проект будет построен с использованием make, и окончательный успех зависит от результата этой сборки.

так коротко:

  • , если это возможно (из-за квоты), сборка будет представлен Coverity
  • если сборка прошла успешно (с или без Coverity), состояние Трэвис-CI будет зеленый ("строить проходной")
  • если сборка не удается (с или без Coverity), Трэвис-CI состояние будет красный ("строить не удалось")
Смежные вопросы