| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto3"; |
| |
| package recipes.fuchsia.tree_closer; |
| |
| message InputProperties { |
| // LUCI project containing the specified Milo console. |
| string project = 1; |
| |
| // Names of the Milo consoles to check. |
| repeated string console_names = 2; |
| |
| // Don't close the tree if the last status change was more recent than this |
| // many seconds ago. |
| int32 grace_period_seconds = 3; |
| |
| // Close the tree hosted here (e.g. 'fuchsia-stem-status.appspot.com'). |
| string tree_status_host = 4; |
| |
| // Modify the tree hosted here (e.g. 'fuchsia-status-adm.googleplex.com'). |
| string tree_status_admin_host = 5; |
| |
| // Conditions under which to close the tree during working hours. |
| repeated Rule rules = 6; |
| |
| message Rule { |
| // Only count builds that have a failed step whose name matches this regex. |
| string failed_step_regexp = 1; |
| |
| // Close the tree if this many builders in the console are failing at the |
| // same time. |
| int32 concurrent_failures = 2; |
| |
| // Close the tree if any builder in the console has failed this many times |
| // in a row. |
| int32 consecutive_failures = 3; |
| |
| // If set, consider only builders in this list of builder names. |
| repeated string builders_to_check = 4; |
| } |
| |
| // If the build summary matches one of these regexps, then skip it when |
| // checking tree closure rules. |
| repeated string summary_regexp_ignore = 7; |
| |
| // Dates on which the tree closer should not run, used to disable the tree |
| // closer on holidays. Each date should be of the form "YYYY-MM-DD". |
| // TODO(fxbug.dev/89629): Automatically skip closing the tree on holidays. |
| repeated string disable_on_dates = 8; |
| |
| // Component id to set for the IssueTracker tree closure bug. |
| int32 bug_component_id = 9; |
| } |