go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/bisection/internal/config/placeholder_projectconfig_creator.go (about)

     1  // Copyright 2022 The LUCI Authors.
     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  
    15  package config
    16  
    17  import (
    18  	configpb "go.chromium.org/luci/bisection/proto/config"
    19  )
    20  
    21  func CreatePlaceholderProjectConfig() *configpb.ProjectConfig {
    22  	return &configpb.ProjectConfig{
    23  		CompileAnalysisConfig: &configpb.CompileAnalysisConfig{
    24  			BuildConfig:                createPlaceHolderCompileBuildConfig(),
    25  			CulpritVerificationEnabled: true,
    26  			NthsectionEnabled:          true,
    27  			GerritConfig:               createPlaceHolderGerritConfig(),
    28  			FailureIngestionFilter: &configpb.FailureIngestionFilter{
    29  				ExcludedBuilderGroups: []string{"chromium.clang"},
    30  			},
    31  		},
    32  		TestAnalysisConfig: &configpb.TestAnalysisConfig{
    33  			BuildConfig:     createPlaceHolderTestBuildConfig(),
    34  			DetectorEnabled: true,
    35  			BisectorEnabled: true,
    36  			DailyLimit:      10,
    37  			GerritConfig:    createPlaceHolderGerritConfig(),
    38  		},
    39  	}
    40  }
    41  
    42  func createPlaceHolderGerritConfig() *configpb.GerritConfig {
    43  	return &configpb.GerritConfig{
    44  		ActionsEnabled: true,
    45  		CreateRevertSettings: &configpb.GerritConfig_RevertActionSettings{
    46  			Enabled:    true,
    47  			DailyLimit: 1,
    48  		},
    49  		SubmitRevertSettings: &configpb.GerritConfig_RevertActionSettings{
    50  			Enabled:    true,
    51  			DailyLimit: 1,
    52  		},
    53  		MaxRevertibleCulpritAge: 1,
    54  		NthsectionSettings: &configpb.GerritConfig_NthSectionSettings{
    55  			Enabled:                     true,
    56  			ActionWhenVerificationError: false,
    57  		},
    58  	}
    59  }
    60  
    61  func createPlaceHolderCompileBuildConfig() *configpb.BuildConfig {
    62  	return &configpb.BuildConfig{
    63  		Builder: &configpb.Builder{
    64  			Project: "chromium",
    65  			Bucket:  "findit",
    66  			Builder: "gofindit-culprit-verification",
    67  		},
    68  	}
    69  }
    70  
    71  func createPlaceHolderTestBuildConfig() *configpb.BuildConfig {
    72  	return &configpb.BuildConfig{
    73  		Builder: &configpb.Builder{
    74  			Project: "chromium",
    75  			Bucket:  "findit",
    76  			Builder: "test-single-revision",
    77  		},
    78  	}
    79  }