go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/analysis/proto/v1/predicate.proto (about)

     1  // Copyright 2022 The LUCI Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  syntax = "proto3";
    16  
    17  package luci.analysis.v1;
    18  
    19  import "go.chromium.org/luci/analysis/proto/v1/common.proto";
    20  
    21  option go_package = "go.chromium.org/luci/analysis/proto/v1;analysispb";
    22  
    23  // Represents a function Variant -> bool.
    24  message VariantPredicate {
    25    oneof predicate {
    26      // A variant must be equal this definition exactly.
    27      Variant equals = 1;
    28  
    29      // A variant's key-value pairs must contain those in this one.
    30      Variant contains = 2;
    31  
    32      // A variant's hash must equal this value exactly.
    33      string hash_equals = 3;
    34    }
    35  }
    36  
    37  // Represents a function TestVerdict -> bool.
    38  message TestVerdictPredicate {
    39    // Optional. The project-scoped realm to query the history from.
    40    // This is the realm without the "<project>:" prefix.
    41    //
    42    // When specified, only the test history entries found in the matching realm
    43    // will be returned.
    44    string sub_realm = 1;
    45  
    46    // Optional. The subset of test variants to request history for.
    47    VariantPredicate variant_predicate = 2;
    48  
    49    // Optional. Whether test verdicts generated by code with unsubmitted changes
    50    // (e.g. Gerrit changes) should be included in the response.
    51    //
    52    // If no filter is specified, all verdicts are returned (regardless of
    53    // submitted status).
    54    luci.analysis.v1.SubmittedFilter submitted_filter = 3;
    55  
    56    // Optional. Specify a range of timestamps to query the test history from.
    57    //
    58    // Test history older than the configured TTL (90 days) will not be returned.
    59    // When omitted, return all available test history.
    60    TimeRange partition_time_range = 4;
    61  
    62    // Optional. Whether to include the test results from LUCI Bisection.
    63    // Results from LUCI Bisection are only return if this is true.
    64    // LUCI Bisection results are excluded by default.
    65    bool include_bisection_results = 5;
    66  }