diff --git a/pkg/apis/config/default.go b/pkg/apis/config/default.go index 943406b2dac..aa7656a1fb5 100644 --- a/pkg/apis/config/default.go +++ b/pkg/apis/config/default.go @@ -39,6 +39,8 @@ const ( DefaultManagedByLabelValue = "tekton-pipelines" // DefaultCloudEventSinkValue is the default value for cloud event sinks. DefaultCloudEventSinkValue = "" + // DefaultMaxMatrixCombinationsCount is used when no max matrix combinations count is specified. + DefaultMaxMatrixCombinationsCount = 256 defaultTimeoutMinutesKey = "default-timeout-minutes" defaultServiceAccountKey = "default-service-account" @@ -88,16 +90,18 @@ func (cfg *Defaults) Equals(other *Defaults) bool { other.DefaultPodTemplate.Equals(cfg.DefaultPodTemplate) && other.DefaultAAPodTemplate.Equals(cfg.DefaultAAPodTemplate) && other.DefaultCloudEventsSink == cfg.DefaultCloudEventsSink && - other.DefaultTaskRunWorkspaceBinding == cfg.DefaultTaskRunWorkspaceBinding + other.DefaultTaskRunWorkspaceBinding == cfg.DefaultTaskRunWorkspaceBinding && + other.DefaultMaxMatrixCombinationsCount == cfg.DefaultMaxMatrixCombinationsCount } // NewDefaultsFromMap returns a Config given a map corresponding to a ConfigMap func NewDefaultsFromMap(cfgMap map[string]string) (*Defaults, error) { tc := Defaults{ - DefaultTimeoutMinutes: DefaultTimeoutMinutes, - DefaultServiceAccount: DefaultServiceAccountValue, - DefaultManagedByLabelValue: DefaultManagedByLabelValue, - DefaultCloudEventsSink: DefaultCloudEventSinkValue, + DefaultTimeoutMinutes: DefaultTimeoutMinutes, + DefaultServiceAccount: DefaultServiceAccountValue, + DefaultManagedByLabelValue: DefaultManagedByLabelValue, + DefaultCloudEventsSink: DefaultCloudEventSinkValue, + DefaultMaxMatrixCombinationsCount: DefaultMaxMatrixCombinationsCount, } if defaultTimeoutMin, ok := cfgMap[defaultTimeoutMinutesKey]; ok { diff --git a/pkg/apis/config/default_test.go b/pkg/apis/config/default_test.go index 7fdcbef70d4..eccd7beedf7 100644 --- a/pkg/apis/config/default_test.go +++ b/pkg/apis/config/default_test.go @@ -36,9 +36,10 @@ func TestNewDefaultsFromConfigMap(t *testing.T) { testCases := []testCase{ { expectedConfig: &config.Defaults{ - DefaultTimeoutMinutes: 50, - DefaultServiceAccount: "tekton", - DefaultManagedByLabelValue: "something-else", + DefaultTimeoutMinutes: 50, + DefaultServiceAccount: "tekton", + DefaultManagedByLabelValue: "something-else", + DefaultMaxMatrixCombinationsCount: 256, }, fileName: config.GetDefaultsConfigName(), }, @@ -57,6 +58,7 @@ func TestNewDefaultsFromConfigMap(t *testing.T) { "label": "value2", }, }, + DefaultMaxMatrixCombinationsCount: 256, }, fileName: "config-defaults-with-pod-template", }, @@ -71,20 +73,22 @@ func TestNewDefaultsFromConfigMap(t *testing.T) { expectedError: false, fileName: "config-defaults-pod-template-err", expectedConfig: &config.Defaults{ - DefaultTimeoutMinutes: 50, - DefaultServiceAccount: "tekton", - DefaultManagedByLabelValue: config.DefaultManagedByLabelValue, - DefaultPodTemplate: &pod.Template{}, + DefaultTimeoutMinutes: 50, + DefaultServiceAccount: "tekton", + DefaultManagedByLabelValue: config.DefaultManagedByLabelValue, + DefaultPodTemplate: &pod.Template{}, + DefaultMaxMatrixCombinationsCount: 256, }, }, { expectedError: false, fileName: "config-defaults-aa-pod-template-err", expectedConfig: &config.Defaults{ - DefaultTimeoutMinutes: 50, - DefaultServiceAccount: "tekton", - DefaultManagedByLabelValue: config.DefaultManagedByLabelValue, - DefaultAAPodTemplate: &pod.AffinityAssistantTemplate{}, + DefaultTimeoutMinutes: 50, + DefaultServiceAccount: "tekton", + DefaultManagedByLabelValue: config.DefaultManagedByLabelValue, + DefaultAAPodTemplate: &pod.AffinityAssistantTemplate{}, + DefaultMaxMatrixCombinationsCount: 256, }, }, { @@ -117,9 +121,10 @@ func TestNewDefaultsFromConfigMap(t *testing.T) { func TestNewDefaultsFromEmptyConfigMap(t *testing.T) { DefaultsConfigEmptyName := "config-defaults-empty" expectedConfig := &config.Defaults{ - DefaultTimeoutMinutes: 60, - DefaultManagedByLabelValue: "tekton-pipelines", - DefaultServiceAccount: "default", + DefaultTimeoutMinutes: 60, + DefaultManagedByLabelValue: "tekton-pipelines", + DefaultServiceAccount: "default", + DefaultMaxMatrixCombinationsCount: 256, } verifyConfigFileWithExpectedConfig(t, DefaultsConfigEmptyName, expectedConfig) }