Use contexes everywhere
What does this MR do?
This MR refactors GitLab Runner codebase to use contexts everywhere and make "external operations" to be cancelable and abortable at any stage of the process.
Why was this MR needed?
We are seeing a lot of failures, because of broken prepare
phase which doesn't use build timeout. This fixes that problem, and number of others, by using well established Golang's context concept.
Are there points in the code the reviewer needs to double check?
Does this MR meet the acceptance criteria?
-
Documentation created/updated - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Branch has no merge conflicts with master
(if you do - rebase it please)
What are the relevant issue numbers?
References #2375