Does the ROC - Fail Deployment Step ( https://docops.ca.com/ca-release-automation/integrations/en/standard-action-packs/ra-roc-deployment-steps#RAROCDeploymentSteps-ROC-FailDeploymentStep ) action also stop the further processing of that deployment step? Or should that be taken care of in the workflow design?
Asking because I want to refactor some or our workflows to fail more gracefully.
If the step is used in a flow it will exit the flow, if there is another flow used after the previous flow is complete then the deployment will continue. Give me an example what you are looking for.
I would expect the failed step to stop the whole processing of the step, not only partial flows.
I think you need to consider some points. Although you may already know, I'd like to share my knowledge.
You can configure in action settings when you want to pause on failure.
Set the "Pause on failure" and run following process.
If the action is succeeded, Passed link will be run and failed link will be cancelled.
If the action is failed, 2 actions after the failed action will be pending because failed action is just paused.
Uncheck "Pause on failure" on "Check condition" action.
If the action is failed, failed link will be run and passed link will be cancelled.
So, if you use "ROC - Fail Deployment Step" with failed link, this deployment will be failed without pause.
Flow is stateless. Actions after flow will be run even if previous action is failed. (Flow will be cancelled.)
Even if action in flow is failed, action after flow will be run as well.
So, "ROC - Fail Deployment Step" action in flow doesn't work as your expectation.
In case which there are some actions without precedent action, although one (Check condition) is failed, another one (Parallel Action) will be run. If you want to cancel all actions as soon as any action is failed, should avoid parallel actions.
As a result, I suppose it is difficult to satisfy your expectation. Set "Pause on failure" on all actions, and monitor pending deployments instead of fail the deployment forcibly.
Does anyone have any other ideas?
Did you clarify the consideration?
If any concern, please let us know.
This explains the behaviour of CA perfectly, thanks!
I do assume there isn't just a way to "kill" the process in stead of marking it as failed, but I can certainly use your input to re-design the workflows in a way killing the process isn't even needed, just letting it fail "nicely".