Skip to content

Instantly share code, notes, and snippets.

View pritidesai's full-sized avatar
🥂

Priti Desai pritidesai

🥂
View GitHub Profile
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: pipeline-with-missing-default-params
spec:
params:
- name: pl-param-x
type: string
- name: pl-param-y
type: string
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: pipeline-with-missing-params
spec:
params:
- name: pl-param-x
type: string
- name: pl-param-y
type: string
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: pipeline-with-extra-params
spec:
params:
- name: pl-param-x
type: string
- name: pl-param-y
type: string
# Task to clone repo into shared workspace
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: clone-app-repo-to-workspace
spec:
workspaces:
- name: shared-workspace
resources:
inputs:
([]*resources.ResolvedPipelineRunTask) (len=1 cap=1) {
(*resources.ResolvedPipelineRunTask)(0xc000a62440)({
TaskRunName: (string) (len=36) "condtional-pr-conditional-task-fglwx",
TaskRun: (*v1beta1.TaskRun)(<nil>),
PipelineTask: (*v1beta1.PipelineTask)(0xc000aa9a40)({
Name: (string) (len=16) "conditional-task",
TaskRef: (*v1beta1.TaskRef)(0xc00074f1d0)({
Name: (string) (len=10) "echo-hello",
Kind: (v1beta1.TaskKind) (len=4) "Task",
APIVersion: (string) ""

pipelineState holds a list of pipeline tasks with resolved conditions and pipeline resources. pipelineState also holds a taskRun for each pipeline task after the taskRun is created.

candidateTasks contains a list of pipeline tasks that can be scheduled next. This list of candidates is derived based on the successfully finished tasks. A task is considered as candidate if its all parents have finished executing successfully. Also candidates are initialized with all root/s of DAG tasks.

GetNextTasks returns a list of tasks which should be executed next. This list is derived based on candidateTasks. GetNextTasks returns a list of candidates for which pipelineState does not have any taskRun or a list of failed

{
"apiVersion": "tekton.dev/v1beta1",
"kind": "PipelineRun",
"metadata": {
"annotations": {
"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"tekton.dev/v1alpha1\",\"kind\":\"Pipeline\",\"metadata\":{\"annotations\":{},\"name\":\"conditional-pipeline\",\"namespace\":\"default\"},\"spec\":{\"tasks\":[{\"conditions\":[{\"conditionRef\":\"file-exists\"}],\"name\":\"then-check\",\"taskRef\":{\"name\":\"echo-hello\"}}]}}\n"
},
"creationTimestamp": "2020-05-08T23:37:10Z",
"generation": 1,
"labels": {
{
"apiVersion": "tekton.dev/v1beta1",
"kind": "PipelineRun",
"metadata": {
"annotations": {
"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"tekton.dev/v1alpha1\",\"kind\":\"Pipeline\",\"metadata\":{\"annotations\":{},\"name\":\"conditional-pipeline\",\"namespace\":\"default\"},\"spec\":{\"tasks\":[{\"conditions\":[{\"conditionRef\":\"file-exists\"}],\"name\":\"then-check\",\"taskRef\":{\"name\":\"echo-hello\"}}]}}\n"
},
"creationTimestamp": "2020-05-08T23:27:10Z",
"generation": 1,
"labels": {
{
"apiVersion": "tekton.dev/v1beta1",
"kind": "PipelineRun",
"metadata": {
"annotations": {
"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"tekton.dev/v1beta1\",\"kind\":\"Pipeline\",\"metadata\":{\"annotations\":{},\"name\":\"sum-and-print-pipeline\",\"namespace\":\"default\"},\"spec\":{\"params\":[{\"default\":\"1\",\"name\":\"a\",\"type\":\"string\"},{\"default\":\"1\",\"name\":\"b\",\"type\":\"string\"}],\"tasks\":[{\"name\":\"sum-inputs\",\"params\":[{\"name\":\"a\",\"value\":\"$(params.a)\"},{\"name\":\"b\",\"value\":\"$(params.b)\"}],\"taskRef\":{\"name\":\"sum-two-ints\"}},{\"name\":\"print-sum\",\"params\":[{\"name\":\"result\",\"value\":\"$(tasks.sum-inputs.results.sum-result)\"}],\"taskRef\":{\"name\":\"format-result\"}}]}}\n"
},
"creationTimestamp": "2020-05-04T22:05:24Z",
"generation": 1,
"labels": {
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: sum-two-ints
annotations:
description: |
A simple task that sums the two provided integers
spec:
params:
- name: a