Почему buildbot *НЕ* терпит неудачу, когда должен?

Я пытаюсь исправить очень сложную систему базовой сборки buildbot, которая имеет раздражающую привычку показывать зеленые полосы с надписью «сбой (1)».

Проблема в том, что мы запускаем несколько команд, используя шаг сборки ShellCommand, который не приводит к сбою всей сборки, когда возвращает ненулевое значение.

У нас также есть шаги, которые отображаются красным цветом на странице сведений, но вся сборка по-прежнему отображается зеленым цветом.

Насколько мне известно, 'flunkOnFailure' не установлен на самих шагах в моем master.cfg, и значение по умолчанию равно true. (Хотя это не совсем понятно из справочных страниц, которые я нашел)

Что мне нужно сделать (или отменить), чтобы гарантировать, что вся сборка завершится ошибкой, когда это сделает ShellCommand?

Это работает в 100% среде Linux.

Большое спасибо.


person Chris Huang-Leaver    schedule 05.12.2011    source источник


Ответы (2)


Когда вы добавляете шаг к фабрике (т. е. f.addStep(your_step)) вы должны указать haltOnFailure = True, чтобы вся сборка завершалась ошибкой всякий раз, когда конкретный шаг сборки возвращает FAILURE.

person ILYA Khlopotov    schedule 07.12.2011

По умолчанию для flunkOnFailure используется False в BuildStep. Различные подклассы переопределяют это значение по умолчанию, в частности ShellCommand. Я предполагаю, что конкретные шаги, которые выделены красным цветом, а конечный результат сборки зеленый, не имеют установленного flunkOnFailure.

С другой стороны, может случиться так, что haltOnFailure не установлен, поэтому другие шаги выполняются и выполняются успешно, но общий результат сборки по-прежнему остается неудачным. Успешные шаги по-прежнему будут зелеными, даже если они следуют за неудачным шагом. В частности, основная часть каскадной страницы не указывает, была ли конкретная сборка успешной или неудачной в целом (хотя поля вверху показывают результат самой последней сборки. Либо таблица, либо страница последних сборок будут показывать результаты. сборок четко.

person Tom Prince    schedule 05.02.2012
comment
Есть ли какая-либо документация о значениях по умолчанию для каждого шага или вам нужно читать исходный код? В последнем случае какие файлы? - person MarcH; 03.04.2013