diff --git a/docs/pipeline-api.md b/docs/pipeline-api.md index 7c080cb4f7a..5f65212c624 100644 --- a/docs/pipeline-api.md +++ b/docs/pipeline-api.md @@ -3298,7 +3298,7 @@ string

ResultsType indicates the type of a result; Used to distinguish between a single string and an array of strings. Note that there is ResultType used to find out whether a -PipelineResourceResult is from a task result or not, which is different from +RunResult is from a task result or not, which is different from this ResultsType.

@@ -9795,72 +9795,6 @@ string
-

PipelineResourceResult -

-

-(Appears on:TaskRunStatusFields) -

-
-

PipelineResourceResult is used to write key/value pairs to TaskRun pod termination messages. -The key/value pairs may come from the entrypoint binary, or represent a TaskRunResult. -If they represent a TaskRunResult, the key is the name of the result and the value is the -JSON-serialized value of the result. -TODO(#6197): Rename this struct

-
- - - - - - - - - - - - - - - - - - - - - - - - - -
FieldDescription
-key
- -string - -
-
-value
- -string - -
-
-resourceName
- -string - -
-

ResourceName may be used in tests, but it is not populated in termination messages. -It is preserved here for backwards compatibility and will not be ported to v1.

-
-type
- - -ResultType - - -
-

PipelineResult

@@ -11424,10 +11358,10 @@ string

ResultType (int alias)

-(Appears on:PipelineResourceResult) +(Appears on:RunResult)

-

ResultType used to find out whether a PipelineResourceResult is from a task result or not +

ResultType used to find out whether a RunResult is from a task result or not Note that ResultsType is another type which is used to define the data type (e.g. string, array, etc) we used for Results

@@ -11440,7 +11374,7 @@ Note that ResultsType is another type which is used to define the data type

ResultsType indicates the type of a result; Used to distinguish between a single string and an array of strings. Note that there is ResultType used to find out whether a -PipelineResourceResult is from a task result or not, which is different from +RunResult is from a task result or not, which is different from this ResultsType.

RunObject @@ -11448,6 +11382,71 @@ this ResultsType.

RunObject is implemented by CustomRun and Run

+

RunResult +

+

+(Appears on:TaskRunStatusFields) +

+
+

RunResult is used to write key/value pairs to TaskRun pod termination messages. +The key/value pairs may come from the entrypoint binary, or represent a TaskRunResult. +If they represent a TaskRunResult, the key is the name of the result and the value is the +JSON-serialized value of the result.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+key
+ +string + +
+
+value
+ +string + +
+
+resourceName
+ +string + +
+

ResourceName may be used in tests, but it is not populated in termination messages. +It is preserved here for backwards compatibility and will not be ported to v1.

+
+type
+ + +ResultType + + +
+

Sidecar

@@ -13894,8 +13893,8 @@ All TaskRunStatus stored in RetriesStatus will have no date within the RetriesSt resourcesResult
- -[]PipelineResourceResult + +[]RunResult diff --git a/hack/ignored-openapi-violations.list b/hack/ignored-openapi-violations.list index a7dc6800867..829150074e6 100644 --- a/hack/ignored-openapi-violations.list +++ b/hack/ignored-openapi-violations.list @@ -2,7 +2,7 @@ # They are in the specific order they are printed out by k8s.io/kube-openapi/cmd/openapi-gen. # No additional violations should be added to this ignored list. API rule violation: names_match,github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1,CloudEventDeliveryState,Error -API rule violation: names_match,github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1,PipelineResourceResult,ResultType +API rule violation: names_match,github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1,RunResult,ResultType API rule violation: names_match,github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1,PipelineTask,WhenExpressions API rule violation: names_match,github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1,SidecarState,ContainerName API rule violation: names_match,github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1,StepState,ContainerName diff --git a/internal/sidecarlogresults/sidecarlogresults.go b/internal/sidecarlogresults/sidecarlogresults.go index a94c78541b2..de5965db9dd 100644 --- a/internal/sidecarlogresults/sidecarlogresults.go +++ b/internal/sidecarlogresults/sidecarlogresults.go @@ -137,8 +137,8 @@ func LookForResults(w io.Writer, runDir string, resultsDir string, resultNames [ } // GetResultsFromSidecarLogs extracts results from the logs of the results sidecar -func GetResultsFromSidecarLogs(ctx context.Context, clientset kubernetes.Interface, namespace string, name string, container string, podPhase corev1.PodPhase) ([]v1beta1.PipelineResourceResult, error) { - sidecarLogResults := []v1beta1.PipelineResourceResult{} +func GetResultsFromSidecarLogs(ctx context.Context, clientset kubernetes.Interface, namespace string, name string, container string, podPhase corev1.PodPhase) ([]v1beta1.RunResult, error) { + sidecarLogResults := []v1beta1.RunResult{} if podPhase == corev1.PodPending { return sidecarLogResults, nil } @@ -153,7 +153,7 @@ func GetResultsFromSidecarLogs(ctx context.Context, clientset kubernetes.Interfa return extractResultsFromLogs(sidecarLogs, sidecarLogResults, maxResultLimit) } -func extractResultsFromLogs(logs io.Reader, sidecarLogResults []v1beta1.PipelineResourceResult, maxResultLimit int) ([]v1beta1.PipelineResourceResult, error) { +func extractResultsFromLogs(logs io.Reader, sidecarLogResults []v1beta1.RunResult, maxResultLimit int) ([]v1beta1.RunResult, error) { scanner := bufio.NewScanner(logs) buf := make([]byte, maxResultLimit) scanner.Buffer(buf, maxResultLimit) @@ -174,8 +174,8 @@ func extractResultsFromLogs(logs io.Reader, sidecarLogResults []v1beta1.Pipeline return sidecarLogResults, nil } -func parseResults(resultBytes []byte, maxResultLimit int) (v1beta1.PipelineResourceResult, error) { - result := v1beta1.PipelineResourceResult{} +func parseResults(resultBytes []byte, maxResultLimit int) (v1beta1.RunResult, error) { + result := v1beta1.RunResult{} if len(resultBytes) > maxResultLimit { return result, ErrSizeExceeded } @@ -184,7 +184,7 @@ func parseResults(resultBytes []byte, maxResultLimit int) (v1beta1.PipelineResou if err := json.Unmarshal(resultBytes, &res); err != nil { return result, fmt.Errorf("Invalid result %w", err) } - result = v1beta1.PipelineResourceResult{ + result = v1beta1.RunResult{ Key: res.Name, Value: res.Value, ResultType: v1beta1.TaskRunResultType, diff --git a/internal/sidecarlogresults/sidecarlogresults_test.go b/internal/sidecarlogresults/sidecarlogresults_test.go index 921e6088f82..35e767fa802 100644 --- a/internal/sidecarlogresults/sidecarlogresults_test.go +++ b/internal/sidecarlogresults/sidecarlogresults_test.go @@ -147,11 +147,11 @@ func TestExtractResultsFromLogs(t *testing.T) { } logs := strings.NewReader(podLogs) - results, err := extractResultsFromLogs(logs, []v1beta1.PipelineResourceResult{}, 4096) + results, err := extractResultsFromLogs(logs, []v1beta1.RunResult{}, 4096) if err != nil { t.Error(err) } - want := []v1beta1.PipelineResourceResult{ + want := []v1beta1.RunResult{ { Key: "result1", Value: "foo", @@ -181,7 +181,7 @@ func TestExtractResultsFromLogs_Failure(t *testing.T) { } logs := strings.NewReader(podLogs) - _, err := extractResultsFromLogs(logs, []v1beta1.PipelineResourceResult{}, 4096) + _, err := extractResultsFromLogs(logs, []v1beta1.RunResult{}, 4096) if !errors.Is(err, ErrSizeExceeded) { t.Fatalf("Expected error %v but got %v", ErrSizeExceeded, err) } @@ -205,7 +205,7 @@ func TestParseResults(t *testing.T) { res, _ := json.Marshal(&r) podLogs = append(podLogs, string(res)) } - want := []v1beta1.PipelineResourceResult{{ + want := []v1beta1.RunResult{{ Key: "result1", Value: "foo", ResultType: v1beta1.TaskRunResultType, @@ -218,7 +218,7 @@ func TestParseResults(t *testing.T) { Value: `["hello","world"]`, ResultType: v1beta1.TaskRunResultType, }} - stepResults := []v1beta1.PipelineResourceResult{} + stepResults := []v1beta1.RunResult{} for _, plog := range podLogs { res, err := parseResults([]byte(plog), 4096) if err != nil { diff --git a/pkg/apis/pipeline/v1/result_types.go b/pkg/apis/pipeline/v1/result_types.go index a64c867f225..3a5b97d9190 100644 --- a/pkg/apis/pipeline/v1/result_types.go +++ b/pkg/apis/pipeline/v1/result_types.go @@ -54,7 +54,7 @@ type ResultValue = ParamValue // ResultsType indicates the type of a result; // Used to distinguish between a single string and an array of strings. // Note that there is ResultType used to find out whether a -// PipelineResourceResult is from a task result or not, which is different from +// RunResult is from a task result or not, which is different from // this ResultsType. type ResultsType string diff --git a/pkg/apis/pipeline/v1beta1/openapi_generated.go b/pkg/apis/pipeline/v1beta1/openapi_generated.go index dd0dec17bdf..09009416af5 100644 --- a/pkg/apis/pipeline/v1beta1/openapi_generated.go +++ b/pkg/apis/pipeline/v1beta1/openapi_generated.go @@ -55,7 +55,6 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRef": schema_pkg_apis_pipeline_v1beta1_PipelineRef(ref), "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceBinding": schema_pkg_apis_pipeline_v1beta1_PipelineResourceBinding(ref), "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceRef": schema_pkg_apis_pipeline_v1beta1_PipelineResourceRef(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceResult": schema_pkg_apis_pipeline_v1beta1_PipelineResourceResult(ref), "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResult": schema_pkg_apis_pipeline_v1beta1_PipelineResult(ref), "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRun": schema_pkg_apis_pipeline_v1beta1_PipelineRun(ref), "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunList": schema_pkg_apis_pipeline_v1beta1_PipelineRunList(ref), @@ -79,6 +78,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Provenance": schema_pkg_apis_pipeline_v1beta1_Provenance(ref), "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ResolverRef": schema_pkg_apis_pipeline_v1beta1_ResolverRef(ref), "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ResultRef": schema_pkg_apis_pipeline_v1beta1_ResultRef(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.RunResult": schema_pkg_apis_pipeline_v1beta1_RunResult(ref), "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Sidecar": schema_pkg_apis_pipeline_v1beta1_Sidecar(ref), "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.SidecarState": schema_pkg_apis_pipeline_v1beta1_SidecarState(ref), "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.SkippedTask": schema_pkg_apis_pipeline_v1beta1_SkippedTask(ref), @@ -1623,47 +1623,6 @@ func schema_pkg_apis_pipeline_v1beta1_PipelineResourceRef(ref common.ReferenceCa } } -func schema_pkg_apis_pipeline_v1beta1_PipelineResourceResult(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "PipelineResourceResult is used to write key/value pairs to TaskRun pod termination messages. The key/value pairs may come from the entrypoint binary, or represent a TaskRunResult. If they represent a TaskRunResult, the key is the name of the result and the value is the JSON-serialized value of the result.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "key": { - SchemaProps: spec.SchemaProps{ - Default: "", - Type: []string{"string"}, - Format: "", - }, - }, - "value": { - SchemaProps: spec.SchemaProps{ - Default: "", - Type: []string{"string"}, - Format: "", - }, - }, - "resourceName": { - SchemaProps: spec.SchemaProps{ - Description: "ResourceName may be used in tests, but it is not populated in termination messages. It is preserved here for backwards compatibility and will not be ported to v1.", - Type: []string{"string"}, - Format: "", - }, - }, - "type": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - Required: []string{"key", "value"}, - }, - }, - } -} - func schema_pkg_apis_pipeline_v1beta1_PipelineResult(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -3152,6 +3111,47 @@ func schema_pkg_apis_pipeline_v1beta1_ResultRef(ref common.ReferenceCallback) co } } +func schema_pkg_apis_pipeline_v1beta1_RunResult(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "RunResult is used to write key/value pairs to TaskRun pod termination messages. The key/value pairs may come from the entrypoint binary, or represent a TaskRunResult. If they represent a TaskRunResult, the key is the name of the result and the value is the JSON-serialized value of the result.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "key": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "value": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "resourceName": { + SchemaProps: spec.SchemaProps{ + Description: "ResourceName may be used in tests, but it is not populated in termination messages. It is preserved here for backwards compatibility and will not be ported to v1.", + Type: []string{"string"}, + Format: "", + }, + }, + "type": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"key", "value"}, + }, + }, + } +} + func schema_pkg_apis_pipeline_v1beta1_Sidecar(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -5169,7 +5169,7 @@ func schema_pkg_apis_pipeline_v1beta1_TaskRunStatus(ref common.ReferenceCallback Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceResult"), + Ref: ref("github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.RunResult"), }, }, }, @@ -5246,7 +5246,7 @@ func schema_pkg_apis_pipeline_v1beta1_TaskRunStatus(ref common.ReferenceCallback }, }, Dependencies: []string{ - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.CloudEventDelivery", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceResult", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Provenance", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.SidecarState", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.StepState", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunResult", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunStatus", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "knative.dev/pkg/apis.Condition"}, + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.CloudEventDelivery", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Provenance", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.RunResult", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.SidecarState", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.StepState", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunResult", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunStatus", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "knative.dev/pkg/apis.Condition"}, } } @@ -5347,7 +5347,7 @@ func schema_pkg_apis_pipeline_v1beta1_TaskRunStatusFields(ref common.ReferenceCa Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceResult"), + Ref: ref("github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.RunResult"), }, }, }, @@ -5424,7 +5424,7 @@ func schema_pkg_apis_pipeline_v1beta1_TaskRunStatusFields(ref common.ReferenceCa }, }, Dependencies: []string{ - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.CloudEventDelivery", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceResult", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Provenance", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.SidecarState", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.StepState", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunResult", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunStatus", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.CloudEventDelivery", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Provenance", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.RunResult", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.SidecarState", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.StepState", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunResult", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunStatus", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, } } diff --git a/pkg/apis/pipeline/v1beta1/pipelinerun_conversion_test.go b/pkg/apis/pipeline/v1beta1/pipelinerun_conversion_test.go index 68dfe492a58..51845b61973 100644 --- a/pkg/apis/pipeline/v1beta1/pipelinerun_conversion_test.go +++ b/pkg/apis/pipeline/v1beta1/pipelinerun_conversion_test.go @@ -97,7 +97,7 @@ var ( ImageID: "image-id", ContainerName: "sidecar-error", }}, - ResourcesResult: []v1beta1.PipelineResourceResult{{ + ResourcesResult: []v1beta1.RunResult{{ Key: "digest", Value: "sha256:1234", ResourceName: "source-image", diff --git a/pkg/apis/pipeline/v1beta1/resource_types.go b/pkg/apis/pipeline/v1beta1/resource_types.go index 47026a20987..9162a5e9d95 100644 --- a/pkg/apis/pipeline/v1beta1/resource_types.go +++ b/pkg/apis/pipeline/v1beta1/resource_types.go @@ -25,12 +25,11 @@ import ( v1 "k8s.io/api/core/v1" ) -// PipelineResourceResult is used to write key/value pairs to TaskRun pod termination messages. +// RunResult is used to write key/value pairs to TaskRun pod termination messages. // The key/value pairs may come from the entrypoint binary, or represent a TaskRunResult. // If they represent a TaskRunResult, the key is the name of the result and the value is the // JSON-serialized value of the result. -// TODO(#6197): Rename this struct -type PipelineResourceResult struct { +type RunResult struct { Key string `json:"key"` Value string `json:"value"` // ResourceName may be used in tests, but it is not populated in termination messages. @@ -39,7 +38,11 @@ type PipelineResourceResult struct { ResultType ResultType `json:"type,omitempty"` } -// ResultType used to find out whether a PipelineResourceResult is from a task result or not +// PipelineResourceResult has been deprecated with the migration of PipelineResources +// Deprecated: Use RunResult instead +type PipelineResourceResult = RunResult + +// ResultType used to find out whether a RunResult is from a task result or not // Note that ResultsType is another type which is used to define the data type // (e.g. string, array, etc) we used for Results type ResultType int diff --git a/pkg/apis/pipeline/v1beta1/resource_types_test.go b/pkg/apis/pipeline/v1beta1/resource_types_test.go index cdd9afc6b3d..32b501ddfc9 100644 --- a/pkg/apis/pipeline/v1beta1/resource_types_test.go +++ b/pkg/apis/pipeline/v1beta1/resource_types_test.go @@ -58,31 +58,31 @@ func (tm *TestTaskModifier) GetVolumes() []corev1.Volume { return []corev1.Volume{volume} } -func TestPipelineResourceResult_UnmarshalJSON(t *testing.T) { +func TestRunResult_UnmarshalJSON(t *testing.T) { testcases := []struct { name string data string - pr v1beta1.PipelineResourceResult + pr v1beta1.RunResult }{{ name: "type defined as string - TaskRunResult", data: "{\"key\":\"resultName\",\"value\":\"resultValue\", \"type\": \"TaskRunResult\"}", - pr: v1beta1.PipelineResourceResult{Key: "resultName", Value: "resultValue", ResultType: v1beta1.TaskRunResultType}, + pr: v1beta1.RunResult{Key: "resultName", Value: "resultValue", ResultType: v1beta1.TaskRunResultType}, }, { name: "type defined as string - InternalTektonResult", data: "{\"key\":\"resultName\",\"value\":\"\", \"type\": \"InternalTektonResult\"}", - pr: v1beta1.PipelineResourceResult{Key: "resultName", Value: "", ResultType: v1beta1.InternalTektonResultType}, + pr: v1beta1.RunResult{Key: "resultName", Value: "", ResultType: v1beta1.InternalTektonResultType}, }, { name: "type defined as int", data: "{\"key\":\"resultName\",\"value\":\"\", \"type\": 1}", - pr: v1beta1.PipelineResourceResult{Key: "resultName", Value: "", ResultType: v1beta1.TaskRunResultType}, + pr: v1beta1.RunResult{Key: "resultName", Value: "", ResultType: v1beta1.TaskRunResultType}, }} for _, tc := range testcases { t.Run(tc.name, func(t *testing.T) { - pipRes := v1beta1.PipelineResourceResult{} + pipRes := v1beta1.RunResult{} if err := json.Unmarshal([]byte(tc.data), &pipRes); err != nil { - t.Errorf("Unexpected error when unmarshalling the json into PipelineResourceResult") + t.Errorf("Unexpected error when unmarshalling the json into RunResult") } if d := cmp.Diff(tc.pr, pipRes); d != "" { t.Errorf(diff.PrintWantGot(d)) diff --git a/pkg/apis/pipeline/v1beta1/result_types.go b/pkg/apis/pipeline/v1beta1/result_types.go index d71f513c4b3..b4e3764c891 100644 --- a/pkg/apis/pipeline/v1beta1/result_types.go +++ b/pkg/apis/pipeline/v1beta1/result_types.go @@ -54,7 +54,7 @@ type ResultValue = ParamValue // ResultsType indicates the type of a result; // Used to distinguish between a single string and an array of strings. // Note that there is ResultType used to find out whether a -// PipelineResourceResult is from a task result or not, which is different from +// RunResult is from a task result or not, which is different from // this ResultsType. type ResultsType string diff --git a/pkg/apis/pipeline/v1beta1/swagger.json b/pkg/apis/pipeline/v1beta1/swagger.json index bacfd7bcb46..eb11eaf8a26 100644 --- a/pkg/apis/pipeline/v1beta1/swagger.json +++ b/pkg/apis/pipeline/v1beta1/swagger.json @@ -804,32 +804,6 @@ } } }, - "v1beta1.PipelineResourceResult": { - "description": "PipelineResourceResult is used to write key/value pairs to TaskRun pod termination messages. The key/value pairs may come from the entrypoint binary, or represent a TaskRunResult. If they represent a TaskRunResult, the key is the name of the result and the value is the JSON-serialized value of the result.", - "type": "object", - "required": [ - "key", - "value" - ], - "properties": { - "key": { - "type": "string", - "default": "" - }, - "resourceName": { - "description": "ResourceName may be used in tests, but it is not populated in termination messages. It is preserved here for backwards compatibility and will not be ported to v1.", - "type": "string" - }, - "type": { - "type": "integer", - "format": "int32" - }, - "value": { - "type": "string", - "default": "" - } - } - }, "v1beta1.PipelineResult": { "description": "PipelineResult used to describe the results of a pipeline", "type": "object", @@ -1745,6 +1719,32 @@ } } }, + "v1beta1.RunResult": { + "description": "RunResult is used to write key/value pairs to TaskRun pod termination messages. The key/value pairs may come from the entrypoint binary, or represent a TaskRunResult. If they represent a TaskRunResult, the key is the name of the result and the value is the JSON-serialized value of the result.", + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string", + "default": "" + }, + "resourceName": { + "description": "ResourceName may be used in tests, but it is not populated in termination messages. It is preserved here for backwards compatibility and will not be ported to v1.", + "type": "string" + }, + "type": { + "type": "integer", + "format": "int32" + }, + "value": { + "type": "string", + "default": "" + } + } + }, "v1beta1.Sidecar": { "description": "Sidecar has nearly the same data structure as Step but does not have the ability to timeout.", "type": "object", @@ -2817,7 +2817,7 @@ "type": "array", "items": { "default": {}, - "$ref": "#/definitions/v1beta1.PipelineResourceResult" + "$ref": "#/definitions/v1beta1.RunResult" }, "x-kubernetes-list-type": "atomic" }, @@ -2909,7 +2909,7 @@ "type": "array", "items": { "default": {}, - "$ref": "#/definitions/v1beta1.PipelineResourceResult" + "$ref": "#/definitions/v1beta1.RunResult" }, "x-kubernetes-list-type": "atomic" }, diff --git a/pkg/apis/pipeline/v1beta1/task_types.go b/pkg/apis/pipeline/v1beta1/task_types.go index e163fd34140..d4208b73e9c 100644 --- a/pkg/apis/pipeline/v1beta1/task_types.go +++ b/pkg/apis/pipeline/v1beta1/task_types.go @@ -28,7 +28,7 @@ const ( // TaskRunResultType default task run result value TaskRunResultType ResultType = 1 // reserved: 2 - // was PipelineResourceResultType + // was RunResultType // InternalTektonResultType default internal tekton result value InternalTektonResultType = 3 diff --git a/pkg/apis/pipeline/v1beta1/taskrun_conversion.go b/pkg/apis/pipeline/v1beta1/taskrun_conversion.go index 726448ab104..056d69f66b5 100644 --- a/pkg/apis/pipeline/v1beta1/taskrun_conversion.go +++ b/pkg/apis/pipeline/v1beta1/taskrun_conversion.go @@ -381,7 +381,7 @@ func serializeTaskRunResourcesResult(meta *metav1.ObjectMeta, status *TaskRunSta } func deserializeTaskRunResourcesResult(meta *metav1.ObjectMeta, status *TaskRunStatus) error { - resourcesResult := []PipelineResourceResult{} + resourcesResult := []RunResult{} err := version.DeserializeFromMetadata(meta, &resourcesResult, resourcesResultAnnotationKey) if err != nil { return err diff --git a/pkg/apis/pipeline/v1beta1/taskrun_conversion_test.go b/pkg/apis/pipeline/v1beta1/taskrun_conversion_test.go index 53cf3219b2d..036c655a5af 100644 --- a/pkg/apis/pipeline/v1beta1/taskrun_conversion_test.go +++ b/pkg/apis/pipeline/v1beta1/taskrun_conversion_test.go @@ -391,7 +391,7 @@ func TestTaskRunConversionFromDeprecated(t *testing.T) { }, Status: v1beta1.TaskRunStatus{ TaskRunStatusFields: v1beta1.TaskRunStatusFields{ - ResourcesResult: []v1beta1.PipelineResourceResult{{ + ResourcesResult: []v1beta1.RunResult{{ Key: "digest", Value: "sha256:1234", ResourceName: "source-image", @@ -415,7 +415,7 @@ func TestTaskRunConversionFromDeprecated(t *testing.T) { }, Status: v1beta1.TaskRunStatus{ TaskRunStatusFields: v1beta1.TaskRunStatusFields{ - ResourcesResult: []v1beta1.PipelineResourceResult{{ + ResourcesResult: []v1beta1.RunResult{{ Key: "digest", Value: "sha256:1234", ResourceName: "source-image", diff --git a/pkg/apis/pipeline/v1beta1/taskrun_types.go b/pkg/apis/pipeline/v1beta1/taskrun_types.go index 005084b51cb..6dd69285d57 100644 --- a/pkg/apis/pipeline/v1beta1/taskrun_types.go +++ b/pkg/apis/pipeline/v1beta1/taskrun_types.go @@ -254,7 +254,7 @@ type TaskRunStatusFields struct { // the digest of build container images // +optional // +listType=atomic - ResourcesResult []PipelineResourceResult `json:"resourcesResult,omitempty"` + ResourcesResult []RunResult `json:"resourcesResult,omitempty"` // TaskRunResults are the list of results written out by the task's containers // +optional diff --git a/pkg/apis/pipeline/v1beta1/zz_generated.deepcopy.go b/pkg/apis/pipeline/v1beta1/zz_generated.deepcopy.go index c90b2f1b169..49fdf919dba 100644 --- a/pkg/apis/pipeline/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/pipeline/v1beta1/zz_generated.deepcopy.go @@ -734,22 +734,6 @@ func (in *PipelineResourceRef) DeepCopy() *PipelineResourceRef { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PipelineResourceResult) DeepCopyInto(out *PipelineResourceResult) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineResourceResult. -func (in *PipelineResourceResult) DeepCopy() *PipelineResourceResult { - if in == nil { - return nil - } - out := new(PipelineResourceResult) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PipelineResult) DeepCopyInto(out *PipelineResult) { *out = *in @@ -1494,6 +1478,22 @@ func (in *ResultRef) DeepCopy() *ResultRef { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RunResult) DeepCopyInto(out *RunResult) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunResult. +func (in *RunResult) DeepCopy() *RunResult { + if in == nil { + return nil + } + out := new(RunResult) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Sidecar) DeepCopyInto(out *Sidecar) { *out = *in @@ -2336,7 +2336,7 @@ func (in *TaskRunStatusFields) DeepCopyInto(out *TaskRunStatusFields) { } if in.ResourcesResult != nil { in, out := &in.ResourcesResult, &out.ResourcesResult - *out = make([]PipelineResourceResult, len(*in)) + *out = make([]RunResult, len(*in)) copy(*out, *in) } if in.TaskRunResults != nil { diff --git a/pkg/entrypoint/entrypointer.go b/pkg/entrypoint/entrypointer.go index 5e83569cb45..6d7273b5a14 100644 --- a/pkg/entrypoint/entrypointer.go +++ b/pkg/entrypoint/entrypointer.go @@ -112,7 +112,7 @@ func (e Entrypointer) Go() error { prod, _ := zap.NewProduction() logger := prod.Sugar() - output := []v1beta1.PipelineResourceResult{} + output := []v1beta1.RunResult{} defer func() { if wErr := termination.WriteMessage(e.TerminationPath, output); wErr != nil { logger.Fatalf("Error while writing message: %s", wErr) @@ -128,7 +128,7 @@ func (e Entrypointer) Go() error { if !e.BreakpointOnFailure { e.WritePostFile(e.PostFile, err) } - output = append(output, v1beta1.PipelineResourceResult{ + output = append(output, v1beta1.RunResult{ Key: "StartedAt", Value: time.Now().Format(timeFormat), ResultType: v1beta1.InternalTektonResultType, @@ -137,7 +137,7 @@ func (e Entrypointer) Go() error { } } - output = append(output, v1beta1.PipelineResourceResult{ + output = append(output, v1beta1.RunResult{ Key: "StartedAt", Value: time.Now().Format(timeFormat), ResultType: v1beta1.InternalTektonResultType, @@ -158,7 +158,7 @@ func (e Entrypointer) Go() error { } err = e.Runner.Run(ctx, e.Command...) if errors.Is(err, context.DeadlineExceeded) { - output = append(output, v1beta1.PipelineResourceResult{ + output = append(output, v1beta1.RunResult{ Key: "Reason", Value: "TimeoutExceeded", ResultType: v1beta1.InternalTektonResultType, @@ -173,7 +173,7 @@ func (e Entrypointer) Go() error { case e.OnError == ContinueOnError && errors.As(err, &ee): // with continue on error and an ExitError, write non-zero exit code and a post file exitCode := strconv.Itoa(ee.ExitCode()) - output = append(output, v1beta1.PipelineResourceResult{ + output = append(output, v1beta1.RunResult{ Key: "ExitCode", Value: exitCode, ResultType: v1beta1.InternalTektonResultType, @@ -205,7 +205,7 @@ func (e Entrypointer) Go() error { } func (e Entrypointer) readResultsFromDisk(ctx context.Context, resultDir string) error { - output := []v1beta1.PipelineResourceResult{} + output := []v1beta1.RunResult{} for _, resultFile := range e.Results { if resultFile == "" { continue @@ -217,7 +217,7 @@ func (e Entrypointer) readResultsFromDisk(ctx context.Context, resultDir string) return err } // if the file doesn't exist, ignore it - output = append(output, v1beta1.PipelineResourceResult{ + output = append(output, v1beta1.RunResult{ Key: resultFile, Value: string(fileContents), ResultType: v1beta1.TaskRunResultType, diff --git a/pkg/entrypoint/entrypointer_test.go b/pkg/entrypoint/entrypointer_test.go index 7d70033b873..2d6bcfa5275 100644 --- a/pkg/entrypoint/entrypointer_test.go +++ b/pkg/entrypoint/entrypointer_test.go @@ -231,7 +231,7 @@ func TestEntrypointer(t *testing.T) { } fileContents, err := os.ReadFile(terminationPath) if err == nil { - var entries []v1beta1.PipelineResourceResult + var entries []v1beta1.RunResult if err := json.Unmarshal(fileContents, &entries); err == nil { var found = false for _, result := range entries { @@ -259,26 +259,26 @@ func TestReadResultsFromDisk(t *testing.T) { desc string results []string resultContent []v1beta1.ResultValue - want []v1beta1.PipelineResourceResult + want []v1beta1.RunResult }{{ desc: "read string result file", results: []string{"results"}, resultContent: []v1beta1.ResultValue{*v1beta1.NewStructuredValues("hello world")}, - want: []v1beta1.PipelineResourceResult{ + want: []v1beta1.RunResult{ {Value: `"hello world"`, ResultType: 1}}, }, { desc: "read array result file", results: []string{"results"}, resultContent: []v1beta1.ResultValue{*v1beta1.NewStructuredValues("hello", "world")}, - want: []v1beta1.PipelineResourceResult{ + want: []v1beta1.RunResult{ {Value: `["hello","world"]`, ResultType: 1}}, }, { desc: "read string and array result files", results: []string{"resultsArray", "resultsString"}, resultContent: []v1beta1.ResultValue{*v1beta1.NewStructuredValues("hello", "world"), *v1beta1.NewStructuredValues("hello world")}, - want: []v1beta1.PipelineResourceResult{ + want: []v1beta1.RunResult{ {Value: `["hello","world"]`, ResultType: 1}, {Value: `"hello world"`, @@ -567,7 +567,7 @@ func TestEntrypointerResults(t *testing.T) { fileContents, err := os.ReadFile(terminationPath) if err == nil { resultCheck := map[string]bool{} - var entries []v1beta1.PipelineResourceResult + var entries []v1beta1.RunResult if err := json.Unmarshal(fileContents, &entries); err != nil { t.Fatalf("failed to unmarshal results: %v", err) } diff --git a/pkg/pod/status.go b/pkg/pod/status.go index 04cb7af755c..aa8616b9d3c 100644 --- a/pkg/pod/status.go +++ b/pkg/pod/status.go @@ -181,10 +181,10 @@ func setTaskRunStatusBasedOnStepStatus(ctx context.Context, logger *zap.SugaredL } // populate task run CRD with results from sidecar logs - taskResults, pipelineResourceResults, _ := filterResultsAndResources(sidecarLogResults, specResults) + taskResults, RunResults, _ := filterResultsAndResources(sidecarLogResults, specResults) if tr.IsSuccessful() { trs.TaskRunResults = append(trs.TaskRunResults, taskResults...) - trs.ResourcesResult = append(trs.ResourcesResult, pipelineResourceResults...) + trs.ResourcesResult = append(trs.ResourcesResult, RunResults...) } } // Continue with extraction of termination messages @@ -208,10 +208,10 @@ func setTaskRunStatusBasedOnStepStatus(ctx context.Context, logger *zap.SugaredL merr = multierror.Append(merr, err) } - taskResults, pipelineResourceResults, filteredResults := filterResultsAndResources(results, specResults) + taskResults, RunResults, filteredResults := filterResultsAndResources(results, specResults) if tr.IsSuccessful() { trs.TaskRunResults = append(trs.TaskRunResults, taskResults...) - trs.ResourcesResult = append(trs.ResourcesResult, pipelineResourceResults...) + trs.ResourcesResult = append(trs.ResourcesResult, RunResults...) } msg, err = createMessageFromResults(filteredResults) if err != nil { @@ -250,7 +250,7 @@ func setTaskRunStatusBasedOnSidecarStatus(sidecarStatuses []corev1.ContainerStat } } -func createMessageFromResults(results []v1beta1.PipelineResourceResult) (string, error) { +func createMessageFromResults(results []v1beta1.RunResult) (string, error) { if len(results) == 0 { return "", nil } @@ -261,10 +261,10 @@ func createMessageFromResults(results []v1beta1.PipelineResourceResult) (string, return string(bytes), nil } -func filterResultsAndResources(results []v1beta1.PipelineResourceResult, specResults []v1beta1.TaskResult) ([]v1beta1.TaskRunResult, []v1beta1.PipelineResourceResult, []v1beta1.PipelineResourceResult) { +func filterResultsAndResources(results []v1beta1.RunResult, specResults []v1beta1.TaskResult) ([]v1beta1.TaskRunResult, []v1beta1.RunResult, []v1beta1.RunResult) { var taskResults []v1beta1.TaskRunResult - var pipelineResourceResults []v1beta1.PipelineResourceResult - var filteredResults []v1beta1.PipelineResourceResult + var RunResults []v1beta1.RunResult + var filteredResults []v1beta1.RunResult neededTypes := make(map[string]v1beta1.ResultsType) for _, r := range specResults { neededTypes[r.Name] = r.Type @@ -297,12 +297,12 @@ func filterResultsAndResources(results []v1beta1.PipelineResourceResult, specRes // Internal messages are ignored because they're not used as external result continue default: - pipelineResourceResults = append(pipelineResourceResults, r) + RunResults = append(RunResults, r) filteredResults = append(filteredResults, r) } } - return taskResults, pipelineResourceResults, filteredResults + return taskResults, RunResults, filteredResults } func removeDuplicateResults(taskRunResult []v1beta1.TaskRunResult) []v1beta1.TaskRunResult { @@ -324,7 +324,7 @@ func removeDuplicateResults(taskRunResult []v1beta1.TaskRunResult) []v1beta1.Tas return uniq } -func extractStartedAtTimeFromResults(results []v1beta1.PipelineResourceResult) (*metav1.Time, error) { +func extractStartedAtTimeFromResults(results []v1beta1.RunResult) (*metav1.Time, error) { for _, result := range results { if result.Key == "StartedAt" { t, err := time.Parse(timeFormat, result.Value) @@ -338,7 +338,7 @@ func extractStartedAtTimeFromResults(results []v1beta1.PipelineResourceResult) ( return nil, nil } -func extractExitCodeFromResults(results []v1beta1.PipelineResourceResult) (*int32, error) { +func extractExitCodeFromResults(results []v1beta1.RunResult) (*int32, error) { for _, result := range results { if result.Key == "ExitCode" { // We could just pass the string through but this provides extra validation diff --git a/pkg/pod/status_test.go b/pkg/pod/status_test.go index 78065ac6e14..aebd168cfd0 100644 --- a/pkg/pod/status_test.go +++ b/pkg/pod/status_test.go @@ -671,7 +671,7 @@ func TestMakeTaskRunStatus(t *testing.T) { ContainerName: "step-foo", }}, Sidecars: []v1beta1.SidecarState{}, - ResourcesResult: []v1beta1.PipelineResourceResult{{ + ResourcesResult: []v1beta1.RunResult{{ Key: "digest", Value: "sha256:12345", ResourceName: "source-image", @@ -705,7 +705,7 @@ func TestMakeTaskRunStatus(t *testing.T) { ContainerName: "step-bar", }}, Sidecars: []v1beta1.SidecarState{}, - ResourcesResult: []v1beta1.PipelineResourceResult{{ + ResourcesResult: []v1beta1.RunResult{{ Key: "digest", Value: "sha256:1234", ResourceName: "source-image", @@ -744,7 +744,7 @@ func TestMakeTaskRunStatus(t *testing.T) { ContainerName: "step-banana", }}, Sidecars: []v1beta1.SidecarState{}, - ResourcesResult: []v1beta1.PipelineResourceResult{{ + ResourcesResult: []v1beta1.RunResult{{ Key: "digest", Value: "sha256:1234", ResourceName: "source-image", @@ -836,7 +836,7 @@ func TestMakeTaskRunStatus(t *testing.T) { }, }, }, { - desc: "termination message not adhering to pipelineresourceresult format is filtered from taskrun termination message", + desc: "termination message not adhering to RunResult format is filtered from taskrun termination message", podStatus: corev1.PodStatus{ Phase: corev1.PodSucceeded, ContainerStatuses: []corev1.ContainerStatus{{ @@ -1297,7 +1297,7 @@ func TestMakeTaskRunStatusAlpha(t *testing.T) { ContainerName: "step-bar", }}, Sidecars: []v1beta1.SidecarState{}, - ResourcesResult: []v1beta1.PipelineResourceResult{{ + ResourcesResult: []v1beta1.RunResult{{ Key: "digest", Value: "sha256:1234", ResourceName: "source-image", @@ -1344,7 +1344,7 @@ func TestMakeTaskRunStatusAlpha(t *testing.T) { ContainerName: "step-bar", }}, Sidecars: []v1beta1.SidecarState{}, - ResourcesResult: []v1beta1.PipelineResourceResult{{ + ResourcesResult: []v1beta1.RunResult{{ Key: "digest", Value: "sha256:1234", ResourceName: "source-image", @@ -1391,7 +1391,7 @@ func TestMakeTaskRunStatusAlpha(t *testing.T) { ContainerName: "step-bar", }}, Sidecars: []v1beta1.SidecarState{}, - ResourcesResult: []v1beta1.PipelineResourceResult{{ + ResourcesResult: []v1beta1.RunResult{{ Key: "digest", Value: "sha256:1234", ResourceName: "source-image", @@ -1438,7 +1438,7 @@ func TestMakeTaskRunStatusAlpha(t *testing.T) { ContainerName: "step-bar", }}, Sidecars: []v1beta1.SidecarState{}, - ResourcesResult: []v1beta1.PipelineResourceResult{{ + ResourcesResult: []v1beta1.RunResult{{ Key: "digest", Value: "sha256:1234", ResourceName: "source-image", diff --git a/pkg/spire/sign.go b/pkg/spire/sign.go index 8a53c163e1b..9391b9ee3b7 100644 --- a/pkg/spire/sign.go +++ b/pkg/spire/sign.go @@ -30,8 +30,8 @@ import ( "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1" ) -// Signs the TaskRun results with the TaskRun spire SVID and appends the results to PipelineResourceResult -func (w *spireEntrypointerAPIClient) Sign(ctx context.Context, results []v1beta1.PipelineResourceResult) ([]v1beta1.PipelineResourceResult, error) { +// Signs the TaskRun results with the TaskRun spire SVID and appends the results to RunResult +func (w *spireEntrypointerAPIClient) Sign(ctx context.Context, results []v1beta1.RunResult) ([]v1beta1.RunResult, error) { err := w.setupClient(ctx) if err != nil { return nil, err @@ -46,12 +46,12 @@ func (w *spireEntrypointerAPIClient) Sign(ctx context.Context, results []v1beta1 return nil, errors.New("returned workload svid does not have certificates") } - output := []v1beta1.PipelineResourceResult{} + output := []v1beta1.RunResult{} p := pem.EncodeToMemory(&pem.Block{ Bytes: xsvid.Certificates[0].Raw, Type: "CERTIFICATE", }) - output = append(output, v1beta1.PipelineResourceResult{ + output = append(output, v1beta1.RunResult{ Key: KeySVID, Value: string(p), ResultType: v1beta1.TaskRunResultType, @@ -67,7 +67,7 @@ func (w *spireEntrypointerAPIClient) Sign(ctx context.Context, results []v1beta1 if err != nil { return nil, err } - output = append(output, v1beta1.PipelineResourceResult{ + output = append(output, v1beta1.RunResult{ Key: r.Key + KeySignatureSuffix, Value: base64.StdEncoding.EncodeToString(s), ResultType: v1beta1.TaskRunResultType, @@ -76,7 +76,7 @@ func (w *spireEntrypointerAPIClient) Sign(ctx context.Context, results []v1beta1 } // get complete manifest of keys such that it can be verified manifest := getManifest(results) - output = append(output, v1beta1.PipelineResourceResult{ + output = append(output, v1beta1.RunResult{ Key: KeyResultManifest, Value: manifest, ResultType: v1beta1.TaskRunResultType, @@ -85,7 +85,7 @@ func (w *spireEntrypointerAPIClient) Sign(ctx context.Context, results []v1beta1 if err != nil { return nil, err } - output = append(output, v1beta1.PipelineResourceResult{ + output = append(output, v1beta1.RunResult{ Key: KeyResultManifest + KeySignatureSuffix, Value: base64.StdEncoding.EncodeToString(manifestSig), ResultType: v1beta1.TaskRunResultType, @@ -103,7 +103,7 @@ func signWithKey(xsvid *x509svid.SVID, value string) ([]byte, error) { return s, nil } -func getManifest(results []v1beta1.PipelineResourceResult) string { +func getManifest(results []v1beta1.RunResult) string { keys := []string{} for _, r := range results { if strings.HasSuffix(r.Key, KeySignatureSuffix) || r.Key == KeySVID || r.ResultType != v1beta1.TaskRunResultType { diff --git a/pkg/spire/spire.go b/pkg/spire/spire.go index d6382260ffb..3372e320c58 100644 --- a/pkg/spire/spire.go +++ b/pkg/spire/spire.go @@ -64,13 +64,13 @@ type ControllerAPIClient interface { CreateEntries(ctx context.Context, tr *v1beta1.TaskRun, pod *corev1.Pod, ttl time.Duration) error DeleteEntry(ctx context.Context, tr *v1beta1.TaskRun, pod *corev1.Pod) error VerifyStatusInternalAnnotation(ctx context.Context, tr *v1beta1.TaskRun, logger *zap.SugaredLogger) error - VerifyTaskRunResults(ctx context.Context, prs []v1beta1.PipelineResourceResult, tr *v1beta1.TaskRun) error + VerifyTaskRunResults(ctx context.Context, prs []v1beta1.RunResult, tr *v1beta1.TaskRun) error SetConfig(c spireconfig.SpireConfig) } // EntrypointerAPIClient interface maps to the spire entrypointer API to interact with spire type EntrypointerAPIClient interface { Close() error - // Sign returns the signature material to be put in the PipelineResourceResult to append to the output results - Sign(ctx context.Context, results []v1beta1.PipelineResourceResult) ([]v1beta1.PipelineResourceResult, error) + // Sign returns the signature material to be put in the RunResult to append to the output results + Sign(ctx context.Context, results []v1beta1.RunResult) ([]v1beta1.RunResult, error) } diff --git a/pkg/spire/spire_mock.go b/pkg/spire/spire_mock.go index a5de75b3a80..e6fe0977a01 100644 --- a/pkg/spire/spire_mock.go +++ b/pkg/spire/spire_mock.go @@ -64,7 +64,7 @@ type MockClient struct { VerifyStatusInternalAnnotationOverride func(ctx context.Context, tr *v1beta1.TaskRun, logger *zap.SugaredLogger) error // VerifyTaskRunResultsOverride contains the function to overwrite a call to VerifyTaskRunResults - VerifyTaskRunResultsOverride func(ctx context.Context, prs []v1beta1.PipelineResourceResult, tr *v1beta1.TaskRun) error + VerifyTaskRunResultsOverride func(ctx context.Context, prs []v1beta1.RunResult, tr *v1beta1.TaskRun) error // AppendStatusInternalAnnotationOverride contains the function to overwrite a call to AppendStatusInternalAnnotation AppendStatusInternalAnnotationOverride func(ctx context.Context, tr *v1beta1.TaskRun) error @@ -73,7 +73,7 @@ type MockClient struct { CheckSpireVerifiedFlagOverride func(tr *v1beta1.TaskRun) bool // SignOverride contains the function to overwrite a call to Sign - SignOverride func(ctx context.Context, results []v1beta1.PipelineResourceResult) ([]v1beta1.PipelineResourceResult, error) + SignOverride func(ctx context.Context, results []v1beta1.RunResult) ([]v1beta1.RunResult, error) } const controllerSvid = "CONTROLLER_SVID_DATA" @@ -178,7 +178,7 @@ func (sc *MockClient) VerifyStatusInternalAnnotation(ctx context.Context, tr *v1 } // VerifyTaskRunResults checks that all the TaskRun results are valid by the mocked spire client -func (sc *MockClient) VerifyTaskRunResults(ctx context.Context, prs []v1beta1.PipelineResourceResult, tr *v1beta1.TaskRun) error { +func (sc *MockClient) VerifyTaskRunResults(ctx context.Context, prs []v1beta1.RunResult, tr *v1beta1.TaskRun) error { if sc.VerifyTaskRunResultsOverride != nil { return sc.VerifyTaskRunResultsOverride(ctx, prs, tr) } @@ -190,7 +190,7 @@ func (sc *MockClient) VerifyTaskRunResults(ctx context.Context, prs []v1beta1.Pi return errors.New("failed to verify from mock VerifyAlwaysReturns") } - resultMap := map[string]v1beta1.PipelineResourceResult{} + resultMap := map[string]v1beta1.RunResult{} for _, r := range prs { if r.ResultType == v1beta1.TaskRunResultType { resultMap[r.Key] = r @@ -240,8 +240,8 @@ func (sc *MockClient) VerifyTaskRunResults(ctx context.Context, prs []v1beta1.Pi return nil } -// Sign signs and appends signatures to the PipelineResourceResult based on the mocked spire client -func (sc *MockClient) Sign(ctx context.Context, results []v1beta1.PipelineResourceResult) ([]v1beta1.PipelineResourceResult, error) { +// Sign signs and appends signatures to the RunResult based on the mocked spire client +func (sc *MockClient) Sign(ctx context.Context, results []v1beta1.RunResult) ([]v1beta1.RunResult, error) { if sc.SignOverride != nil { return sc.SignOverride(ctx, results) } @@ -257,8 +257,8 @@ func (sc *MockClient) Sign(ctx context.Context, results []v1beta1.PipelineResour return nil, errors.Errorf("entry doesn't exist for identity: %v", identity) } - output := []v1beta1.PipelineResourceResult{} - output = append(output, v1beta1.PipelineResourceResult{ + output := []v1beta1.RunResult{} + output = append(output, v1beta1.RunResult{ Key: KeySVID, Value: identity, ResultType: v1beta1.TaskRunResultType, @@ -271,7 +271,7 @@ func (sc *MockClient) Sign(ctx context.Context, results []v1beta1.PipelineResour return nil, err } s := sc.mockSign(resultValue, identity) - output = append(output, v1beta1.PipelineResourceResult{ + output = append(output, v1beta1.RunResult{ Key: r.Key + KeySignatureSuffix, Value: s, ResultType: v1beta1.TaskRunResultType, @@ -280,13 +280,13 @@ func (sc *MockClient) Sign(ctx context.Context, results []v1beta1.PipelineResour } // get complete manifest of keys such that it can be verified manifest := getManifest(results) - output = append(output, v1beta1.PipelineResourceResult{ + output = append(output, v1beta1.RunResult{ Key: KeyResultManifest, Value: manifest, ResultType: v1beta1.TaskRunResultType, }) manifestSig := sc.mockSign(manifest, identity) - output = append(output, v1beta1.PipelineResourceResult{ + output = append(output, v1beta1.RunResult{ Key: KeyResultManifest + KeySignatureSuffix, Value: manifestSig, ResultType: v1beta1.TaskRunResultType, diff --git a/pkg/spire/spire_mock_test.go b/pkg/spire/spire_mock_test.go index a04e6965c53..d5fc417de38 100644 --- a/pkg/spire/spire_mock_test.go +++ b/pkg/spire/spire_mock_test.go @@ -285,7 +285,7 @@ func TestMock_TaskRunResultsSign(t *testing.T) { } } - for _, results := range testPipelineResourceResults() { + for _, results := range testRunResults() { success := func() bool { spireMockClient.SignIdentities = []string{spireMockClient.GetIdentity(tr)} if tt.wrongPodIdentity { @@ -322,8 +322,8 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { ec EntrypointerAPIClient = spireMockClient ) - genPr := func() []v1beta1.PipelineResourceResult { - return []v1beta1.PipelineResourceResult{ + genPr := func() []v1beta1.RunResult { + return []v1beta1.RunResult{ { Key: "foo", Value: "foo-value", @@ -343,7 +343,7 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { // description of test desc string // function to tamper - tamperFn func([]v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult + tamperFn func([]v1beta1.RunResult) []v1beta1.RunResult // whether sign/verify procedure should succeed success bool }{ @@ -353,8 +353,8 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { }, { desc: "non-intrusive tamper", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { - prs = append(prs, v1beta1.PipelineResourceResult{ + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { + prs = append(prs, v1beta1.RunResult{ Key: "not-taskrun-result-type-add", Value: "abc:12345", }) @@ -364,7 +364,7 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { }, { desc: "tamper SVID", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeySVID { prs[i].Value = "tamper-value" @@ -376,7 +376,7 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { }, { desc: "tamper result manifest", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeyResultManifest { prs[i].Value = "tamper-value" @@ -388,7 +388,7 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { }, { desc: "tamper result manifest signature", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeyResultManifest+KeySignatureSuffix { prs[i].Value = "tamper-value" @@ -400,7 +400,7 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { }, { desc: "tamper result field", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == "foo" { prs[i].Value = "tamper-value" @@ -412,7 +412,7 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { }, { desc: "tamper result field signature", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == "foo"+KeySignatureSuffix { prs[i].Value = "tamper-value" @@ -424,7 +424,7 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { }, { desc: "delete SVID", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeySVID { return append(prs[:i], prs[i+1:]...) @@ -436,7 +436,7 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { }, { desc: "delete result manifest", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeyResultManifest { return append(prs[:i], prs[i+1:]...) @@ -448,7 +448,7 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { }, { desc: "delete result manifest signature", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeyResultManifest+KeySignatureSuffix { return append(prs[:i], prs[i+1:]...) @@ -460,7 +460,7 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { }, { desc: "delete result field", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == "foo" { return append(prs[:i], prs[i+1:]...) @@ -472,7 +472,7 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { }, { desc: "delete result field signature", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == "foo"+KeySignatureSuffix { return append(prs[:i], prs[i+1:]...) @@ -484,7 +484,7 @@ func TestMock_TaskRunResultsSignTamper(t *testing.T) { }, { desc: "add to result manifest", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeyResultManifest { prs[i].Value += ",xyz" @@ -631,8 +631,8 @@ func testTaskRuns() []*v1beta1.TaskRun { } } -func testPipelineResourceResults() [][]v1beta1.PipelineResourceResult { - return [][]v1beta1.PipelineResourceResult{ +func testRunResults() [][]v1beta1.RunResult { + return [][]v1beta1.RunResult{ // Single result { { diff --git a/pkg/spire/spire_test.go b/pkg/spire/spire_test.go index e109ac1d19f..a4359c857eb 100644 --- a/pkg/spire/spire_test.go +++ b/pkg/spire/spire_test.go @@ -377,7 +377,7 @@ func TestBadPodIdentity(t *testing.T) { defer ec.Close() trList := testTaskRuns() - rsrcResults := testPipelineResourceResults() + rsrcResults := testRunResults() wl.SetX509SVIDResponse(&fakeworkloadapi.X509SVIDResponse{ Bundle: ca.X509Bundle(), @@ -425,7 +425,7 @@ func TestSignTaskRunResults(t *testing.T) { defer ec.Close() trList := testTaskRuns() - rsrcResults := testPipelineResourceResults() + rsrcResults := testRunResults() for _, tr := range trList { for i, results := range rsrcResults { @@ -474,18 +474,18 @@ func TestTaskRunResultsSignTamper(t *testing.T) { testCases := []struct { desc string // function to tamper - tamperFn func([]v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult + tamperFn func([]v1beta1.RunResult) []v1beta1.RunResult wantErr bool }{ { desc: "no tamper", wantErr: false, - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { return prs }, + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { return prs }, }, { desc: "non-intrusive tamper", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { - prs = append(prs, v1beta1.PipelineResourceResult{ + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { + prs = append(prs, v1beta1.RunResult{ Key: "not-taskrun-result-type-add", Value: "abc:12345", }) @@ -495,7 +495,7 @@ func TestTaskRunResultsSignTamper(t *testing.T) { }, { desc: "tamper SVID", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeySVID { prs[i].Value = "tamper-value" @@ -507,7 +507,7 @@ func TestTaskRunResultsSignTamper(t *testing.T) { }, { desc: "tamper result manifest", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeyResultManifest { prs[i].Value = "tamper-value" @@ -519,7 +519,7 @@ func TestTaskRunResultsSignTamper(t *testing.T) { }, { desc: "tamper result manifest signature", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeyResultManifest+KeySignatureSuffix { prs[i].Value = "tamper-value" @@ -531,7 +531,7 @@ func TestTaskRunResultsSignTamper(t *testing.T) { }, { desc: "tamper result field", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == "foo" { prs[i].Value = "tamper-value" @@ -543,7 +543,7 @@ func TestTaskRunResultsSignTamper(t *testing.T) { }, { desc: "tamper result field signature", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == "foo"+KeySignatureSuffix { prs[i].Value = "tamper-value" @@ -555,7 +555,7 @@ func TestTaskRunResultsSignTamper(t *testing.T) { }, { desc: "delete SVID", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeySVID { return append(prs[:i], prs[i+1:]...) @@ -567,7 +567,7 @@ func TestTaskRunResultsSignTamper(t *testing.T) { }, { desc: "delete result manifest", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeyResultManifest { return append(prs[:i], prs[i+1:]...) @@ -579,7 +579,7 @@ func TestTaskRunResultsSignTamper(t *testing.T) { }, { desc: "delete result manifest signature", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeyResultManifest+KeySignatureSuffix { return append(prs[:i], prs[i+1:]...) @@ -591,7 +591,7 @@ func TestTaskRunResultsSignTamper(t *testing.T) { }, { desc: "delete result field", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == "foo" { return append(prs[:i], prs[i+1:]...) @@ -603,7 +603,7 @@ func TestTaskRunResultsSignTamper(t *testing.T) { }, { desc: "delete result field signature", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == "foo"+KeySignatureSuffix { return append(prs[:i], prs[i+1:]...) @@ -615,7 +615,7 @@ func TestTaskRunResultsSignTamper(t *testing.T) { }, { desc: "add to result manifest", - tamperFn: func(prs []v1beta1.PipelineResourceResult) []v1beta1.PipelineResourceResult { + tamperFn: func(prs []v1beta1.RunResult) []v1beta1.RunResult { for i, pr := range prs { if pr.Key == KeyResultManifest { prs[i].Value += ",xyz" @@ -631,7 +631,7 @@ func TestTaskRunResultsSignTamper(t *testing.T) { ctx := context.Background() for _, tr := range testTaskRuns() { t.Run(tt.desc+" "+tr.ObjectMeta.Name, func(t *testing.T) { - results := []v1beta1.PipelineResourceResult{{ + results := []v1beta1.RunResult{{ Key: "foo", Value: "foo-value", ResourceName: "source-image", diff --git a/pkg/spire/verify.go b/pkg/spire/verify.go index 98d8d3372f6..3e6eb20ec46 100644 --- a/pkg/spire/verify.go +++ b/pkg/spire/verify.go @@ -38,13 +38,13 @@ import ( ) // VerifyTaskRunResults ensures that the TaskRun results are valid and have not been tampered with -func (sc *spireControllerAPIClient) VerifyTaskRunResults(ctx context.Context, prs []v1beta1.PipelineResourceResult, tr *v1beta1.TaskRun) error { +func (sc *spireControllerAPIClient) VerifyTaskRunResults(ctx context.Context, prs []v1beta1.RunResult, tr *v1beta1.TaskRun) error { err := sc.setupClient(ctx) if err != nil { return err } - resultMap := map[string]v1beta1.PipelineResourceResult{} + resultMap := map[string]v1beta1.RunResult{} for _, r := range prs { if r.ResultType == v1beta1.TaskRunResultType { resultMap[r.Key] = r @@ -177,7 +177,7 @@ func CheckStatusInternalAnnotation(tr *v1beta1.TaskRun) error { return nil } -func getSVID(resultMap map[string]v1beta1.PipelineResourceResult) (*x509.Certificate, error) { +func getSVID(resultMap map[string]v1beta1.RunResult) (*x509.Certificate, error) { svid, ok := resultMap[KeySVID] if !ok { return nil, errors.New("no SVID found") @@ -252,7 +252,7 @@ func verifyCertificateTrust(cert *x509.Certificate, rootCertPool *x509.CertPool) return nil } -func verifyManifest(results map[string]v1beta1.PipelineResourceResult) error { +func verifyManifest(results map[string]v1beta1.RunResult) error { manifest, ok := results[KeyResultManifest] if !ok { return errors.New("no manifest found in results") @@ -283,7 +283,7 @@ func verifyAnnotation(pub interface{}, annotations map[string]string) error { return verifySignature(pub, signature, hash) } -func verifyResult(pub crypto.PublicKey, key string, results map[string]v1beta1.PipelineResourceResult) error { +func verifyResult(pub crypto.PublicKey, key string, results map[string]v1beta1.RunResult) error { signature, ok := results[key+KeySignatureSuffix] if !ok { return fmt.Errorf("no signature found for %s", key) @@ -324,7 +324,7 @@ func verifySignature(pub crypto.PublicKey, signature string, value string) error } } -func getResultValue(result v1beta1.PipelineResourceResult) (string, error) { +func getResultValue(result v1beta1.RunResult) (string, error) { aos := v1beta1.ArrayOrString{} err := aos.UnmarshalJSON([]byte(result.Value)) valList := []string{} diff --git a/pkg/termination/parse.go b/pkg/termination/parse.go index 5cb0c1caf68..eb3b1c2c98a 100644 --- a/pkg/termination/parse.go +++ b/pkg/termination/parse.go @@ -29,18 +29,18 @@ import ( // // If more than one item has the same key, only the latest is returned. Items // are sorted by their key. -func ParseMessage(logger *zap.SugaredLogger, msg string) ([]v1beta1.PipelineResourceResult, error) { +func ParseMessage(logger *zap.SugaredLogger, msg string) ([]v1beta1.RunResult, error) { if msg == "" { return nil, nil } - var r []v1beta1.PipelineResourceResult + var r []v1beta1.RunResult if err := json.Unmarshal([]byte(msg), &r); err != nil { return nil, fmt.Errorf("parsing message json: %w, msg: %s", err, msg) } for i, rr := range r { - if rr == (v1beta1.PipelineResourceResult{}) { + if rr == (v1beta1.RunResult{}) { // Erase incorrect result r[i] = r[len(r)-1] r = r[:len(r)-1] @@ -49,11 +49,11 @@ func ParseMessage(logger *zap.SugaredLogger, msg string) ([]v1beta1.PipelineReso } // Remove duplicates (last one wins) and sort by key. - m := map[string]v1beta1.PipelineResourceResult{} + m := map[string]v1beta1.RunResult{} for _, rr := range r { m[rr.Key] = rr } - r2 := make([]v1beta1.PipelineResourceResult, 0, len(m)) + r2 := make([]v1beta1.RunResult, 0, len(m)) for _, v := range m { r2 = append(r2, v) } diff --git a/pkg/termination/parse_test.go b/pkg/termination/parse_test.go index ac55a438e4c..813adaf32d6 100644 --- a/pkg/termination/parse_test.go +++ b/pkg/termination/parse_test.go @@ -28,11 +28,11 @@ import ( func TestParseMessage(t *testing.T) { for _, c := range []struct { desc, msg string - want []v1beta1.PipelineResourceResult + want []v1beta1.RunResult }{{ desc: "valid message", msg: `[{"key": "digest","value":"hereisthedigest"},{"key":"foo","value":"bar"}]`, - want: []v1beta1.PipelineResourceResult{{ + want: []v1beta1.RunResult{{ Key: "digest", Value: "hereisthedigest", }, { @@ -42,7 +42,7 @@ func TestParseMessage(t *testing.T) { }, { desc: "invalid key in message", msg: `[{"invalid": "digest","value":"hereisthedigest"},{"key":"foo","value":"bar"}]`, - want: []v1beta1.PipelineResourceResult{{ + want: []v1beta1.RunResult{{ Value: "hereisthedigest", }, { Key: "foo", @@ -58,7 +58,7 @@ func TestParseMessage(t *testing.T) { {"key":"foo","value":"first"}, {"key":"foo","value":"middle"}, {"key":"foo","value":"last"}]`, - want: []v1beta1.PipelineResourceResult{{ + want: []v1beta1.RunResult{{ Key: "foo", Value: "last", }}, @@ -68,7 +68,7 @@ func TestParseMessage(t *testing.T) { {"key":"zzz","value":"last"}, {"key":"ddd","value":"middle"}, {"key":"aaa","value":"first"}]`, - want: []v1beta1.PipelineResourceResult{{ + want: []v1beta1.RunResult{{ Key: "aaa", Value: "first", }, { diff --git a/pkg/termination/write.go b/pkg/termination/write.go index 7e3d77212ed..a04a2889bcd 100644 --- a/pkg/termination/write.go +++ b/pkg/termination/write.go @@ -30,12 +30,12 @@ const ( ) // WriteMessage writes the results to the termination message path. -func WriteMessage(path string, pro []v1beta1.PipelineResourceResult) error { +func WriteMessage(path string, pro []v1beta1.RunResult) error { // if the file at path exists, concatenate the new values otherwise create it // file at path already exists fileContents, err := os.ReadFile(path) if err == nil { - var existingEntries []v1beta1.PipelineResourceResult + var existingEntries []v1beta1.RunResult if err := json.Unmarshal(fileContents, &existingEntries); err == nil { // append new entries to existing entries pro = append(existingEntries, pro...) diff --git a/pkg/termination/write_test.go b/pkg/termination/write_test.go index 0045b937460..0075a873d6f 100644 --- a/pkg/termination/write_test.go +++ b/pkg/termination/write_test.go @@ -40,7 +40,7 @@ func TestExistingFile(t *testing.T) { defer func() { _ = logger.Sync() }() - output := []v1beta1.PipelineResourceResult{{ + output := []v1beta1.RunResult{{ Key: "key1", Value: "hello", }} @@ -49,7 +49,7 @@ func TestExistingFile(t *testing.T) { logger.Fatalf("Errot while writing message: %s", err) } - output = []v1beta1.PipelineResourceResult{{ + output = []v1beta1.RunResult{{ Key: "key2", Value: "world", }} @@ -77,7 +77,7 @@ func TestMaxSizeFile(t *testing.T) { // Remember to clean up the file afterwards defer os.Remove(tmpFile.Name()) - output := []v1beta1.PipelineResourceResult{{ + output := []v1beta1.RunResult{{ Key: "key1", Value: value, }}