• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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