// Copyright 2017 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto2"; package android.test.lab; // Type of a command. enum BuildStorageType { UNKNOWN_BUILD_STORAGE_TYPE = 0; // For Partner Android Build (PAB) BUILD_STORAGE_TYPE_PAB = 1; // For a Google Cloud Storage (GCS) bucket BUILD_STORAGE_TYPE_GCS = 2; } // To specify the whole test execution schedule of a manifest branch. message ScheduleConfigMessage { // Manifest branch name. optional bytes manifest_branch = 1; // PAB account ID. optional bytes pab_account_id = 2; // Device image storage type (e.g., PAB or GCS) optional BuildStorageType build_storage_type = 3 [default = BUILD_STORAGE_TYPE_PAB]; // For the IP address. repeated BuildScheduleConfigMessage build_target = 11; } message BuildScheduleConfigMessage { // build target name (e.g., aosp_taimen-userdebug) optional bytes name = 1; // whether to use signed build. optional bool require_signed_device_build = 2; // whether the build target has bootloader.img optional bool has_bootloader_img = 3 [default = true]; // whether the build target has radio.img optional bool has_radio_img = 4 [default = true]; repeated TestScheduleConfigMessage test_schedule = 11; } message TestScheduleConfigMessage { // Test name (e.g., test_group/test_plan) optional bytes test_name = 1; // Scheduling period in minutes optional int32 period = 2; // Priority such as high, low, or medium optional bytes priority = 3; // such as / repeated bytes device = 4; // number of shards (-1 for auto selection?) optional int32 shards = 5; // required host-side equipment. repeated bytes required_host_equipment = 6; // required device-side equipment such as a SIM card. repeated bytes required_device_equipment = 7; optional bytes param = 11; // GSI storage type (e.g., PAB or GCS) optional BuildStorageType gsi_storage_type = 24 [default = BUILD_STORAGE_TYPE_PAB]; // if GSI (General System Image) is used, GSI manifest branch name. optional bytes gsi_branch = 21; // if GSI (General System Image) is used, GSI build target name. optional bytes gsi_build_target = 22; // if GSI (General System Image) is used, GSI PAB account ID. optional bytes gsi_pab_account_id = 23; // if GSI (General System Image) is used, the version of a vendor.img // to use GSI with (e.g., 8.1.0). optional bytes gsi_vendor_version = 25; // Test package's storage type (e.g., PAB or GCS) optional BuildStorageType test_storage_type = 34 [default = BUILD_STORAGE_TYPE_PAB]; // Test package's manifest branch name. optional bytes test_branch = 31; // Test package's build target name. optional bytes test_build_target = 32; // PAB account ID for test package. optional bytes test_pab_account_id = 33; // number of retry count. optional int32 retry_count = 41; // whether to disable this schedule. optional bool disable = 51 [default = false]; // Base GCS url for the repack command. optional bytes image_package_repo_base = 61; // the GCS url where test results are uploaded repeated bytes report_bucket = 71; // the ID of the spreadsheet where test results are uploaded repeated bytes report_spreadsheet_id = 72; // the GCS url where the latest test result is uploaded repeated bytes report_persistent_url = 73; // the GCS url where the reference result is. repeated bytes report_reference_url = 74; }