pipeline icon indicating copy to clipboard operation
pipeline copied to clipboard

support `fail-fast` for PipelineRun

Open chengjoey opened this issue 1 year ago β€’ 23 comments

Changes

allow task to be cancelled if a parallel task fails #7880

Submitter Checklist

As the author of this PR, please check off the items in this checklist:

  • [x] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
  • [x] Has Tests included if any functionality added or changed
  • [x] pre-commit Passed
  • [x] Follows the commit message standard
  • [x] Meets the Tekton contributor standards (including functionality, content, code)
  • [x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
  • [x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
  • [x] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

/kind feature

Release Notes

fail-fast for PipelineRun

chengjoey avatar May 26 '24 10:05 chengjoey

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: To complete the pull request process, please assign wlynch after the PR has been reviewed. You can assign the PR to them by writing /assign @wlynch in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

tekton-robot avatar May 26 '24 10:05 tekton-robot

/hold

chengjoey avatar May 26 '24 10:05 chengjoey

/kind feature

chengjoey avatar May 26 '24 10:05 chengjoey

/test check-pr-has-kind-label

chengjoey avatar May 26 '24 10:05 chengjoey

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6
pkg/reconciler/pipelinerun/resources/pipelinerunresolution.go 96.7% 94.4% -2.3

tekton-robot avatar May 26 '24 10:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage-df to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6
pkg/reconciler/pipelinerun/resources/pipelinerunresolution.go 96.7% 94.4% -2.3

tekton-robot avatar May 26 '24 10:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6

tekton-robot avatar May 27 '24 02:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage-df to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6

tekton-robot avatar May 27 '24 02:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6
pkg/reconciler/pipelinerun/resources/resultrefresolution.go 98.3% 99.2% 0.8

tekton-robot avatar May 27 '24 03:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage-df to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6
pkg/reconciler/pipelinerun/resources/resultrefresolution.go 98.3% 99.2% 0.8

tekton-robot avatar May 27 '24 03:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6

tekton-robot avatar May 27 '24 06:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage-df to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6

tekton-robot avatar May 27 '24 06:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6

tekton-robot avatar May 27 '24 07:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage-df to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6
pkg/reconciler/pipelinerun/resources/resultrefresolution.go 98.3% 99.2% 0.8

tekton-robot avatar May 27 '24 07:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6

tekton-robot avatar May 27 '24 08:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage-df to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6

tekton-robot avatar May 27 '24 08:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6

tekton-robot avatar May 27 '24 09:05 tekton-robot

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage-df to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/pipelinerun_conversion.go 95.7% 95.8% 0.0
pkg/reconciler/pipelinerun/pipelinerun.go 91.8% 91.2% -0.6

tekton-robot avatar May 27 '24 09:05 tekton-robot

@chengjoey @tektoncd/core-maintainers should be have a TEP for this ? It's a small but impactful API change, hence my question.

One question that pops up is : Should it be only on PipelineRun or on Pipeline, or both ? As is it a runtime thing a definition thing or both ?

vdemeester avatar May 27 '24 11:05 vdemeester

@chengjoey @tektoncd/core-maintainers should be have a TEP for this ? It's a small but impactful API change, hence my question.

One question that pops up is : Should it be only on PipelineRun or on Pipeline, or both ? As is it a runtime thing a definition thing or both ?

@vdemeester ,When I tried to write TEP, I found that it was just a very small function, so I implemented the code first.

As for the second question, I think this API field should belong to the runtime. Pipeline defines the specific information of the task, so that a Pipeline can decide whether to make it fail-fast at runtime. If co-maintainers think that Both is better, I will modify the code to support both.

Finally, I originally wrote Examples, which caused many of the previous e2e tests to fail. Later I found that Examples could only be Succeed, haha

chengjoey avatar May 27 '24 12:05 chengjoey

@vdemeester ,When I tried to write TEP, I found that it was just a very small function, so I implemented the code first.

Yeah, I think it might be fine without a TEP indeed, but I'ld rather make sure we all are inlined πŸ‘ΌπŸΌ

Finally, I originally wrote Examples, which caused many of the previous e2e tests to fail. Later I found that Examples could only be Succeed, haha

Yeah, one thing we could/should enhance πŸ˜›

vdemeester avatar May 27 '24 13:05 vdemeester

@chengjoey and @vdemeester any update about this PR? Does anyone else need to approve this?

ThomasKoppensteiner avatar Aug 19 '24 07:08 ThomasKoppensteiner

@chengjoey and @vdemeester any update about this PR? Does anyone else need to approve this?

hi @ThomasKoppensteiner , see this tep, i have submitted a proposal. i need to wait for the proposal to be accepted, and then I may need to modify the current PR. please give us some more time because we hope that all features have complete proposals and documents.

chengjoey avatar Aug 19 '24 07:08 chengjoey

@chengjoey: PR needs rebase.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

tekton-robot avatar Oct 29 '24 19:10 tekton-robot