| // 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; |
| |
| // Name of the Milo console to check. |
| string console_name = 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; |
| |
| // The password to use for closing the tree. |
| // TODO: It's not great that we pass around the password in plain text. If |
| // this ever becomes an issue, we can start using the builder service account |
| // to authenticate with the status page via proper Oauth. |
| string tree_status_password = 5; |
| |
| // Components to set for the monorail tree closure bug. |
| repeated string bug_components = 6; |
| |
| // Conditions under which to close the tree. |
| repeated Rule rules = 7; |
| |
| 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 the build summary matches one of these regexps, then skip it when |
| // checking tree closure rules. |
| repeated string summary_regexp_ignore = 8; |
| |
| // Labels to set for the monorail tree closure bug. |
| repeated string bug_labels = 9; |
| } |