-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement When Expressions #3117
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 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 |
/kind feature |
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
examples/v1beta1/pipelineruns/pipelinerun-with-when-expressions.yaml
Outdated
Show resolved
Hide resolved
examples/v1beta1/pipelineruns/pipelinerun-with-when-expressions.yaml
Outdated
Show resolved
Hide resolved
This is Very exciting 🎉 I have reviewed doc and an example so far. |
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
Discussed with other pipelines owners today (@vdemeester, @sbwsg, @dibyom @imjasonh and we think it makes sense to include this in the roadmap tho we'd want to flesh out the details and might not want it exactly as described in the original issue. Also added area/roadmap labels to the items listed here!
The following is the coverage report on the affected files.
|
@jerop: The following tests failed, say
Full PR test history. Your PR dashboard. 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. I understand the commands that are listed here. |
1 similar comment
@jerop: The following tests failed, say
Full PR test history. Your PR dashboard. 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. I understand the commands that are listed here. |
Hey @jerop what happened? creating a new/separate PR? |
@pritidesai yes, here it is: #3135 |
Adding
WhenExpressions
used to efficiently specify guarded executionof
Tasks
, without spinning up new pods. We useWhenExpressions
toavoid adding an opinionated and complex expression language to the Tekton
API to ensure Tekton can be supported by as many systems as possible.
Further details about the design are in Conditions Beta TEP.
The components of
WhenExpressions
areInput
,Operator
and
Values
:Input
is the input for theGuard
checking which can be staticinputs or variables, such as
Parameters
orResults
.Operator
represents anInput
's relationship to a set ofValues
.Operators
we will use inWhenExpressions
areIn
andNotIn
.Values
is an array of string values. TheValues
array must benon-empty. It can contain static values or variables (
Parameters
orResults
).The declared
WhenExpressions
are evaluated before theTask
is run.If all the
WhenExpressions
evaluate toTrue
, theTask
is run.If any of the
WhenExpressions
evaluate toFalse
, theTask
isskipped.
Some key parts of this PR are:
Expressions
package, which can be reused beyondWhenExpressions
WhenExpressions
type in thePipelineTask
Results
andParameters
used inWhenExpressions
, either inInput
or inValues
-- can be extended touse other variables.
Results
) areused from other
Tasks
WhenExpressions
, variable substitution, among othersWhenExpressions
and updates toTask
executionbased on the evaluation results
WhenExpressionsStatus
that exposes the evaluation inputs and resultsWhenExpression
, tests and documentationChanges
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:
See the contribution guide for more details.
Double check this list of stuff that's easy to miss:
cmd
dir, please updatethe release Task to build and release this image.
Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes