1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.chromeos.moblab.v1beta1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 20*d5c09012SAndroid Build Coastguard Worker 21*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/chromeos/moblab/v1beta1;moblab"; 22*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 23*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ResourcesProto"; 24*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.chromeos.moblab.v1beta1"; 25*d5c09012SAndroid Build Coastguard Workeroption optimize_for = SPEED; 26*d5c09012SAndroid Build Coastguard Worker 27*d5c09012SAndroid Build Coastguard Worker// Resource that represents a build target. 28*d5c09012SAndroid Build Coastguard Worker// -- NEXT_TAG: 2 -- 29*d5c09012SAndroid Build Coastguard Workermessage BuildTarget { 30*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 31*d5c09012SAndroid Build Coastguard Worker type: "chromeosmoblab.googleapis.com/BuildTarget" 32*d5c09012SAndroid Build Coastguard Worker pattern: "buildTargets/{build_target}" 33*d5c09012SAndroid Build Coastguard Worker }; 34*d5c09012SAndroid Build Coastguard Worker 35*d5c09012SAndroid Build Coastguard Worker // The resource name of the build target. 36*d5c09012SAndroid Build Coastguard Worker // Format: buildTargets/{build_target} 37*d5c09012SAndroid Build Coastguard Worker string name = 1; 38*d5c09012SAndroid Build Coastguard Worker} 39*d5c09012SAndroid Build Coastguard Worker 40*d5c09012SAndroid Build Coastguard Worker// Resource that represents a model. Each model belongs to a build target. For 41*d5c09012SAndroid Build Coastguard Worker// non-unified build, the model name is the same as its build target name. 42*d5c09012SAndroid Build Coastguard Worker// -- NEXT_TAG: 2 -- 43*d5c09012SAndroid Build Coastguard Workermessage Model { 44*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 45*d5c09012SAndroid Build Coastguard Worker type: "chromeosmoblab.googleapis.com/Model" 46*d5c09012SAndroid Build Coastguard Worker pattern: "buildTargets/{build_target}/models/{model}" 47*d5c09012SAndroid Build Coastguard Worker }; 48*d5c09012SAndroid Build Coastguard Worker 49*d5c09012SAndroid Build Coastguard Worker // The resource name of the model. 50*d5c09012SAndroid Build Coastguard Worker // Format: buildTargets/{build_target}/models/{model} 51*d5c09012SAndroid Build Coastguard Worker string name = 1; 52*d5c09012SAndroid Build Coastguard Worker} 53*d5c09012SAndroid Build Coastguard Worker 54*d5c09012SAndroid Build Coastguard Worker// Resource that represents a chrome OS milestone. 55*d5c09012SAndroid Build Coastguard Worker// -- NEXT_TAG: 2 -- 56*d5c09012SAndroid Build Coastguard Workermessage Milestone { 57*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 58*d5c09012SAndroid Build Coastguard Worker type: "chromeosmoblab.googleapis.com/Milestone" 59*d5c09012SAndroid Build Coastguard Worker pattern: "milestones/{milestone}" 60*d5c09012SAndroid Build Coastguard Worker }; 61*d5c09012SAndroid Build Coastguard Worker 62*d5c09012SAndroid Build Coastguard Worker // The resource name of the milestone. 63*d5c09012SAndroid Build Coastguard Worker // Format: milestones/{milestone} 64*d5c09012SAndroid Build Coastguard Worker string name = 1; 65*d5c09012SAndroid Build Coastguard Worker} 66*d5c09012SAndroid Build Coastguard Worker 67*d5c09012SAndroid Build Coastguard Worker// Resource that represents a build for the given build target, model, milestone 68*d5c09012SAndroid Build Coastguard Worker// and build version. 69*d5c09012SAndroid Build Coastguard Worker// -- NEXT_TAG: 9 -- 70*d5c09012SAndroid Build Coastguard Workermessage Build { 71*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 72*d5c09012SAndroid Build Coastguard Worker type: "chromeosmoblab.googleapis.com/Build" 73*d5c09012SAndroid Build Coastguard Worker pattern: "buildTargets/{build_target}/models/{model}/builds/{build}" 74*d5c09012SAndroid Build Coastguard Worker }; 75*d5c09012SAndroid Build Coastguard Worker 76*d5c09012SAndroid Build Coastguard Worker // The build status types. 77*d5c09012SAndroid Build Coastguard Worker enum BuildStatus { 78*d5c09012SAndroid Build Coastguard Worker // No build status is specified. 79*d5c09012SAndroid Build Coastguard Worker BUILD_STATUS_UNSPECIFIED = 0; 80*d5c09012SAndroid Build Coastguard Worker 81*d5c09012SAndroid Build Coastguard Worker // Complete Status: The build passed. 82*d5c09012SAndroid Build Coastguard Worker PASS = 1; 83*d5c09012SAndroid Build Coastguard Worker 84*d5c09012SAndroid Build Coastguard Worker // Complete Status: The build failed. 85*d5c09012SAndroid Build Coastguard Worker FAIL = 2; 86*d5c09012SAndroid Build Coastguard Worker 87*d5c09012SAndroid Build Coastguard Worker // Intermediate Status: The build is still running. 88*d5c09012SAndroid Build Coastguard Worker RUNNING = 3; 89*d5c09012SAndroid Build Coastguard Worker 90*d5c09012SAndroid Build Coastguard Worker // Complete Status: The build was aborted. 91*d5c09012SAndroid Build Coastguard Worker ABORTED = 4; 92*d5c09012SAndroid Build Coastguard Worker } 93*d5c09012SAndroid Build Coastguard Worker 94*d5c09012SAndroid Build Coastguard Worker // The build types. 95*d5c09012SAndroid Build Coastguard Worker enum BuildType { 96*d5c09012SAndroid Build Coastguard Worker // Invalid build type. 97*d5c09012SAndroid Build Coastguard Worker BUILD_TYPE_UNSPECIFIED = 0; 98*d5c09012SAndroid Build Coastguard Worker 99*d5c09012SAndroid Build Coastguard Worker // The release build. 100*d5c09012SAndroid Build Coastguard Worker RELEASE = 1; 101*d5c09012SAndroid Build Coastguard Worker 102*d5c09012SAndroid Build Coastguard Worker // The firmware build. 103*d5c09012SAndroid Build Coastguard Worker FIRMWARE = 2; 104*d5c09012SAndroid Build Coastguard Worker } 105*d5c09012SAndroid Build Coastguard Worker 106*d5c09012SAndroid Build Coastguard Worker // The resource name of the build. 107*d5c09012SAndroid Build Coastguard Worker // Format: buildTargets/{build_target}/models/{model}/builds/{build} 108*d5c09012SAndroid Build Coastguard Worker // Example: buildTargets/octopus/models/bobba/builds/1234.0.0 109*d5c09012SAndroid Build Coastguard Worker string name = 1; 110*d5c09012SAndroid Build Coastguard Worker 111*d5c09012SAndroid Build Coastguard Worker // The milestone that owns the build. 112*d5c09012SAndroid Build Coastguard Worker // Format: milestones/{milestone} 113*d5c09012SAndroid Build Coastguard Worker string milestone = 2 [(google.api.resource_reference) = { 114*d5c09012SAndroid Build Coastguard Worker type: "chromeosmoblab.googleapis.com/Milestone" 115*d5c09012SAndroid Build Coastguard Worker }]; 116*d5c09012SAndroid Build Coastguard Worker 117*d5c09012SAndroid Build Coastguard Worker // The build version of the build, e.g. 1234.0.0. 118*d5c09012SAndroid Build Coastguard Worker string build_version = 3; 119*d5c09012SAndroid Build Coastguard Worker 120*d5c09012SAndroid Build Coastguard Worker // The status of the build. 121*d5c09012SAndroid Build Coastguard Worker BuildStatus status = 4; 122*d5c09012SAndroid Build Coastguard Worker 123*d5c09012SAndroid Build Coastguard Worker // The type of the build. 124*d5c09012SAndroid Build Coastguard Worker BuildType type = 5; 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // The branch of the build. 127*d5c09012SAndroid Build Coastguard Worker string branch = 6; 128*d5c09012SAndroid Build Coastguard Worker 129*d5c09012SAndroid Build Coastguard Worker // The firmware version of the software that is flashed to the chip on the 130*d5c09012SAndroid Build Coastguard Worker // Chrome OS device. 131*d5c09012SAndroid Build Coastguard Worker string rw_firmware_version = 7; 132*d5c09012SAndroid Build Coastguard Worker 133*d5c09012SAndroid Build Coastguard Worker // The labels of the build. 134*d5c09012SAndroid Build Coastguard Worker repeated string labels = 8; 135*d5c09012SAndroid Build Coastguard Worker} 136*d5c09012SAndroid Build Coastguard Worker 137*d5c09012SAndroid Build Coastguard Worker// Resource that represents a build artifact stored in Google Cloud Storage for 138*d5c09012SAndroid Build Coastguard Worker// the given build target, model, build version and bucket. 139*d5c09012SAndroid Build Coastguard Worker// -- NEXT_TAG: 6 -- 140*d5c09012SAndroid Build Coastguard Workermessage BuildArtifact { 141*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 142*d5c09012SAndroid Build Coastguard Worker type: "chromeosmoblab.googleapis.com/BuildArtifact" 143*d5c09012SAndroid Build Coastguard Worker pattern: "buildTargets/{build_target}/models/{model}/builds/{build}/artifacts/{artifact}" 144*d5c09012SAndroid Build Coastguard Worker }; 145*d5c09012SAndroid Build Coastguard Worker 146*d5c09012SAndroid Build Coastguard Worker // The resource name of the build artifact. 147*d5c09012SAndroid Build Coastguard Worker // Format: 148*d5c09012SAndroid Build Coastguard Worker // buildTargets/{build_target}/models/{model}/builds/{build}/artifacts/{artifact} 149*d5c09012SAndroid Build Coastguard Worker // Example: 150*d5c09012SAndroid Build Coastguard Worker // buildTargets/octopus/models/bobba/builds/1234.0.0/artifacts/chromeos-moblab-peng-staging 151*d5c09012SAndroid Build Coastguard Worker string name = 1; 152*d5c09012SAndroid Build Coastguard Worker 153*d5c09012SAndroid Build Coastguard Worker // The build metadata of the build artifact. 154*d5c09012SAndroid Build Coastguard Worker string build = 2 [(google.api.resource_reference) = { 155*d5c09012SAndroid Build Coastguard Worker type: "chromeosmoblab.googleapis.com/Build" 156*d5c09012SAndroid Build Coastguard Worker }]; 157*d5c09012SAndroid Build Coastguard Worker 158*d5c09012SAndroid Build Coastguard Worker // The bucket that stores the build artifact. 159*d5c09012SAndroid Build Coastguard Worker string bucket = 3; 160*d5c09012SAndroid Build Coastguard Worker 161*d5c09012SAndroid Build Coastguard Worker // The path of the build artifact in the bucket. 162*d5c09012SAndroid Build Coastguard Worker string path = 4; 163*d5c09012SAndroid Build Coastguard Worker 164*d5c09012SAndroid Build Coastguard Worker // The number of objects in the build artifact folder. The object number can 165*d5c09012SAndroid Build Coastguard Worker // be used to calculated the stage progress by comparing the source build 166*d5c09012SAndroid Build Coastguard Worker // artifact with the destination build artifact. 167*d5c09012SAndroid Build Coastguard Worker uint32 object_count = 5; 168*d5c09012SAndroid Build Coastguard Worker} 169