support `fail-fast` for PipelineRun
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
[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.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
/hold
/kind feature
/test check-pr-has-kind-label
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
@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 ?
@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
PipelineRunor onPipeline, 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
@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 π
@chengjoey and @vdemeester any update about this PR? Does anyone else need to approve this?
@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: 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.