Runner_wrapper: fix backoff retry context cancellation handling

What does this MR do?

Fixes retry backoff cancellation handling by returning the correct context error and replacing time.After with a stoppable timer.

Why was this MR needed?

The retry loop returned the parent context error instead of the deadline context and used time.After in a loop, which can lead to unnecessary timer allocations and delayed cancellation.

What's the best way to test this MR?

go test ./helpers/runner_wrapper/api/client

What are the relevant issue numbers?

N/A (internal correctness fix)

Merge request reports

Loading