-
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
When expression + affinity assistant fixes for 0.16.2 #3225
When expression + affinity assistant fixes for 0.16.2 #3225
Conversation
Tasks with when expressions using variables that evaluated to false were mistakenly executed because it missed an additional check to validate that the task should be skipped after variable replacement. Fixes tektoncd#3188 (cherry picked from commit c12b843)
Add more information to the docs about using `Results` in `WhenExpressions`. Specifically: - add details and examples on how Results are used in WhenExpressions in addition to Parameters - change the name of the result used in the WhenExpressions examples, from status to exists to clarify that it's not the task status (cherry picked from commit 5b5fbb4)
- Rename the tasks to be clear when they are expected to be skipped - Add comments describing what each task in the example is testing - Embed the pipeline in the pipelinerun and generate the name Co-authored-by: [email protected] (cherry picked from commit c38c520)
Instead of creating a new empty array and appending resolved when expression, creating an array based on the existing one and replacing in place the resolved when expression. Also, do not evaluate when expressions until all parents are done, wait for parent tasks to be completed before evaluating when expressions. This check will make sure that tasks resulting in when expressions failures, are not declared skipped in advance before their parents are done. With when expressions having reference to task results, evaluate and apply task results before checking if its to run finally tasks. This change is necessary to make sure all the leaf nodes of DAG have resolved task results in their when expressions to evaluate whether DAG is done or not. This change of order works today since finally tasks does not need to resolve task results yet. Once we add task results support in finally, we will have to make one more call to apply task results after adding finally tasks to execution queue. (cherry picked from commit c90461f)
/lgtm |
The PipelineRun reconciler cleanup the affinity assistant when the PipelineRun is completed. If the cleanup-function is called more than once, the DELETE request will return a NotFound response. It does not make sense to return NotFound responses as an error, since this is what we want to achieve. (cherry picked from commit 204a403)
I've added #3212 as well - will need another lgtm (+ approve!) :) |
/lgtm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks a bunch 🥰
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: pritidesai The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Changes
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