| syntax = "proto3"; |
| option go_package = "github.com/GoogleCloudPlatform/testgrid/pb/config"; |
| |
| // Protocol buffer for configuring testgrid.k8s.io |
| |
| import "pb/custom_evaluator/custom_evaluator.proto"; |
| |
| // Specifies the test name, and its source |
| message TestNameConfig { |
| // Specifies name elements to be selected from configuration values |
| message NameElement { |
| // A space-delimited string of labels |
| string labels = 1; |
| |
| // Configuration value to use. |
| // Valid choice are: |
| // 'Tests name': The name of a test case |
| // 'Commit': The commit number of the build |
| // 'Context', 'Thread': The info extracted from each junit files: |
| // - junit_core-os_01.xml -> Context: core-os, Thread: 01 |
| // - junit_runner.xml -> Context: runner |
| // - junit_01.xml -> Thread: 01 |
| // or any metadata key from finished.json, which is copied from your test |
| // suite. |
| // |
| // A valid sample TestNameConfig looks like: |
| // test_name_config: |
| // name_elements: |
| // - target_config: Tests name |
| // - target_config: Context |
| // name_format: '%s [%s]' |
| string target_config = 2; |
| // Whether to use the build-target name |
| bool build_target = 3; |
| // A space-delimited string of Bazel build tags. |
| string tags = 4; |
| // The key of a test result's property. |
| string test_property = 5; |
| } |
| |
| // The name elements specifying the target test name for this tab. |
| repeated NameElement name_elements = 1; |
| |
| // Specifies a printf-style format string for name elements. The format |
| // string should have as many conversions as there are name_elements. |
| // For example, two name_elements could be used with name_format="%s: %s". |
| string name_format = 2; |
| } |
| |
| // A single notification. |
| message Notification { |
| // Required: Text summary of the issue or notice. |
| string summary = 1; |
| // Optional: Link to further information, such as a bug, email, document, etc. |
| string context_link = 2; |
| } |
| |
| // Specifies a group of tests to gather. |
| message TestGroup { |
| // Name of this TestGroup, for mapping dashboard tabs to tests. |
| string name = 1; |
| |
| // Path to the test result stored in gcs (some-bucket/some/optional/path). |
| string gcs_prefix = 2; |
| |
| // Number of days of test results to gather and serve. |
| int32 days_of_results = 3; |
| |
| // Whether to ignore pending (currently running) test results. |
| bool ignore_pending = 4; |
| |
| // Whether to ignore reported build results. It is recommended that tests |
| // report BUILD_FAIL instead of relying on this being disabled. |
| bool ignore_built = 5; |
| |
| enum TestsName { |
| TESTS_NAME_UNSPECIFIED = 0; |
| TESTS_NAME_IGNORE = 1; |
| TESTS_NAME_REPLACE = 2; |
| TESTS_NAME_APPEND = 3; |
| } |
| |
| // What to do with the 'Tests name' configuration value. It can replace the |
| // name of the test, be appended to the name of the test, or ignored. If it is |
| // ignored, then the name of the tests will be the build target. |
| TestsName tests_name_policy = 6; |
| |
| reserved 7; // Unused gather_test_properties |
| |
| // Tests with names that include these substrings will be removed from the |
| // table. |
| repeated string ignore_test_substring = 8; |
| |
| // Custom column headers for defining extra column-heading rows from values in |
| // the test result. |
| message ColumnHeader { |
| string label = 1; |
| string property = 2; |
| string configuration_value = 3; |
| |
| // If true, list all distinct values. Else, list multiple distinct values as |
| // "*". |
| bool list_all_values = 4; |
| } |
| repeated ColumnHeader column_header = 9; |
| |
| enum FallbackGrouping { |
| FALLBACK_GROUPING_NONE = 0; |
| FALLBACK_GROUPING_DATE = 1; |
| FALLBACK_GROUPING_LABELS = 2; |
| FALLBACK_GROUPING_ID = 3; |
| FALLBACK_GROUPING_BUILD = 4; |
| |
| // When using this, ensure fallback_grouping_configuration_value is |
| // also set. |
| FALLBACK_GROUPING_CONFIGURATION_VALUE = 5; |
| } |
| |
| // A test grouping option used if not specified by primary_grouping (#29) |
| FallbackGrouping fallback_grouping = 10; |
| |
| // DEPRECATED: use DashboardTabAlertOptions > alert_stale_result_hours |
| int32 alert_stale_results_hours = 11 [ deprecated = true ]; |
| |
| // DEPRECATED: use DashboardTabAlertOptions > num_failures_to_alert |
| int32 num_failures_to_alert = 12 [ deprecated = true ]; |
| |
| // DEPRECATED: use dashboard_tab.beta_autobug_options.beta_autobug_component |
| // instead. |
| int32 bug_component = 13 [ deprecated = true ]; |
| |
| // Default code search path for searching regressions. Overridden by |
| // code_search_path in DashboardTab. |
| string code_search_path = 14; |
| |
| // The number of columns to consider "recent" for a variety of purposes. |
| int32 num_columns_recent = 15; |
| |
| // Whether to read test metadata from the test results. Information |
| // from the test metadata is used to determine where bugs are filed in |
| // specific cases. |
| bool use_test_metadata = 16; |
| |
| // DEPRECATED: use DashboardTabAlertOptions > alert_mail_to_address instead |
| string alert_mail_to_addresses = 17 [ deprecated = true ]; |
| |
| // DEPRECATED: use DashboardTabAlertOptions > subject |
| string alert_mail_subject = 18 [ deprecated = true ]; |
| |
| // DEPRECATED: use DashboardTabAlertOptions > alert_mail_failure_message |
| string alert_mail_failure_message = 19 [ deprecated = true ]; |
| |
| // DEPRECATED: use DashboardTabAlertOptions > debug_url |
| string alert_mail_debug_url = 20 [ deprecated = true ]; |
| |
| // DEPRECATED: use DashboardTabAlertOptions > wait_minutes_between_emails |
| int32 min_elapsed_minutes_between_mails = 21 [ deprecated = true ]; |
| |
| reserved 22; // No longer used |
| |
| // Whether to treat a combination of passes and failures within one test as a |
| // flaky status. |
| bool enable_flaky_status = 23; |
| |
| // disable_merged_status will restores deprecated behavior of |
| // splitting multiple foo rows into foo [2], etc rather a single |
| // potentially flaky row. |
| bool disable_merged_status = 60; |
| |
| // deprecated - always set to true |
| bool use_kubernetes_client = 24 [ deprecated = true ]; |
| |
| // When use_kubernetes_client is on testgrid expects these results |
| // to come from prow, which should include a prowjob.json and podinfo.json |
| // to help debugging. If you do not expect these files to exist, you |
| // can optionally disable this analysis. |
| bool disable_prowjob_analysis = 62; |
| |
| // deprecated - always set to true |
| bool is_external = 25; |
| |
| // Specifies the test name for a test. |
| TestNameConfig test_name_config = 26; |
| |
| // A list of notifications attached to this test group. |
| // This is displayed on any dashboard tab backed by this test group. |
| repeated Notification notifications = 27; |
| |
| reserved 28; // Deprecated Field (column_sort_by) |
| |
| enum PrimaryGrouping { |
| PRIMARY_GROUPING_NONE = 0; |
| PRIMARY_GROUPING_BUILD = 1; |
| } |
| |
| // A primary grouping strategy for grouping test results in columns. |
| // If a primary grouping is specified, the fallback grouping is ignored. |
| PrimaryGrouping primary_grouping = 29; |
| |
| // Whether to collect pass-fail data for test methods. Additional test cases |
| // will be added for each test method in a target. |
| bool enable_test_methods = 30; |
| |
| // Associates the presence of a named test property with a custom short text |
| // displayed over the results. Short text must be <=5 characters long. |
| message TestAnnotation { |
| string short_text = 1; |
| oneof short_text_message_source { string property_name = 2; } |
| } |
| |
| // Test annotations to look for. Adds custom icon to results. |
| repeated TestAnnotation test_annotations = 31; |
| |
| // Maximum number of individual test methods to collect for any given test |
| // row. If a test has more than this many methods, no methods will be |
| // displayed. |
| int32 max_test_methods_per_test = 32; |
| |
| reserved 33; |
| |
| // Default metadata that should be applied for opening bugs, if a given regex |
| // matches against a test's name. |
| // Requires 'use_test_metadata = true'. |
| repeated TestMetadataOptions test_metadata_options = 34; |
| |
| // A space-delimited string of tags that are used to filter test targets. |
| // A leading - before the tag means this tag should not be present |
| // in the target. |
| // Example: |
| // contains tag1, but not tag2: test_tag_pattern = 'tag1 -tag2' |
| string test_tag_pattern = 35; |
| |
| // DEPRECATED: use dashboard_tab.beta_autobug_options instead. |
| AutoBugOptions auto_bug_options = 36 [ deprecated = true ]; |
| |
| // Max number of days any single test can take. |
| int32 max_test_runtime_hours = 37; |
| |
| // The number of consecutive test passes to close the alert. |
| int32 num_passes_to_disable_alert = 38; |
| |
| // If true, also associate bugs with tests if the test result's overview/group |
| // ID is in the bug. |
| bool link_bugs_by_group = 39; |
| |
| reserved 40; |
| |
| // A string key value pair message |
| message KeyValue { |
| string key = 1; |
| string value = 2; |
| } |
| |
| // Only show test methods with all required properties |
| repeated KeyValue test_method_properties = 41; |
| |
| // If true, allows gathering and associating bugs with targets in the |
| // dashboard. Required in order to auto-file bugs. |
| bool gather_bugs = 42; |
| |
| // Numeric property metric value to be used for short text. If this property |
| // is present, it will override all the other short text values. |
| string short_text_metric = 43; |
| |
| // The key of a key-value pair in metadata (a 'configuration value'). |
| // This overrides the default build with the value from the key-value pair. |
| string build_override_configuration_value = 44; |
| |
| // If true, only associate bugs with test methods if that test method is |
| // mentioned in the bug. If false, bugs will be associated with all test |
| // methods. |
| bool link_bugs_by_test_methods = 45; |
| |
| // Regex to match test methods. Only test methods with names that match |
| // this regex will be included in the table. |
| string test_method_match_regex = 46; |
| |
| // Regex to exclude test methods. Test methods with names that match |
| // this regex will be excluded from the table, even if they match |
| // test_method_match_regex. |
| string test_method_unmatch_regex = 61; |
| |
| // If true, test method names are printed with the full class names. |
| bool use_full_method_names = 47; |
| |
| reserved 48; |
| |
| // A configuration value that is used as a fallback grouping. |
| // This is useful for cases where there are builds that shared the same |
| // commit but are run at separate times of day. |
| string fallback_grouping_configuration_value = 49; |
| |
| message ResultSource { |
| reserved 1, 3; // Legacy sources |
| |
| oneof result_source_config { |
| // GCS buckets holding junit and json results, typically created by prow. |
| GCSConfig gcs_config = 2; |
| } |
| |
| reserved 4; // Private source |
| } |
| |
| // Configuration type of the result source. |
| ResultSource result_source = 50; |
| |
| // Set of rules that are evaluated with each test result. If an evaluation is |
| // successful, the status of that test result will be whatever is specified |
| // for a given rule. For more information, look at RuleSet documention |
| RuleSet custom_evaluator_rule_set = 51; |
| |
| // If true, instead of updating the group, read the state proto from storage |
| // and update summary, alerts, etc. from that state. |
| // This only applies to test group state, not bug state for a test group. |
| // This assumes that the state proto is updated through other means (another |
| // updater, manually, etc). |
| bool read_state_from_storage = 52; |
| |
| // If true, only add the most recent result for a test when multiple results |
| // for a test with the same name are encountered. |
| bool ignore_old_results = 53; |
| |
| // If True, ignore the 'pass with skips' status (show as a blank cell). |
| bool ignore_skip = 54; |
| |
| // A string containing python formatting specifiers that overrides the |
| // commit with the date formatted according to this string. This is useful |
| // for aggregating multiple columns that don't have a matching commit. |
| string build_override_strftime = 55; |
| |
| // Specify a property that will be read into state in the user_property field. |
| // These can be substituted into LinkTemplates. |
| string user_property = 56; |
| |
| reserved 57 to 59; |
| |
| // disable_prowjob_analysis 62 |
| } |
| |
| // GCSConfig specifies results stored in GCS, typically created by prow. |
| // |
| // Each invocation is stored in a GCS path, containing json metadata files |
| // as well as junit and other artifacts specifying the result of the run. |
| // |
| // More info: |
| // https://github.com/GoogleCloudPlatform/testgrid/tree/master/metadata |
| message GCSConfig { |
| // Path to the test result stored in gcs (some-bucket/some/optional/path). |
| string gcs_prefix = 1; |
| |
| // The GCP project where GCS sends notifications for the above prefix. |
| string pubsub_project = 2; |
| // The pubsub subscription ID in the above topic |
| string pubsub_subscription = 3; |
| } |
| |
| // Default metadata to apply when opening bugs. |
| message TestMetadataOptions { |
| // Apply the following metadata if this regex matches a test's name. |
| string test_name_regex = 1; |
| |
| // Default bug component to open a bug in. |
| int32 bug_component = 2; |
| |
| // Default owner to assign a bug to. |
| string owner = 3; |
| |
| // List of default users to CC a bug to. |
| repeated string cc = 4; |
| |
| // Apply following metadata if this regex matches a test’s failure message. |
| string message_regex = 5; |
| |
| reserved 6; |
| } |
| |
| message AutoBugOptions { |
| // [BETA] When specified, file bugs to this component, using the beta AutoBug. |
| // If you do not want to opt into the beta, specify `bug_component` in your |
| // TestGroup instead. |
| // TODO(b/154866134): Rename to autobug_component once we've migrated. |
| int32 beta_autobug_component = 10; |
| |
| // Whether to auto-close auto-filed bugs. |
| bool auto_close = 1; |
| |
| // A list of hotlist ids attached to auto-filed bugs. |
| repeated int64 hotlist_ids = 2; |
| |
| // Scale of issue priority, used to indicate importance of issue. |
| enum Priority { |
| // Unspecified; may not set priority at all |
| PRIORITY_UNSPECIFIED = 0; |
| // See https://developers.google.com/issue-tracker/concepts/issues |
| P0 = 1; |
| P1 = 2; |
| P2 = 3; |
| P3 = 4; |
| P4 = 5; |
| } |
| |
| // The priority of the auto-filed bug. If provided, this will overwrite the |
| // priority in the component default template |
| Priority priority = 3; |
| |
| // A list of hotlist id sources |
| // Corresponds with the list hotlist_ids (#2) |
| repeated HotlistIdFromSource hotlist_ids_from_source = 4 |
| [ deprecated = true ]; |
| |
| // If True, files separate bugs for each failing target, instead of one bug |
| // for each set of targets failing at the same run. |
| bool file_individual = 5; |
| |
| // If True; keep only one automantic bug per target, regardless of the number |
| // of separate failures a target gets. This also requires `auto_close` and |
| // `file_individual` to be True. |
| // Consider setting `num_passes_to_disable_alert` instead if you're tracking |
| // flaky tests. |
| bool singleton_autobug = 6; |
| |
| // If provided: only raise one bug if the number of failures for a single |
| // query by testgrid for a single failure group exceeds this value. Requires |
| // 'file_individual' to be True. |
| int32 max_allowed_individual_bugs = 7; |
| |
| // If True; file issues for the 'Overall' target, even if otherwise invalid. |
| bool file_overall = 8; |
| |
| message DefaultTestMetadata { |
| int32 bug_component = 1; |
| string owner = 2; |
| repeated string cc = 3; |
| } |
| |
| // If provided: supplements `max_allowed_individual_bugs` field to raise a |
| // single bug if the number of failures for a single query by testgrid exceeds |
| // the max_allowed_individual_bugs` value, regardless of `TEST_METADATA` |
| // configurations. This is useful for filing fewer suspected environmental |
| // failure bugs and routing them to a specific location (i.e. an oncall). |
| // Requires 'file_individual' to be true and `max_allowed_individual_bugs` to |
| // not be empty. |
| DefaultTestMetadata default_test_metadata = 9; |
| |
| // [BETA] If True, query the test metadata API to get issue-routing metadata. |
| // Enables routing issues using structured test failures. |
| bool advanced_test_metadata = 11; |
| |
| // If True, file a bug when the tab goes stale. |
| // (Requires `alert_stale_results_hours` to be set.) |
| bool file_stale = 12; |
| |
| // If True, ignore overall rows when auto-filing. |
| bool ignore_overall = 13; |
| |
| // [BETA] Extra text displayed in opened bugs. e.g., for including a link to a |
| // playbook. |
| string note = 14; |
| |
| reserved 15, 16; |
| } |
| |
| message HotlistIdFromSource { |
| oneof hotlist_id_source { |
| // ID value of hotlists |
| int64 value = 1; |
| // A label prefix |
| string label = 2; |
| } |
| } |
| |
| // Specifies a dashboard. |
| message Dashboard { |
| // A list of the tabs on the dashboard. |
| repeated DashboardTab dashboard_tab = 1; |
| |
| // A name for the Dashboard. |
| string name = 2; |
| |
| // A list of notifications attached to this dashboard. |
| // This is displayed on any dashboard tab in this dashboard. |
| repeated Notification notifications = 3; |
| |
| reserved 4; // Deprecated show_summary_first bool, unused |
| |
| // Control which tab is displayed when first opening a dashboard. |
| // Defaults to Summary |
| string default_tab = 5; |
| |
| // Controls whether to suppress highlighting of failing tabs. |
| bool downplay_failing_tabs = 8; |
| |
| // Deprecated: Invert of 'downplay_failing_tabs' |
| bool highlight_failing_tabs = 6 [ deprecated = true ]; |
| |
| // Controls whether to apply special highlighting to result header columns for |
| // the current day. |
| bool highlight_today = 7; |
| |
| // A description paragraph to be displayed. |
| string description = 9; |
| } |
| |
| message LinkTemplate { |
| // The URL template. |
| string url = 1; |
| // The options templates. |
| repeated LinkOptionsTemplate options = 2; |
| // An optional name, used for the context menu |
| string name = 3; |
| } |
| |
| // A simple key/value pair for link options. |
| message LinkOptionsTemplate { |
| // The key for the option. This is not expanded. |
| string key = 1; |
| |
| // The value for the option. This is expanded the same as the LinkTemplate. |
| string value = 2; |
| } |
| |
| // A single tab on a dashboard. |
| message DashboardTab { |
| // The name of the dashboard tab to display in the client. |
| string name = 1; |
| |
| // The name of the TestGroup specifying the test results for this tab. |
| string test_group_name = 2; |
| |
| // Default bug component for manually filing bugs from the dashboard |
| int32 bug_component = 3; |
| |
| // Default code search path for searching regressions. This value overrides |
| // the default in the TestGroup config so that dashboards may be customized |
| // separately. |
| string code_search_path = 4; |
| |
| // See TestGroup.num_columns_recent. This value overrides the default in the |
| // TestGroup config so that dashboards may be customized separately. |
| int32 num_columns_recent = 5; |
| |
| // Base options to always include, for example: |
| // width=20&include-filter-by-regex=level_tests |
| // This is taken from the #fragment part of the testgrid url. |
| // Best way to create these is to setup the options on testgrid and then |
| // copy the #fragment part. |
| string base_options = 6; |
| |
| // The URL template to visit after clicking on a cell. |
| LinkTemplate open_test_template = 7; |
| |
| // The URL template to visit when filing a bug. |
| LinkTemplate file_bug_template = 8; |
| |
| // The URL template to visit when attaching a bug |
| LinkTemplate attach_bug_template = 9; |
| |
| // Text to show in the about menu as a link to another view of the results. |
| string results_text = 10; |
| |
| // The URL template to visit after clicking. |
| LinkTemplate results_url_template = 11; |
| |
| // The URL template to visit when searching for code changes, such as pull |
| // requests |
| LinkTemplate code_search_url_template = 12; |
| |
| // A description paragraph to be displayed. |
| string description = 13; |
| |
| // A regular expression that uses the named group syntax to specify how to |
| // show names in a table. |
| string tabular_names_regex = 14; |
| |
| // Configuration options for dashboard tab alerts. |
| DashboardTabAlertOptions alert_options = 15; |
| |
| // Configuration options for dashboard tab flakiness alerts. |
| DashboardTabFlakinessAlertOptions flakiness_alert_options = 24; |
| |
| // Configuration options for customizing dashboard tab status calculation. |
| DashboardTabStatusCustomizationOptions status_customization_options = 26; |
| |
| // A URL for the "About this Dashboard" menu option |
| string about_dashboard_url = 16; |
| |
| // The URL template to visit when viewing an associated bug. |
| LinkTemplate open_bug_template = 17; |
| |
| // If true, auto-file bugs when new alerts occur. This requires that the |
| // backing test group has `bug_component` set and uses the backing test |
| // group's `auto_bug_options`. |
| bool auto_file_bugs = 18; |
| |
| // Display user local time on the dashboard when set to true (by default). |
| // If false, uses Pacific Timezone for this DashboardTab. |
| bool display_local_time = 19; |
| |
| // A set of optional LinkTemplates that will become right-click context menu |
| // items. |
| // TODO(b/159042168) in the near future this should be re-implemented as a |
| // generic list of repeated LinkTemplates which users may specify in their |
| // reqpective configurations as right-click context menus with names and |
| // actions upon being clicked. |
| LinkTemplate context_menu_template = 20; |
| |
| // When specified, treat a tab as BROKEN as long as one of the most recent |
| // columns are "broken" (ratio of failed to total tests exceeds <threshold>). |
| float broken_column_threshold = 21; |
| |
| // Options for auto-filed bugs. |
| // Using this for a dashboard tab requires specifying `beta_autobug_component` |
| // and will opt you into the beta AutoBug. |
| AutoBugOptions beta_autobug_options = 22; |
| |
| // Options for the configuration of the flakiness analysis tool, per-tab. |
| HealthAnalysisOptions health_analysis_options = 23; |
| |
| // A set of optional Link Templates when search for diffs between columns. |
| repeated LinkTemplate column_diff_link_templates = 25; |
| } |
| |
| // Configuration options for dashboard tab alerts. |
| message DashboardTabAlertOptions { |
| // Time in hours before an alert will be added to a test results table if the |
| // run date of the latest results are older than this time. If zero, no |
| // alerts are raised. |
| int32 alert_stale_results_hours = 1; |
| |
| // The number of consecutive test result failures to see before alerting of |
| // a consistent failure. If zero, no alerts are raised. |
| int32 num_failures_to_alert = 2; |
| |
| // The comma-separated addresses to send mail. |
| string alert_mail_to_addresses = 3; |
| |
| // The number of consecutive test passes to close the alert. |
| int32 num_passes_to_disable_alert = 4; |
| |
| // Custom subject for alert mails. |
| string subject = 5; |
| |
| // Custom link for further help/instructions on debugging this alert. |
| string debug_url = 6; |
| |
| // Custom text to show for the debug link. |
| string debug_message = 7; |
| |
| // Wait time between emails. If unset or zero, an email will be sent only once |
| // it becomes a consistent failure, and not again until it succeeds. |
| // TestGrid does not pester about staleness |
| int32 wait_minutes_between_emails = 8; |
| |
| // A custom message |
| string alert_mail_failure_message = 9; |
| } |
| |
| // Configuration options for dashboard tab flakiness alerts. |
| message DashboardTabFlakinessAlertOptions { |
| // The minimum amount of flakiness needed to trigger a flakiness alert. |
| // 0=Disable alerts |
| // This is a percentage; expected values go from 0 to 100 (100 = 100% flaky) |
| float minimum_flakiness_to_alert = 1; |
| |
| // The comma-separated addresses to send mail. |
| string alert_mail_to_addresses = 2; |
| |
| // Custom subject for alert mails. |
| string subject = 3; |
| |
| // Minimum time between sending mails. |
| int32 wait_minutes_between_emails = 4; |
| |
| // A custom message |
| // TODO(RonWeber): This should be a template |
| string alert_mail_failure_message = 5; |
| } |
| |
| // Configuration options for customizing the tab status calculation. |
| message DashboardTabStatusCustomizationOptions { |
| // Maximum amount of flakiness tolerated to categorize tab as acceptable. |
| // Will supplement dashboard tab status message, and mark the tab as ACCEPTABLE in the dashboard group view. |
| // 0 = Disable this option |
| // This is configured as a percentage of valid (non-ignored) columns; expected values go |
| // from 0.0 to 100.0 (100% = no passing columns is acceptable) |
| float max_acceptable_flakiness = 1; |
| |
| // Columns which contain cells with any status configure below will be ignored. |
| // Ignored columns affect the computation of flakiness and non-ignored number of runs. |
| enum IgnoredTestStatus{ |
| TEST_STATUS_UNSPECIFIED = 0; |
| CATEGORIZED_ABORT = 1; |
| UNKNOWN = 2; |
| CANCEL = 3; |
| BLOCKED = 4; |
| } |
| |
| repeated IgnoredTestStatus ignored_test_statuses = 2; |
| |
| // Minimum number of runs required excluding ignored ones. |
| // If the non-ignored columns is less than this, tab status will be PENDING. |
| int32 min_acceptable_runs = 3; |
| } |
| |
| // Specifies a dashboard group. |
| message DashboardGroup { |
| // The name for the dashboard group. |
| string name = 1; |
| |
| // A list of names specifying dashboards to show links to in a separate tabbed |
| // bar at the top of the page for each of the given dashboards. |
| repeated string dashboard_names = 2; |
| |
| // A description paragraph to be displayed. |
| string description = 3; |
| } |
| |
| // A service configuration consisting of multiple test groups and dashboards. |
| message Configuration { |
| // A list of groups of tests to gather. |
| repeated TestGroup test_groups = 1; |
| |
| // A list of all of the dashboards for a server. |
| repeated Dashboard dashboards = 2; |
| |
| // A list of all the dashboard groups for a server. |
| repeated DashboardGroup dashboard_groups = 3; |
| } |
| |
| // A grouping of configuration options for the flakiness analysis tool. |
| // Later configuration options could include the ability to choose different |
| // kinds of flakiness and choosing if and who to email a copy of the flakiness |
| // report. |
| message HealthAnalysisOptions { |
| // Defaults to false; flakiness analysis is opt-in |
| bool enable = 1; |
| |
| // Defines the number of days for one interval of analysis. |
| // i.e. flakiness will be analyzed for the previous N days starting from Now, |
| // and it will be compared to the calculated N days before that for trend |
| // analysis. |
| int32 days_of_analysis = 2; |
| |
| // When to send healthiness emails out, uses cron string format. |
| string email_schedule = 3; |
| |
| // A comma-separated list of healthiness email recipients. |
| string email_recipients = 4; |
| |
| // A compilable regex string for grouping tests by name. |
| // Works the same as the group-by-regex-mask option of base_options: |
| // go/testgrid/users/dashboard_guide#grouping-tests |
| // An empty string means no grouping. |
| // e.g. test name: "//path/to/test - env", regex: ` - \w+` |
| // The regex will match " - env" in the above test name and give a group of: |
| // //path/to/test <- Group Name |
| // - env <- Group Member |
| string grouping_regex = 5; |
| } |
| |
| // The DefaultConfiguration Proto is deprecated, and will be deleted after Nov |
| // 1, 2019. For defaulting behavior, use the yamlcfg library instead. |
| message DefaultConfiguration { |
| // A default testgroup with default initialization data |
| TestGroup default_test_group = 1 [ deprecated = true ]; |
| |
| // A default dashboard tab with default initialization data |
| DashboardTab default_dashboard_tab = 2 [ deprecated = true ]; |
| } |