A failed gate is working as intended — it has caught something. The job is to find out what, not to get past it.
Find the failed step on the Step box.
The stage and the step, with the error the runner itself produced.
Read the step’s log rather than the summary.
The summary says a step failed; the log says why.
Decide whether it is the code or the run.
A test that genuinely fails is the code. A step that died at the emulator, a runner that stopped listening, or a stale catalogue is the run.
Resume for a run problem; Start again for a code fix.
Resume re-runs the pinned commit, so a fix it has never seen will not be in it.
Deleting well-covered code can fail the coverage step on a change that only removed things. That is a floor to adjust, not a bug to chase.
A cloud release still needs a local runner alive. A gate that never starts is more often a dead runner than a broken release.