1// Copyright 2020 The ChromiumOS Authors 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5syntax = "proto3"; 6 7package chromiumos.config.prototype; 8 9option go_package = "go.chromium.org/chromiumos/config/go/prototype"; 10 11import "chromiumos/config/prototype/release_target_id.proto"; 12import "chromiumos/config/prototype/signing.proto"; 13import "chromiumos/build/api/system_image.proto"; 14 15// Defines a collection of build targets that are all part of the same logical 16// release target and corresponding config tied to the release target. 17// E.g. octopus -> octopus-kernel-debug, octopus-kernel_4_14, octopus 18// Build targets will change over time with alternate builds, but the release 19// target will remain stable over time. 20message ReleaseTarget { 21 22 ReleaseTargetId id = 1; 23 24 // Human friendly name 25 string name = 2; 26 27 // Defines the primary build target for a given release. 28 chromiumos.build.api.SystemImage.BuildTarget build_target = 3; 29 30 // Defines the uprev build variants for a given release. 31 repeated ReleaseTarget variant_targets = 4; 32 33 // Defines the signing instructions set for this release. 34 SigningInstructions signing_instructions = 5; 35 36 // Defines the criticality of the target when used to determine things like 37 // the overall build return status, as well as if we should update the LKGM 38 // version, etc. 39 enum TargetCriticality { 40 // Should not be used. 41 CRIT_UNDEFINED = 0; 42 // In bringup or otherwise not ready, ignore for overall status. 43 CRIT_EXPERIMENTAL = 1; 44 // Used for informational purposes. Might affect some status calculations. 45 CRIT_INFORMATIONAL = 2; 46 // In production, deployed or otherwise critical. 47 CRIT_PRODUCTION = 3; 48 } 49 50 // This target's level of. 51 TargetCriticality criticality = 6; 52} 53