Strictly consequent workflows in GitHub actions

Hi, I think I have a use-case for a strictly consequent workflow execution in GitHub actions.
There is an application, which is deployed through Github Actions into GAE. During a deployment process a cleanup of old versions is initiated, which means that GAE services “versions” are manipulated. It takes time for a service “version” to transit into a different stage though. Now imagine a relatively frequent merge into branch, which gets deployed - GAE service versions manipulation fails at some point due to a next workflow expects a previous version to be in a certain state, but it is not there yet (since previous workflow did not fully complete all its steps).
Is there a way to queue any subsequent workflows for a branch (in general or by criteria) until previous workflows exit?

have not found any solution yet …
well except using something as a shared lock for a workflow: e.g. let a workflow set a flag in some database about that it had started and finished - and have any workflow to wait for that until that flag is finished.
Downside is that unexpected failure of a previous workflow can lead to infinite wait.