go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/resultdb/internal/proto/redis.proto (about) 1 // Copyright 2019 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.resultdb.internal; 18 19 import "go.chromium.org/luci/resultdb/proto/v1/invocation.proto"; 20 21 option go_package = "go.chromium.org/luci/resultdb/internal/proto;internalpb"; 22 23 24 // ReachableInvocations captures the invocations reachable from a root 25 // invocation (including the invocation itself). It is stored as a value 26 // in redis for finalized invocations alongside the ID of that invocation. 27 message ReachableInvocations { 28 message ReachableInvocation { 29 // The invocation ID. 30 string invocation_id = 1; 31 // Whether the invocation has any test results. 32 bool has_test_results = 2; 33 // Whether the invocation has any test exonerations. 34 bool has_test_exonerations = 3; 35 // The realm of the invocation. 36 string realm = 4; 37 // The offset of this invocation's resolved sources 38 // in ReachableInvocations.sources. 39 // 0 indicates there are no sources, 1 indicates the 40 // sources are at ReachableInvocations.sources[0], 2 indicates 41 // the sources are at ReachableInvocations.sources[1] and so on. 42 int64 source_offset = 5; 43 } 44 // The invocations reachable. This includes the root invocation 45 // (the invocation for which this cache entry is) itself. 46 repeated ReachableInvocation invocations = 1; 47 48 // The distinct sources in the reachable invocation graph. 49 // As many invocations will have the same sources, this 50 // is used to reduce the stored size. 51 repeated luci.resultdb.v1.Sources sources = 2; 52 }