How to have one step always run if another step is successful (even if that version nuget was previously installed)?

I know you can set up a deployment to require all steps always be run regardless of the version of the nuget in the steps (i.e. Project Settings> “Always deploy all packages”). I know also that you can set a step to “Always Run” instead of being contingent on the success of a previous step.
How do you specify that step B should always run if step A is completed successfully, even if step B’s nuget version is already installed on the target? I don’t want to force all steps to always run regardless of version because I have a several slower steps (steps C, D, E, etc.) in the deployment that I’d like to avoid running if it isn’t necessary.
In my case, I have a database script in step B that should only be run if another database script (step A) completes. Step B is from a reusable template step so I can’t just combine the two steps.

Hi Dave,

Thanks for getting in touch!
We are really close to being able to call our Step progress variables as being testable. But its just waiting on another item to be released shortly.
It will allow you to find the status of the previous step, including words like ‘skipped’ which should help you in this situation.
This is the issue that will help you and is technically part of the latest pre-release
but this bug: is the blocker. Once released those variables will be nice and reliable.

Hope that helps!

Thanks for your response. I’ll look forward to the new release.

Hi Dave,

This bug fix is now live and available as part of the 2.5 release which has been moved from pre-release to stable.
You can read more about the deployment status variables here:

Thanks again for your patience.

That’s good news. Thanks for taking the time to let me know.