blob: 83edbd18ef9c4bd55e5dd97826d6b05a26576954 [file] [log] [blame]
// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// WARNING: DO NOT USE these protos outside of suite scheduler. This is
// only intended to help the transition to starlark configs. It will
// be deprecated once the new replacement is in place.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0-devel
// protoc v3.6.1
// source: testplans/suite_scheduler.proto
package testplans
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Branches that can be targeted.
type Branch int32
const (
Branch_BRANCH_UNSPECIFIED Branch = 0
// Canary Branch or ToT.
Branch_CANARY Branch = 1
// Dev Branch or ToT-1.
Branch_DEV Branch = 2
// Beta Branch or ToT-2.
Branch_BETA Branch = 3
// Stable Branch or ToT-3.
Branch_STABLE Branch = 4
)
// Enum value maps for Branch.
var (
Branch_name = map[int32]string{
0: "BRANCH_UNSPECIFIED",
1: "CANARY",
2: "DEV",
3: "BETA",
4: "STABLE",
}
Branch_value = map[string]int32{
"BRANCH_UNSPECIFIED": 0,
"CANARY": 1,
"DEV": 2,
"BETA": 3,
"STABLE": 4,
}
)
func (x Branch) Enum() *Branch {
p := new(Branch)
*p = x
return p
}
func (x Branch) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Branch) Descriptor() protoreflect.EnumDescriptor {
return file_testplans_suite_scheduler_proto_enumTypes[0].Descriptor()
}
func (Branch) Type() protoreflect.EnumType {
return &file_testplans_suite_scheduler_proto_enumTypes[0]
}
func (x Branch) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Branch.Descriptor instead.
func (Branch) EnumDescriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{0}
}
// Whether to use firmware from ToT or firmware branch.
type SchedulerConfig_FirmwareBranch int32
const (
SchedulerConfig_UNSPECIFIED SchedulerConfig_FirmwareBranch = 0
// ToT branch.
SchedulerConfig_CROS SchedulerConfig_FirmwareBranch = 1
// Firmware branch.
SchedulerConfig_FIRMWARE SchedulerConfig_FirmwareBranch = 2
)
// Enum value maps for SchedulerConfig_FirmwareBranch.
var (
SchedulerConfig_FirmwareBranch_name = map[int32]string{
0: "UNSPECIFIED",
1: "CROS",
2: "FIRMWARE",
}
SchedulerConfig_FirmwareBranch_value = map[string]int32{
"UNSPECIFIED": 0,
"CROS": 1,
"FIRMWARE": 2,
}
)
func (x SchedulerConfig_FirmwareBranch) Enum() *SchedulerConfig_FirmwareBranch {
p := new(SchedulerConfig_FirmwareBranch)
*p = x
return p
}
func (x SchedulerConfig_FirmwareBranch) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SchedulerConfig_FirmwareBranch) Descriptor() protoreflect.EnumDescriptor {
return file_testplans_suite_scheduler_proto_enumTypes[1].Descriptor()
}
func (SchedulerConfig_FirmwareBranch) Type() protoreflect.EnumType {
return &file_testplans_suite_scheduler_proto_enumTypes[1]
}
func (x SchedulerConfig_FirmwareBranch) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SchedulerConfig_FirmwareBranch.Descriptor instead.
func (SchedulerConfig_FirmwareBranch) EnumDescriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 0}
}
// LaunchProfile defines how often the suite is launched.
type SchedulerConfig_LaunchCriteria_LaunchProfile int32
const (
SchedulerConfig_LaunchCriteria_UNSPECIFIED SchedulerConfig_LaunchCriteria_LaunchProfile = 0
// Run on every new release build of the boards/variants targeted.
SchedulerConfig_LaunchCriteria_NEW_BUILD SchedulerConfig_LaunchCriteria_LaunchProfile = 1
// Run once a day at the specified hour. Used to be "NIGHTLY".
SchedulerConfig_LaunchCriteria_DAILY SchedulerConfig_LaunchCriteria_LaunchProfile = 2
// Run once a week at the specified time.
SchedulerConfig_LaunchCriteria_WEEKLY SchedulerConfig_LaunchCriteria_LaunchProfile = 3
// NOT SUPPORTED. Will be supported in the redesign.
SchedulerConfig_LaunchCriteria_CRON_BASED SchedulerConfig_LaunchCriteria_LaunchProfile = 4
)
// Enum value maps for SchedulerConfig_LaunchCriteria_LaunchProfile.
var (
SchedulerConfig_LaunchCriteria_LaunchProfile_name = map[int32]string{
0: "UNSPECIFIED",
1: "NEW_BUILD",
2: "DAILY",
3: "WEEKLY",
4: "CRON_BASED",
}
SchedulerConfig_LaunchCriteria_LaunchProfile_value = map[string]int32{
"UNSPECIFIED": 0,
"NEW_BUILD": 1,
"DAILY": 2,
"WEEKLY": 3,
"CRON_BASED": 4,
}
)
func (x SchedulerConfig_LaunchCriteria_LaunchProfile) Enum() *SchedulerConfig_LaunchCriteria_LaunchProfile {
p := new(SchedulerConfig_LaunchCriteria_LaunchProfile)
*p = x
return p
}
func (x SchedulerConfig_LaunchCriteria_LaunchProfile) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SchedulerConfig_LaunchCriteria_LaunchProfile) Descriptor() protoreflect.EnumDescriptor {
return file_testplans_suite_scheduler_proto_enumTypes[2].Descriptor()
}
func (SchedulerConfig_LaunchCriteria_LaunchProfile) Type() protoreflect.EnumType {
return &file_testplans_suite_scheduler_proto_enumTypes[2]
}
func (x SchedulerConfig_LaunchCriteria_LaunchProfile) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SchedulerConfig_LaunchCriteria_LaunchProfile.Descriptor instead.
func (SchedulerConfig_LaunchCriteria_LaunchProfile) EnumDescriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 1, 0}
}
// Defines a board, its variants and its models.
type Board struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the board. Eg: eve.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// List of variants assiciated with the board.
// This should only be the suffixes. Eg: ['-kernelnext'].
Variants []string `protobuf:"bytes,2,rep,name=variants,proto3" json:"variants,omitempty"`
// List of models of the boards to test on.
Models []string `protobuf:"bytes,3,rep,name=models,proto3" json:"models,omitempty"`
}
func (x *Board) Reset() {
*x = Board{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Board) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Board) ProtoMessage() {}
func (x *Board) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Board.ProtoReflect.Descriptor instead.
func (*Board) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{0}
}
func (x *Board) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Board) GetVariants() []string {
if x != nil {
return x.Variants
}
return nil
}
func (x *Board) GetModels() []string {
if x != nil {
return x.Models
}
return nil
}
// Aims to reflect data in lab_config.ini.
type LabConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// List of board definitions.
Boards []*Board `protobuf:"bytes,1,rep,name=boards,proto3" json:"boards,omitempty"`
}
func (x *LabConfig) Reset() {
*x = LabConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LabConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LabConfig) ProtoMessage() {}
func (x *LabConfig) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LabConfig.ProtoReflect.Descriptor instead.
func (*LabConfig) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{1}
}
func (x *LabConfig) GetBoards() []*Board {
if x != nil {
return x.Boards
}
return nil
}
// Specify a Board and Variant pair.
type BoardVariant struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Board string `protobuf:"bytes,1,opt,name=board,proto3" json:"board,omitempty"`
Variant string `protobuf:"bytes,2,opt,name=variant,proto3" json:"variant,omitempty"`
}
func (x *BoardVariant) Reset() {
*x = BoardVariant{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BoardVariant) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BoardVariant) ProtoMessage() {}
func (x *BoardVariant) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BoardVariant.ProtoReflect.Descriptor instead.
func (*BoardVariant) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{2}
}
func (x *BoardVariant) GetBoard() string {
if x != nil {
return x.Board
}
return ""
}
func (x *BoardVariant) GetVariant() string {
if x != nil {
return x.Variant
}
return ""
}
// Most fields are the same as suite_scheduler.ini just better organized.
// The entries will be used to generate a suite_scheduler.ini in starlark scripts.
type SchedulerConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the config. Needs to be unique.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Name of the suite to run.
Suite string `protobuf:"bytes,2,opt,name=suite,proto3" json:"suite,omitempty"`
Contacts []*SchedulerConfig_Contact `protobuf:"bytes,3,rep,name=contacts,proto3" json:"contacts,omitempty"`
LaunchCriteria *SchedulerConfig_LaunchCriteria `protobuf:"bytes,4,opt,name=launch_criteria,json=launchCriteria,proto3" json:"launch_criteria,omitempty"`
// Branches to target.
Branches []Branch `protobuf:"varint,5,rep,packed,name=branches,proto3,enum=testplans.Branch" json:"branches,omitempty"`
TargetOptions *SchedulerConfig_TargetOptions `protobuf:"bytes,6,opt,name=target_options,json=targetOptions,proto3" json:"target_options,omitempty"`
PoolOptions *SchedulerConfig_PoolOptions `protobuf:"bytes,7,opt,name=pool_options,json=poolOptions,proto3" json:"pool_options,omitempty"`
FirmwareRoBuildSpec SchedulerConfig_FirmwareBranch `protobuf:"varint,8,opt,name=firmware_ro_build_spec,json=firmwareRoBuildSpec,proto3,enum=testplans.SchedulerConfig_FirmwareBranch" json:"firmware_ro_build_spec,omitempty"`
RunOptions *SchedulerConfig_RunOptions `protobuf:"bytes,9,opt,name=run_options,json=runOptions,proto3" json:"run_options,omitempty"`
// Name of the config, used for analytics. Does not have to be unique.
AnalyticsName string `protobuf:"bytes,10,opt,name=analytics_name,json=analyticsName,proto3" json:"analytics_name,omitempty"`
}
func (x *SchedulerConfig) Reset() {
*x = SchedulerConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig) ProtoMessage() {}
func (x *SchedulerConfig) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulerConfig.ProtoReflect.Descriptor instead.
func (*SchedulerConfig) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3}
}
func (x *SchedulerConfig) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SchedulerConfig) GetSuite() string {
if x != nil {
return x.Suite
}
return ""
}
func (x *SchedulerConfig) GetContacts() []*SchedulerConfig_Contact {
if x != nil {
return x.Contacts
}
return nil
}
func (x *SchedulerConfig) GetLaunchCriteria() *SchedulerConfig_LaunchCriteria {
if x != nil {
return x.LaunchCriteria
}
return nil
}
func (x *SchedulerConfig) GetBranches() []Branch {
if x != nil {
return x.Branches
}
return nil
}
func (x *SchedulerConfig) GetTargetOptions() *SchedulerConfig_TargetOptions {
if x != nil {
return x.TargetOptions
}
return nil
}
func (x *SchedulerConfig) GetPoolOptions() *SchedulerConfig_PoolOptions {
if x != nil {
return x.PoolOptions
}
return nil
}
func (x *SchedulerConfig) GetFirmwareRoBuildSpec() SchedulerConfig_FirmwareBranch {
if x != nil {
return x.FirmwareRoBuildSpec
}
return SchedulerConfig_UNSPECIFIED
}
func (x *SchedulerConfig) GetRunOptions() *SchedulerConfig_RunOptions {
if x != nil {
return x.RunOptions
}
return nil
}
func (x *SchedulerConfig) GetAnalyticsName() string {
if x != nil {
return x.AnalyticsName
}
return ""
}
// A proto to contain all the configs.
type SchedulerCfg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Configs []*SchedulerConfig `protobuf:"bytes,1,rep,name=configs,proto3" json:"configs,omitempty"`
}
func (x *SchedulerCfg) Reset() {
*x = SchedulerCfg{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerCfg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerCfg) ProtoMessage() {}
func (x *SchedulerCfg) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulerCfg.ProtoReflect.Descriptor instead.
func (*SchedulerCfg) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{4}
}
func (x *SchedulerCfg) GetConfigs() []*SchedulerConfig {
if x != nil {
return x.Configs
}
return nil
}
// Contact emails will one day be paged in case of problems with the config.
type SchedulerConfig_Contact struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
}
func (x *SchedulerConfig_Contact) Reset() {
*x = SchedulerConfig_Contact{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_Contact) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_Contact) ProtoMessage() {}
func (x *SchedulerConfig_Contact) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulerConfig_Contact.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_Contact) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 0}
}
func (x *SchedulerConfig_Contact) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
// LaunchCriteria specifies when the suite should be launched.
type SchedulerConfig_LaunchCriteria struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LaunchProfile SchedulerConfig_LaunchCriteria_LaunchProfile `protobuf:"varint,1,opt,name=launch_profile,json=launchProfile,proto3,enum=testplans.SchedulerConfig_LaunchCriteria_LaunchProfile" json:"launch_profile,omitempty"`
// Hour at which to run. Needs to be specified for nightly and weekly profiles.
// Has to be [0, 23].
Hour int32 `protobuf:"varint,2,opt,name=hour,proto3" json:"hour,omitempty"`
// Day on which to run. Needs to be specified for weekly profile.
// Has to be [0, 6].
Day int32 `protobuf:"varint,3,opt,name=day,proto3" json:"day,omitempty"`
// NOT SUPPORTED. Cron compatible schedule eg: "* * 1,3,5 * *".
CronSchedule string `protobuf:"bytes,4,opt,name=cron_schedule,json=cronSchedule,proto3" json:"cron_schedule,omitempty"`
}
func (x *SchedulerConfig_LaunchCriteria) Reset() {
*x = SchedulerConfig_LaunchCriteria{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_LaunchCriteria) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_LaunchCriteria) ProtoMessage() {}
func (x *SchedulerConfig_LaunchCriteria) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulerConfig_LaunchCriteria.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_LaunchCriteria) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 1}
}
func (x *SchedulerConfig_LaunchCriteria) GetLaunchProfile() SchedulerConfig_LaunchCriteria_LaunchProfile {
if x != nil {
return x.LaunchProfile
}
return SchedulerConfig_LaunchCriteria_UNSPECIFIED
}
func (x *SchedulerConfig_LaunchCriteria) GetHour() int32 {
if x != nil {
return x.Hour
}
return 0
}
func (x *SchedulerConfig_LaunchCriteria) GetDay() int32 {
if x != nil {
return x.Day
}
return 0
}
func (x *SchedulerConfig_LaunchCriteria) GetCronSchedule() string {
if x != nil {
return x.CronSchedule
}
return ""
}
// Set of boards, variants and models to target.
type SchedulerConfig_TargetOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Use at the most one among the two fields below. If boards_list is empty,
// all boards are targeted. exclude_boards will exclude those boards from
// the all boards list.
BoardsList []string `protobuf:"bytes,1,rep,name=boards_list,json=boardsList,proto3" json:"boards_list,omitempty"`
ExcludeBoards []string `protobuf:"bytes,2,rep,name=exclude_boards,json=excludeBoards,proto3" json:"exclude_boards,omitempty"`
// To specify variants, either all variants can be skipped.
SkipVariants bool `protobuf:"varint,8,opt,name=skip_variants,json=skipVariants,proto3" json:"skip_variants,omitempty"`
// OR use at the most one among the two fields below. If variants_list is empty,
// all variants are targeted. exclude_variants will exclude those variants
// from the all variants list.
VariantsList []*BoardVariant `protobuf:"bytes,3,rep,name=variants_list,json=variantsList,proto3" json:"variants_list,omitempty"`
ExcludeVariants []*BoardVariant `protobuf:"bytes,4,rep,name=exclude_variants,json=excludeVariants,proto3" json:"exclude_variants,omitempty"`
// There's two ways of specifying models. If all of these fields are empty,
// all possible models are targeted.
// Models to be targeted can be listed explicitly in models_list.
ModelsList []string `protobuf:"bytes,5,rep,name=models_list,json=modelsList,proto3" json:"models_list,omitempty"`
// OR start with the complete list and exclude some specific models.
// any_model only tests the suite on a single model.
AnyModel bool `protobuf:"varint,6,opt,name=any_model,json=anyModel,proto3" json:"any_model,omitempty"`
ExcludeModels []string `protobuf:"bytes,7,rep,name=exclude_models,json=excludeModels,proto3" json:"exclude_models,omitempty"`
}
func (x *SchedulerConfig_TargetOptions) Reset() {
*x = SchedulerConfig_TargetOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_TargetOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_TargetOptions) ProtoMessage() {}
func (x *SchedulerConfig_TargetOptions) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulerConfig_TargetOptions.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_TargetOptions) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 2}
}
func (x *SchedulerConfig_TargetOptions) GetBoardsList() []string {
if x != nil {
return x.BoardsList
}
return nil
}
func (x *SchedulerConfig_TargetOptions) GetExcludeBoards() []string {
if x != nil {
return x.ExcludeBoards
}
return nil
}
func (x *SchedulerConfig_TargetOptions) GetSkipVariants() bool {
if x != nil {
return x.SkipVariants
}
return false
}
func (x *SchedulerConfig_TargetOptions) GetVariantsList() []*BoardVariant {
if x != nil {
return x.VariantsList
}
return nil
}
func (x *SchedulerConfig_TargetOptions) GetExcludeVariants() []*BoardVariant {
if x != nil {
return x.ExcludeVariants
}
return nil
}
func (x *SchedulerConfig_TargetOptions) GetModelsList() []string {
if x != nil {
return x.ModelsList
}
return nil
}
func (x *SchedulerConfig_TargetOptions) GetAnyModel() bool {
if x != nil {
return x.AnyModel
}
return false
}
func (x *SchedulerConfig_TargetOptions) GetExcludeModels() []string {
if x != nil {
return x.ExcludeModels
}
return nil
}
// Aggregate of options related to DUT pool.
type SchedulerConfig_PoolOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Quota Scheduler account to use.
QsAccount string `protobuf:"bytes,1,opt,name=qs_account,json=qsAccount,proto3" json:"qs_account,omitempty"`
// Pool to schedule on.
Pool string `protobuf:"bytes,2,opt,name=pool,proto3" json:"pool,omitempty"`
// Integer priority to assign. Only used by CTS. Quota scheduler takes care of
// priorities for the rest. Has to be [20, 255].
Priority int32 `protobuf:"varint,3,opt,name=priority,proto3" json:"priority,omitempty"`
}
func (x *SchedulerConfig_PoolOptions) Reset() {
*x = SchedulerConfig_PoolOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_PoolOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_PoolOptions) ProtoMessage() {}
func (x *SchedulerConfig_PoolOptions) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulerConfig_PoolOptions.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_PoolOptions) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 3}
}
func (x *SchedulerConfig_PoolOptions) GetQsAccount() string {
if x != nil {
return x.QsAccount
}
return ""
}
func (x *SchedulerConfig_PoolOptions) GetPool() string {
if x != nil {
return x.Pool
}
return ""
}
func (x *SchedulerConfig_PoolOptions) GetPriority() int32 {
if x != nil {
return x.Priority
}
return 0
}
// Execution related options.
type SchedulerConfig_RunOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Whether to retry if the task fails.
Retry bool `protobuf:"varint,1,opt,name=retry,proto3" json:"retry,omitempty"`
Dimensions []*SchedulerConfig_RunOptions_SwarmingDimension `protobuf:"bytes,2,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
// Timeout of the task.
TimeoutMins int32 `protobuf:"varint,3,opt,name=timeout_mins,json=timeoutMins,proto3" json:"timeout_mins,omitempty"`
// If sanity HW test passed, launch this test. Irrespective of the release build's
// final status.
OnlySanityTestRequired bool `protobuf:"varint,4,opt,name=only_sanity_test_required,json=onlySanityTestRequired,proto3" json:"only_sanity_test_required,omitempty"`
// The options are primary and all, which indicate whether we want to trigger this test
// whenever there is a new build for the primary board or only run the test when
// every board in a group has a new build.
TriggerType string `protobuf:"bytes,5,opt,name=trigger_type,json=triggerType,proto3" json:"trigger_type,omitempty"`
}
func (x *SchedulerConfig_RunOptions) Reset() {
*x = SchedulerConfig_RunOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_RunOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_RunOptions) ProtoMessage() {}
func (x *SchedulerConfig_RunOptions) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulerConfig_RunOptions.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_RunOptions) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 4}
}
func (x *SchedulerConfig_RunOptions) GetRetry() bool {
if x != nil {
return x.Retry
}
return false
}
func (x *SchedulerConfig_RunOptions) GetDimensions() []*SchedulerConfig_RunOptions_SwarmingDimension {
if x != nil {
return x.Dimensions
}
return nil
}
func (x *SchedulerConfig_RunOptions) GetTimeoutMins() int32 {
if x != nil {
return x.TimeoutMins
}
return 0
}
func (x *SchedulerConfig_RunOptions) GetOnlySanityTestRequired() bool {
if x != nil {
return x.OnlySanityTestRequired
}
return false
}
func (x *SchedulerConfig_RunOptions) GetTriggerType() string {
if x != nil {
return x.TriggerType
}
return ""
}
// A list of extra labels/dimensions to attach.
// Extra Swarming Dimensions that can be specified.
type SchedulerConfig_RunOptions_SwarmingDimension struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *SchedulerConfig_RunOptions_SwarmingDimension) Reset() {
*x = SchedulerConfig_RunOptions_SwarmingDimension{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_RunOptions_SwarmingDimension) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_RunOptions_SwarmingDimension) ProtoMessage() {}
func (x *SchedulerConfig_RunOptions_SwarmingDimension) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulerConfig_RunOptions_SwarmingDimension.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_RunOptions_SwarmingDimension) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 4, 0}
}
func (x *SchedulerConfig_RunOptions_SwarmingDimension) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *SchedulerConfig_RunOptions_SwarmingDimension) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
var File_testplans_suite_scheduler_proto protoreflect.FileDescriptor
var file_testplans_suite_scheduler_proto_rawDesc = []byte{
0x0a, 0x1f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2f, 0x73, 0x75, 0x69, 0x74,
0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x09, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x22, 0x4f, 0x0a, 0x05,
0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x72,
0x69, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x72,
0x69, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18,
0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x22, 0x35, 0x0a,
0x09, 0x4c, 0x61, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x6f,
0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x65, 0x73,
0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x06, 0x62, 0x6f,
0x61, 0x72, 0x64, 0x73, 0x22, 0x3e, 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x56, 0x61, 0x72,
0x69, 0x61, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x61,
0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x61, 0x72,
0x69, 0x61, 0x6e, 0x74, 0x22, 0xdb, 0x0d, 0x0a, 0x0f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x73, 0x75, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x75, 0x69,
0x74, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x18, 0x03,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73,
0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63,
0x74, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x63, 0x72, 0x69,
0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x65,
0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x43, 0x72,
0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x0e, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x43, 0x72,
0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x2d, 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68,
0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70,
0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x08, 0x62, 0x72, 0x61,
0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x0c, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74,
0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0x5e, 0x0a, 0x16, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x6f,
0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69,
0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x13, 0x66, 0x69,
0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x6f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x70, 0x65,
0x63, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61,
0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x52, 0x75, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x72,
0x75, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6e, 0x61,
0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4e, 0x61, 0x6d, 0x65,
0x1a, 0x1f, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65,
0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69,
0x6c, 0x1a, 0x93, 0x02, 0x0a, 0x0e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x43, 0x72, 0x69, 0x74,
0x65, 0x72, 0x69, 0x61, 0x12, 0x5e, 0x0a, 0x0e, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x70,
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x74,
0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x43,
0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x72,
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0d, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x72, 0x6f,
0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72,
0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22,
0x56, 0x0a, 0x0d, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, 0x01,
0x12, 0x09, 0x0a, 0x05, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x57,
0x45, 0x45, 0x4b, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x52, 0x4f, 0x4e, 0x5f,
0x42, 0x41, 0x53, 0x45, 0x44, 0x10, 0x04, 0x1a, 0xe3, 0x02, 0x0a, 0x0d, 0x54, 0x61, 0x72, 0x67,
0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x61,
0x72, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a,
0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64,
0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e,
0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x56, 0x61,
0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x0d, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e,
0x74, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x56,
0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x0c, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73,
0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64,
0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65,
0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x65,
0x6c, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d,
0x6f, 0x64, 0x65, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x79,
0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6e,
0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d,
0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x1a, 0x5c, 0x0a,
0x0b, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
0x71, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x71, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70,
0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x12,
0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x1a, 0xb9, 0x02, 0x0a, 0x0a,
0x52, 0x75, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65,
0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, 0x74, 0x72, 0x79,
0x12, 0x57, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73,
0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x52, 0x75, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x77, 0x61, 0x72,
0x6d, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x64,
0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d,
0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x69, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x19,
0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x65, 0x73, 0x74,
0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
0x16, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x65, 0x73, 0x74, 0x52,
0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67,
0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74,
0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x3b, 0x0a, 0x11, 0x53, 0x77,
0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x39, 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x6d, 0x77,
0x61, 0x72, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53,
0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x52,
0x4f, 0x53, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x49, 0x52, 0x4d, 0x57, 0x41, 0x52, 0x45,
0x10, 0x02, 0x22, 0x44, 0x0a, 0x0c, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43,
0x66, 0x67, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e,
0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2a, 0x4b, 0x0a, 0x06, 0x42, 0x72, 0x61, 0x6e,
0x63, 0x68, 0x12, 0x16, 0x0a, 0x12, 0x42, 0x52, 0x41, 0x4e, 0x43, 0x48, 0x5f, 0x55, 0x4e, 0x53,
0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x41,
0x4e, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x45, 0x56, 0x10, 0x02, 0x12,
0x08, 0x0a, 0x04, 0x42, 0x45, 0x54, 0x41, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x41,
0x42, 0x4c, 0x45, 0x10, 0x04, 0x42, 0x35, 0x5a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f,
0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
0x6d, 0x6f, 0x73, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
0x67, 0x6f, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_testplans_suite_scheduler_proto_rawDescOnce sync.Once
file_testplans_suite_scheduler_proto_rawDescData = file_testplans_suite_scheduler_proto_rawDesc
)
func file_testplans_suite_scheduler_proto_rawDescGZIP() []byte {
file_testplans_suite_scheduler_proto_rawDescOnce.Do(func() {
file_testplans_suite_scheduler_proto_rawDescData = protoimpl.X.CompressGZIP(file_testplans_suite_scheduler_proto_rawDescData)
})
return file_testplans_suite_scheduler_proto_rawDescData
}
var file_testplans_suite_scheduler_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_testplans_suite_scheduler_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_testplans_suite_scheduler_proto_goTypes = []interface{}{
(Branch)(0), // 0: testplans.Branch
(SchedulerConfig_FirmwareBranch)(0), // 1: testplans.SchedulerConfig.FirmwareBranch
(SchedulerConfig_LaunchCriteria_LaunchProfile)(0), // 2: testplans.SchedulerConfig.LaunchCriteria.LaunchProfile
(*Board)(nil), // 3: testplans.Board
(*LabConfig)(nil), // 4: testplans.LabConfig
(*BoardVariant)(nil), // 5: testplans.BoardVariant
(*SchedulerConfig)(nil), // 6: testplans.SchedulerConfig
(*SchedulerCfg)(nil), // 7: testplans.SchedulerCfg
(*SchedulerConfig_Contact)(nil), // 8: testplans.SchedulerConfig.Contact
(*SchedulerConfig_LaunchCriteria)(nil), // 9: testplans.SchedulerConfig.LaunchCriteria
(*SchedulerConfig_TargetOptions)(nil), // 10: testplans.SchedulerConfig.TargetOptions
(*SchedulerConfig_PoolOptions)(nil), // 11: testplans.SchedulerConfig.PoolOptions
(*SchedulerConfig_RunOptions)(nil), // 12: testplans.SchedulerConfig.RunOptions
(*SchedulerConfig_RunOptions_SwarmingDimension)(nil), // 13: testplans.SchedulerConfig.RunOptions.SwarmingDimension
}
var file_testplans_suite_scheduler_proto_depIdxs = []int32{
3, // 0: testplans.LabConfig.boards:type_name -> testplans.Board
8, // 1: testplans.SchedulerConfig.contacts:type_name -> testplans.SchedulerConfig.Contact
9, // 2: testplans.SchedulerConfig.launch_criteria:type_name -> testplans.SchedulerConfig.LaunchCriteria
0, // 3: testplans.SchedulerConfig.branches:type_name -> testplans.Branch
10, // 4: testplans.SchedulerConfig.target_options:type_name -> testplans.SchedulerConfig.TargetOptions
11, // 5: testplans.SchedulerConfig.pool_options:type_name -> testplans.SchedulerConfig.PoolOptions
1, // 6: testplans.SchedulerConfig.firmware_ro_build_spec:type_name -> testplans.SchedulerConfig.FirmwareBranch
12, // 7: testplans.SchedulerConfig.run_options:type_name -> testplans.SchedulerConfig.RunOptions
6, // 8: testplans.SchedulerCfg.configs:type_name -> testplans.SchedulerConfig
2, // 9: testplans.SchedulerConfig.LaunchCriteria.launch_profile:type_name -> testplans.SchedulerConfig.LaunchCriteria.LaunchProfile
5, // 10: testplans.SchedulerConfig.TargetOptions.variants_list:type_name -> testplans.BoardVariant
5, // 11: testplans.SchedulerConfig.TargetOptions.exclude_variants:type_name -> testplans.BoardVariant
13, // 12: testplans.SchedulerConfig.RunOptions.dimensions:type_name -> testplans.SchedulerConfig.RunOptions.SwarmingDimension
13, // [13:13] is the sub-list for method output_type
13, // [13:13] is the sub-list for method input_type
13, // [13:13] is the sub-list for extension type_name
13, // [13:13] is the sub-list for extension extendee
0, // [0:13] is the sub-list for field type_name
}
func init() { file_testplans_suite_scheduler_proto_init() }
func file_testplans_suite_scheduler_proto_init() {
if File_testplans_suite_scheduler_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_testplans_suite_scheduler_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Board); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LabConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BoardVariant); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerCfg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_Contact); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_LaunchCriteria); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_TargetOptions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_PoolOptions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_RunOptions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_RunOptions_SwarmingDimension); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_testplans_suite_scheduler_proto_rawDesc,
NumEnums: 3,
NumMessages: 11,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_testplans_suite_scheduler_proto_goTypes,
DependencyIndexes: file_testplans_suite_scheduler_proto_depIdxs,
EnumInfos: file_testplans_suite_scheduler_proto_enumTypes,
MessageInfos: file_testplans_suite_scheduler_proto_msgTypes,
}.Build()
File_testplans_suite_scheduler_proto = out.File
file_testplans_suite_scheduler_proto_rawDesc = nil
file_testplans_suite_scheduler_proto_goTypes = nil
file_testplans_suite_scheduler_proto_depIdxs = nil
}