I have parallel steps - each steps use linux shell runners and execute scripts.
The scripts contains action that pulls the latest code and restarting service.
The script was use in all steps, other step is success and other is fail but on fail steps, the build teardown is same on the successful steps:

I'm using the latest version of pipelines-runner as of today:
atlassian-bitbucket-pipelines-runner-1.559