-
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
Resource upload containers should be able to run even if steps in the pod have failed #1149
Comments
At first glance, it looks like we could do this by adding a flag to the |
This seems like a |
I think for these particular purposes it'd be step-specific, so it would probably make sense to add it to |
Right now we have an implicit assumption that a failed step will stop the rest of the steps in a Task, and that a failed Task will stop the execution of the pipeline (except for tasks that are already running). I think the assumption is correct for sequential items - like steps - but we should have some
The way I solved this in the past was by using async Tasks - i.e. use a cloud event (which is sent regardless of the exit condition of the Task) to trigger an external TaskRun that is responsible to update GitHub. While this increases complexity, it allows decoupling the notification behaviour as well as the status from the initial pipeline. For instance I can add extra postprocessing (like PR update) without changing the original pipeline and also the status of the original pipeline won't be affected by the outcome of the postprocessing itself. |
My personal feeling is that Notifications (#49) could be a nice answer here. Notifications could use PipelineResources and their job would be to:
|
Closing this in favor of #2448 |
@dibyom: Closing this issue. In response to this:
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. |
Currently, the step(s) added by
GetUploadContainerSpec()
won't run if an earlier step fails, since the pod won't run any steps after a failure. This makes things like reporting a build failure via aPullRequestResource
or uploading the workspace to a storage resource even if the build fails impossible. This should be configurable, ideally both as something that can be inherent to the resource type (i.e., you're always going to want to run thePullRequestResource
upload) and something that can be configured on an individual resource (i.e., you're not always going to want to upload to a storage resource after a failure, but sometimes you might!).The text was updated successfully, but these errors were encountered: