| // Copyright 2019 The ChromiumOS Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto3"; |
| package chromite.api; |
| |
| option go_package = "go.chromium.org/chromiumos/infra/proto/go/chromite/api"; |
| |
| import "chromite/api/build_api.proto"; |
| import "chromiumos/common.proto"; |
| |
| // Added in R92. |
| message GetLatestBuildRequest { |
| reserved 1; |
| // The Android branch to look for the latest build. |
| string android_build_branch = 2; |
| // The Android package to look for the latest build e.g 'android-vm-rvc'. |
| // The default corresponding branch is used. Ignored if android_build_branch |
| // is already specified. |
| string android_package = 3; |
| } |
| |
| // Added in R92. |
| message GetLatestBuildResponse { |
| // The latest Android build ID of the requested branch. |
| string android_version = 1; |
| } |
| |
| message MarkStableRequest { |
| // Required if not default. |
| // The chroot where. |
| chromiumos.Chroot chroot = 1; |
| // The manifest branch being used. |
| // Deprecated since R90. |
| string tracking_branch = 2 [ deprecated = true ]; |
| // Required. |
| // Portage package name for Android container. |
| string package_name = 3; |
| // Android branch to import from. |
| // Optional since R92. |
| string android_build_branch = 4; |
| // Force set the android build id that will be used. |
| string android_version = 5; |
| // Android GTS branch to copy artifacts from. |
| // Deprecated. |
| string android_gts_build_branch = 6 [ deprecated = true ]; |
| // The set of relevant build targets. Used to clean old version and for a |
| // emerge-able sanity check for the new version. |
| // Recommended. |
| repeated chromiumos.BuildTarget build_targets = 7; |
| // Asks the uprev script to skip commiting changes to git when it's not |
| // required, for example in CQ builders. |
| // Added in R90. |
| bool skip_commit = 8; |
| // Asks the uprev script to ignore all artifacts generated by ARC's |
| // DataCollector to ensure DataCollector test runs with no cache. |
| // Added in R120. |
| bool ignore_data_collector_artifacts = 9; |
| } |
| |
| enum MarkStableStatusType { |
| // Unspecified |
| MARK_STABLE_STATUS_UNSPECIFIED = 0; |
| // Success |
| MARK_STABLE_STATUS_SUCCESS = 1; |
| // Pinned (at android_atom) |
| MARK_STABLE_STATUS_PINNED = 2; |
| // Early exit |
| MARK_STABLE_STATUS_EARLY_EXIT = 3; |
| } |
| |
| message MarkStableResponse { |
| // Possible errors. |
| MarkStableStatusType status = 1; |
| // The new package atom. |
| chromiumos.PackageInfo android_atom = 2; |
| } |
| |
| message UnpinVersionRequest { |
| // The chroot to use to execute the endpoint. |
| chromiumos.Chroot chroot = 1; |
| } |
| |
| message UnpinVersionResponse {} |
| |
| // Added in R99. |
| message WriteLKGBRequest { |
| // The Android package to mark LKGB. |
| string android_package = 1; |
| // The LKGB Android version. |
| string android_version = 2; |
| // The LKGB Android branch. Added in R111. |
| string android_branch = 3; |
| } |
| |
| // Added in R99. |
| message WriteLKGBResponse { |
| // Files modified in a successful request. |
| repeated string modified_files = 1; |
| } |
| |
| // Service for Android/ARC related functionality. |
| service AndroidService { |
| option (service_options) = { |
| module : "android", |
| service_chroot_assert : INSIDE, |
| }; |
| |
| // Retrieves the latest Android build of a given Android branch. |
| // Added in R92. |
| rpc GetLatestBuild(GetLatestBuildRequest) returns (GetLatestBuildResponse) { |
| option (method_options) = { |
| method_chroot_assert : OUTSIDE; |
| }; |
| } |
| |
| // The MarkStable method uprevs Android, verifies the newly revved package |
| // can be emerged, and returns the new package info. |
| rpc MarkStable(MarkStableRequest) returns (MarkStableResponse) { |
| // TODO(crbug/904939): When we switch from the cbuildbot/commands.py hack, |
| // we need to make this INSIDE. |
| option (method_options) = { |
| method_chroot_assert : OUTSIDE; |
| }; |
| } |
| |
| // Unpin the Android package version. Added in R76. |
| rpc UnpinVersion(UnpinVersionRequest) returns (UnpinVersionResponse) { |
| option (method_options) = { |
| method_chroot_assert : INSIDE; |
| }; |
| } |
| |
| // Marks the Last Known Good Build for the given Android package/version. |
| // Added in R99. |
| rpc WriteLKGB(WriteLKGBRequest) returns (WriteLKGBResponse) { |
| option (method_options) = { |
| method_chroot_assert : OUTSIDE; |
| }; |
| } |
| } |