Skip to content

Commit

Permalink
getTask should accept taskrun, not task name
Browse files Browse the repository at this point in the history
  • Loading branch information
Michalina Kotwica committed Jun 14, 2022
1 parent deea5d8 commit 4720deb
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 8 deletions.
16 changes: 10 additions & 6 deletions pkg/pod/status.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package pod

import (
"encoding/json"
"errors"
"fmt"
"strconv"
"strings"
Expand Down Expand Up @@ -99,14 +100,17 @@ func SidecarsReady(podStatus corev1.PodStatus) bool {
return true
}

type GetTaskFromName func(taskName string) (v1beta1.TaskObject, error)
type GetTaskSpecFromTaskRun func(tr *v1beta1.TaskRun) (*v1beta1.TaskSpec, error)

func EmptyGetTaskFromName(taskName string) (v1beta1.TaskObject, error) {
return &v1beta1.Task{}, nil
func EmptyGetTaskFromName(tr *v1beta1.TaskRun) (*v1beta1.TaskSpec, error) {
if tr.Spec.TaskSpec != nil {
return tr.Spec.TaskSpec, nil
}
return nil, errors.New("TaskSpec not found when no source of TaskRef specified")
}

// MakeTaskRunStatus returns a TaskRunStatus based on the Pod's status.
func MakeTaskRunStatus(logger *zap.SugaredLogger, tr v1beta1.TaskRun, pod *corev1.Pod, getTaskFunc GetTaskFromName) (v1beta1.TaskRunStatus, error) {
func MakeTaskRunStatus(logger *zap.SugaredLogger, tr v1beta1.TaskRun, pod *corev1.Pod, getTaskFunc GetTaskSpecFromTaskRun) (v1beta1.TaskRunStatus, error) {
trs := &tr.Status
if trs.GetCondition(apis.ConditionSucceeded) == nil || trs.GetCondition(apis.ConditionSucceeded).Status == corev1.ConditionUnknown {
// If the taskRunStatus doesn't exist yet, it's because we just started running
Expand Down Expand Up @@ -149,7 +153,7 @@ func MakeTaskRunStatus(logger *zap.SugaredLogger, tr v1beta1.TaskRun, pod *corev
return *trs, merr.ErrorOrNil()
}

func setTaskRunStatusBasedOnStepStatus(logger *zap.SugaredLogger, stepStatuses []corev1.ContainerStatus, tr *v1beta1.TaskRun, getTaskFunc GetTaskFromName) *multierror.Error {
func setTaskRunStatusBasedOnStepStatus(logger *zap.SugaredLogger, stepStatuses []corev1.ContainerStatus, tr *v1beta1.TaskRun, getTaskFunc GetTaskSpecFromTaskRun) *multierror.Error {
trs := &tr.Status
var merr *multierror.Error

Expand Down Expand Up @@ -226,7 +230,7 @@ func createMessageFromResults(results []v1beta1.PipelineResourceResult) (string,
return string(bytes), nil
}

func filterResultsAndResources(results []v1beta1.PipelineResourceResult, tr *v1beta1.TaskRun, getTask GetTaskFromName) ([]v1beta1.TaskRunResult, []v1beta1.PipelineResourceResult, []v1beta1.PipelineResourceResult) {
func filterResultsAndResources(results []v1beta1.PipelineResourceResult, tr *v1beta1.TaskRun, getTask GetTaskSpecFromTaskRun) ([]v1beta1.TaskRunResult, []v1beta1.PipelineResourceResult, []v1beta1.PipelineResourceResult) {
var taskResults []v1beta1.TaskRunResult
var pipelineResourceResults []v1beta1.PipelineResourceResult
var filteredResults []v1beta1.PipelineResourceResult
Expand Down
5 changes: 3 additions & 2 deletions pkg/reconciler/taskrun/taskrun.go
Original file line number Diff line number Diff line change
Expand Up @@ -488,8 +488,9 @@ func (c *Reconciler) reconcile(ctx context.Context, tr *v1beta1.TaskRun, rtr *re
return err
}

getTask := func(taskName string) (v1beta1.TaskObject, error) {
return getTaskFromCtx(ctx, taskName)
getTask := func(tr *v1beta1.TaskRun) (*v1beta1.TaskSpec, error) {
_, spec, err := resources.GetTaskData(ctx, tr, getTaskFromCtx)
return spec, err
}

// Convert the Pod's status to the equivalent TaskRun Status.
Expand Down

0 comments on commit 4720deb

Please sign in to comment.