Skip to content

Commit

Permalink
Remove the Trigger field from TaskRun.
Browse files Browse the repository at this point in the history
This field is not currently used, and it's usage should be replaced
with labels/annotations. This commit removes it now, before anyone
takes a dependency on it.

At a later time we can decide on the correct label/annotation usage
for this information and start writing that data.
  • Loading branch information
dlorenc committed May 13, 2019
1 parent 75d6dab commit 1c0d126
Show file tree
Hide file tree
Showing 7 changed files with 1 addition and 133 deletions.
23 changes: 0 additions & 23 deletions pkg/apis/pipeline/v1alpha1/taskrun_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ var _ apis.Defaultable = (*TaskRun)(nil)

// TaskRunSpec defines the desired state of TaskRun
type TaskRunSpec struct {
Trigger TaskTrigger `json:"trigger,omitempty"`
// +optional
Inputs TaskRunInputs `json:"inputs,omitempty"`
// +optional
Expand Down Expand Up @@ -92,28 +91,6 @@ type TaskRunOutputs struct {
Params []Param `json:"params,omitempty"`
}

// TaskTriggerType indicates the mechanism by which this TaskRun was created.
type TaskTriggerType string

const (
// TaskTriggerTypeManual indicates that this TaskRun was invoked manually by a user.
TaskTriggerTypeManual TaskTriggerType = "manual"

// TaskTriggerTypePipelineRun indicates that this TaskRun was created by a controller
// attempting to realize a PipelineRun. In this case the `name` will refer to the name
// of the PipelineRun.
TaskTriggerTypePipelineRun TaskTriggerType = "pipelineRun"
)

// TaskTrigger describes what triggered this Task to run. It could be triggered manually,
// or it may have been part of a PipelineRun in which case this ref would refer
// to the corresponding PipelineRun.
type TaskTrigger struct {
Type TaskTriggerType `json:"type"`
// +optional
Name string `json:"name,omitempty,omitempty"`
}

var taskRunCondSet = apis.NewBatchConditionSet()

// TaskRunStatus defines the observed state of TaskRun
Expand Down
26 changes: 0 additions & 26 deletions pkg/apis/pipeline/v1alpha1/taskrun_validation.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,6 @@ func (ts *TaskRunSpec) Validate(ctx context.Context) *apis.FieldError {
return apis.ErrMissingField("spec.taskref.name", "spec.taskspec")
}

// Check for Trigger
if err := ts.Trigger.Validate(ctx, "spec.trigger"); err != nil {
return err
}

// check for input resources
if err := ts.Inputs.Validate(ctx, "spec.Inputs"); err != nil {
return err
Expand Down Expand Up @@ -114,27 +109,6 @@ func validatePipelineResources(ctx context.Context, resources []TaskResourceBind
return nil
}

// Validate validates that the task trigger is of a known type. If it was triggered by a PipelineRun, the
// name of the trigger should be the name of a PipelienRun.
func (r TaskTrigger) Validate(ctx context.Context, path string) *apis.FieldError {
if r.Type == "" {
return nil
}

taskType := strings.ToLower(string(r.Type))
for _, allowed := range []TaskTriggerType{TaskTriggerTypePipelineRun, TaskTriggerTypeManual} {
allowedType := strings.ToLower(string(allowed))

if taskType == allowedType {
if allowedType == strings.ToLower(string(TaskTriggerTypePipelineRun)) && r.Name == "" {
return apis.ErrMissingField(fmt.Sprintf("%s.name", path))
}
return nil
}
}
return apis.ErrInvalidValue(string(r.Type), fmt.Sprintf("%s.type", path))
}

func validateParameters(params []Param) *apis.FieldError {
// Template must not duplicate parameter names.
seen := map[string]struct{}{}
Expand Down
50 changes: 1 addition & 49 deletions pkg/apis/pipeline/v1alpha1/taskrun_validation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,7 @@ func TestTaskRun_Validate(t *testing.T) {
Spec: TaskRunSpec{
TaskRef: &TaskRef{
Name: "taskrefname",
},
Trigger: TaskTrigger{
Type: TaskTriggerTypePipelineRun,
Name: "testtriggername",
},
}
},
}
if err := tr.Validate(context.Background()); err != nil {
Expand All @@ -99,9 +95,6 @@ func TestTaskRunSpec_Invalidate(t *testing.T) {
name: "invalid taskref name",
spec: TaskRunSpec{
TaskRef: &TaskRef{},
Trigger: TaskTrigger{
Type: TaskTriggerTypeManual,
},
},
wantErr: apis.ErrMissingField("spec.taskref.name, spec.taskspec"),
},
Expand All @@ -117,19 +110,6 @@ func TestTaskRunSpec_Invalidate(t *testing.T) {
},
wantErr: apis.ErrInvalidValue("wrongtype", "spec.trigger.type"),
},
{
name: "triggered by pipelinerun without name",
spec: TaskRunSpec{
TaskRef: &TaskRef{
Name: "taskrefname",
},
Trigger: TaskTrigger{
Type: TaskTriggerTypePipelineRun,
Name: "",
},
},
wantErr: apis.ErrMissingField("spec.trigger.name"),
},
{
name: "invalid taskref and taskspec together",
spec: TaskRunSpec{
Expand Down Expand Up @@ -165,34 +145,6 @@ func TestTaskRunSpec_Validate(t *testing.T) {
name string
spec TaskRunSpec
}{
{
name: "task trigger run type",
spec: TaskRunSpec{
TaskRef: &TaskRef{
Name: "taskrefname",
},
Trigger: TaskTrigger{
Type: TaskTriggerTypePipelineRun,
Name: "testtrigger",
},
Results: &Results{
URL: "http://www.google.com",
Type: "gcs",
},
},
},
{
name: "task trigger run type with different capitalization",
spec: TaskRunSpec{
TaskRef: &TaskRef{
Name: "taskrefname",
},
Trigger: TaskTrigger{
Type: "PiPeLiNeRuN",
Name: "testtrigger",
},
},
},
{
name: "taskspec without a taskRef",
spec: TaskRunSpec{
Expand Down
17 changes: 0 additions & 17 deletions pkg/apis/pipeline/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 0 additions & 10 deletions test/builder/task.go
Original file line number Diff line number Diff line change
Expand Up @@ -450,16 +450,6 @@ func TaskRunTaskSpec(ops ...TaskSpecOp) TaskRunSpecOp {
}
}

// TaskTrigger set the TaskTrigger, with specified name and type, to the TaskRunSpec.
func TaskTrigger(name string, triggerType v1alpha1.TaskTriggerType) TaskRunSpecOp {
return func(trs *v1alpha1.TaskRunSpec) {
trs.Trigger = v1alpha1.TaskTrigger{
Name: name,
Type: triggerType,
}
}
}

// TaskRunServiceAccount sets the serviceAccount to the TaskRunSpec.
func TaskRunServiceAccount(sa string) TaskRunSpecOp {
return func(trs *v1alpha1.TaskRunSpec) {
Expand Down
5 changes: 0 additions & 5 deletions test/builder/task_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,6 @@ func TestTaskRunWithTaskSpec(t *testing.T) {
tb.TaskRunTaskSpec(
tb.Step("step", "image", tb.Command("/mycmd")),
),
tb.TaskTrigger("mytrigger", v1alpha1.TaskTriggerTypeManual),
tb.TaskRunServiceAccount("sa"),
tb.TaskRunTimeout(2*time.Minute),
))
Expand All @@ -233,10 +232,6 @@ func TestTaskRunWithTaskSpec(t *testing.T) {
Command: []string{"/mycmd"},
}},
},
Trigger: v1alpha1.TaskTrigger{
Name: "mytrigger",
Type: v1alpha1.TaskTriggerTypeManual,
},
ServiceAccount: "sa",
Timeout: &metav1.Duration{Duration: 2 * time.Minute},
},
Expand Down
3 changes: 0 additions & 3 deletions test/cluster_resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,6 @@ func getClusterResourceTaskRun(namespace, name, taskName, resName string) *v1alp
TaskRef: &v1alpha1.TaskRef{
Name: taskName,
},
Trigger: v1alpha1.TaskTrigger{
Type: v1alpha1.TaskTriggerTypeManual,
},
Inputs: v1alpha1.TaskRunInputs{
Resources: []v1alpha1.TaskResourceBinding{{
Name: "target-cluster",
Expand Down

0 comments on commit 1c0d126

Please sign in to comment.