1// Copyright 2017 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto2"; 16 17package android.test.lab; 18 19// Type of a command. 20enum BuildStorageType { 21 UNKNOWN_BUILD_STORAGE_TYPE = 0; 22 // For Partner Android Build (PAB) 23 BUILD_STORAGE_TYPE_PAB = 1; 24 // For a Google Cloud Storage (GCS) bucket 25 BUILD_STORAGE_TYPE_GCS = 2; 26} 27 28// To specify the whole test execution schedule of a manifest branch. 29message ScheduleConfigMessage { 30 // Manifest branch name. 31 optional bytes manifest_branch = 1; 32 33 // PAB account ID. 34 optional bytes pab_account_id = 2; 35 36 // Device image storage type (e.g., PAB or GCS) 37 optional BuildStorageType build_storage_type = 3 [default = BUILD_STORAGE_TYPE_PAB]; 38 39 // For the IP address. 40 repeated BuildScheduleConfigMessage build_target = 11; 41} 42 43message BuildScheduleConfigMessage { 44 // build target name (e.g., aosp_taimen-userdebug) 45 optional bytes name = 1; 46 47 // whether to use signed build. 48 optional bool require_signed_device_build = 2; 49 50 // whether the build target has bootloader.img 51 optional bool has_bootloader_img = 3 [default = true]; 52 53 // whether the build target has radio.img 54 optional bool has_radio_img = 4 [default = true]; 55 56 repeated TestScheduleConfigMessage test_schedule = 11; 57} 58 59message TestScheduleConfigMessage { 60 // Test name (e.g., test_group/test_plan) 61 optional bytes test_name = 1; 62 63 // Scheduling period in minutes 64 optional int32 period = 2; 65 66 // Priority such as high, low, or medium 67 optional bytes priority = 3; 68 69 // such as <lab>/<device type> 70 repeated bytes device = 4; 71 72 // number of shards (-1 for auto selection?) 73 optional int32 shards = 5; 74 75 // required host-side equipment. 76 repeated bytes required_host_equipment = 6; 77 78 // required device-side equipment such as a SIM card. 79 repeated bytes required_device_equipment = 7; 80 81 optional bytes param = 11; 82 83 // GSI storage type (e.g., PAB or GCS) 84 optional BuildStorageType gsi_storage_type = 24 [default = BUILD_STORAGE_TYPE_PAB]; 85 86 // if GSI (General System Image) is used, GSI manifest branch name. 87 optional bytes gsi_branch = 21; 88 89 // if GSI (General System Image) is used, GSI build target name. 90 optional bytes gsi_build_target = 22; 91 92 // if GSI (General System Image) is used, GSI PAB account ID. 93 optional bytes gsi_pab_account_id = 23; 94 95 // if GSI (General System Image) is used, the version of a vendor.img 96 // to use GSI with (e.g., 8.1.0). 97 optional bytes gsi_vendor_version = 25; 98 99 // Test package's storage type (e.g., PAB or GCS) 100 optional BuildStorageType test_storage_type = 34 [default = BUILD_STORAGE_TYPE_PAB]; 101 102 // Test package's manifest branch name. 103 optional bytes test_branch = 31; 104 105 // Test package's build target name. 106 optional bytes test_build_target = 32; 107 108 // PAB account ID for test package. 109 optional bytes test_pab_account_id = 33; 110 111 // number of retry count. 112 optional int32 retry_count = 41; 113 114 // whether to disable this schedule. 115 optional bool disable = 51 [default = false]; 116 117 // Base GCS url for the repack command. 118 optional bytes image_package_repo_base = 61; 119 120 // the GCS url where test results are uploaded 121 repeated bytes report_bucket = 71; 122 123 // the ID of the spreadsheet where test results are uploaded 124 repeated bytes report_spreadsheet_id = 72; 125 126 // the GCS url where the latest test result is uploaded 127 repeated bytes report_persistent_url = 73; 128 129 // the GCS url where the reference result is. 130 repeated bytes report_reference_url = 74; 131} 132