blob: 72a6d51078987d3fafb846176c153f76969f1884 [file] [log] [blame]
// 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;
};
}
}