Skip to content

Commit 5ab5f20

Browse files
jeroptekton-robot
authored andcommitted
TEP-0090: Matrix - Max Matrix Combinations Count is 256
[TEP-0090: Matrix][tep-0090] proposed executing a `PipelineTask` in parallel `TaskRuns` and `Runs` with substitutions from combinations of `Parameters` in a `Matrix`. In #4947, we implemented the [concurrency controls][cc]. In this change, we implemented that the default value is 256 if it's not specified by the user. [tep-0090]: https://github.com/tektoncd/community/blob/main/teps/0090-matrix.md [cc]: https://github.com/tektoncd/community/blob/main/teps/0090-matrix.md#concurrency-control
1 parent 9c2da98 commit 5ab5f20

File tree

2 files changed

+28
-19
lines changed

2 files changed

+28
-19
lines changed

pkg/apis/config/default.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ const (
3939
DefaultManagedByLabelValue = "tekton-pipelines"
4040
// DefaultCloudEventSinkValue is the default value for cloud event sinks.
4141
DefaultCloudEventSinkValue = ""
42+
// DefaultMaxMatrixCombinationsCount is used when no max matrix combinations count is specified.
43+
DefaultMaxMatrixCombinationsCount = 256
4244

4345
defaultTimeoutMinutesKey = "default-timeout-minutes"
4446
defaultServiceAccountKey = "default-service-account"
@@ -88,16 +90,18 @@ func (cfg *Defaults) Equals(other *Defaults) bool {
8890
other.DefaultPodTemplate.Equals(cfg.DefaultPodTemplate) &&
8991
other.DefaultAAPodTemplate.Equals(cfg.DefaultAAPodTemplate) &&
9092
other.DefaultCloudEventsSink == cfg.DefaultCloudEventsSink &&
91-
other.DefaultTaskRunWorkspaceBinding == cfg.DefaultTaskRunWorkspaceBinding
93+
other.DefaultTaskRunWorkspaceBinding == cfg.DefaultTaskRunWorkspaceBinding &&
94+
other.DefaultMaxMatrixCombinationsCount == cfg.DefaultMaxMatrixCombinationsCount
9295
}
9396

9497
// NewDefaultsFromMap returns a Config given a map corresponding to a ConfigMap
9598
func NewDefaultsFromMap(cfgMap map[string]string) (*Defaults, error) {
9699
tc := Defaults{
97-
DefaultTimeoutMinutes: DefaultTimeoutMinutes,
98-
DefaultServiceAccount: DefaultServiceAccountValue,
99-
DefaultManagedByLabelValue: DefaultManagedByLabelValue,
100-
DefaultCloudEventsSink: DefaultCloudEventSinkValue,
100+
DefaultTimeoutMinutes: DefaultTimeoutMinutes,
101+
DefaultServiceAccount: DefaultServiceAccountValue,
102+
DefaultManagedByLabelValue: DefaultManagedByLabelValue,
103+
DefaultCloudEventsSink: DefaultCloudEventSinkValue,
104+
DefaultMaxMatrixCombinationsCount: DefaultMaxMatrixCombinationsCount,
101105
}
102106

103107
if defaultTimeoutMin, ok := cfgMap[defaultTimeoutMinutesKey]; ok {

pkg/apis/config/default_test.go

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,10 @@ func TestNewDefaultsFromConfigMap(t *testing.T) {
3636
testCases := []testCase{
3737
{
3838
expectedConfig: &config.Defaults{
39-
DefaultTimeoutMinutes: 50,
40-
DefaultServiceAccount: "tekton",
41-
DefaultManagedByLabelValue: "something-else",
39+
DefaultTimeoutMinutes: 50,
40+
DefaultServiceAccount: "tekton",
41+
DefaultManagedByLabelValue: "something-else",
42+
DefaultMaxMatrixCombinationsCount: 256,
4243
},
4344
fileName: config.GetDefaultsConfigName(),
4445
},
@@ -57,6 +58,7 @@ func TestNewDefaultsFromConfigMap(t *testing.T) {
5758
"label": "value2",
5859
},
5960
},
61+
DefaultMaxMatrixCombinationsCount: 256,
6062
},
6163
fileName: "config-defaults-with-pod-template",
6264
},
@@ -71,20 +73,22 @@ func TestNewDefaultsFromConfigMap(t *testing.T) {
7173
expectedError: false,
7274
fileName: "config-defaults-pod-template-err",
7375
expectedConfig: &config.Defaults{
74-
DefaultTimeoutMinutes: 50,
75-
DefaultServiceAccount: "tekton",
76-
DefaultManagedByLabelValue: config.DefaultManagedByLabelValue,
77-
DefaultPodTemplate: &pod.Template{},
76+
DefaultTimeoutMinutes: 50,
77+
DefaultServiceAccount: "tekton",
78+
DefaultManagedByLabelValue: config.DefaultManagedByLabelValue,
79+
DefaultPodTemplate: &pod.Template{},
80+
DefaultMaxMatrixCombinationsCount: 256,
7881
},
7982
},
8083
{
8184
expectedError: false,
8285
fileName: "config-defaults-aa-pod-template-err",
8386
expectedConfig: &config.Defaults{
84-
DefaultTimeoutMinutes: 50,
85-
DefaultServiceAccount: "tekton",
86-
DefaultManagedByLabelValue: config.DefaultManagedByLabelValue,
87-
DefaultAAPodTemplate: &pod.AffinityAssistantTemplate{},
87+
DefaultTimeoutMinutes: 50,
88+
DefaultServiceAccount: "tekton",
89+
DefaultManagedByLabelValue: config.DefaultManagedByLabelValue,
90+
DefaultAAPodTemplate: &pod.AffinityAssistantTemplate{},
91+
DefaultMaxMatrixCombinationsCount: 256,
8892
},
8993
},
9094
{
@@ -117,9 +121,10 @@ func TestNewDefaultsFromConfigMap(t *testing.T) {
117121
func TestNewDefaultsFromEmptyConfigMap(t *testing.T) {
118122
DefaultsConfigEmptyName := "config-defaults-empty"
119123
expectedConfig := &config.Defaults{
120-
DefaultTimeoutMinutes: 60,
121-
DefaultManagedByLabelValue: "tekton-pipelines",
122-
DefaultServiceAccount: "default",
124+
DefaultTimeoutMinutes: 60,
125+
DefaultManagedByLabelValue: "tekton-pipelines",
126+
DefaultServiceAccount: "default",
127+
DefaultMaxMatrixCombinationsCount: 256,
123128
}
124129
verifyConfigFileWithExpectedConfig(t, DefaultsConfigEmptyName, expectedConfig)
125130
}

0 commit comments

Comments
 (0)