Prevent non-retryable jobs from being retried
What does this MR do and why?
When a job is played, the PlayBuildService
will attempt to enqueue it. If that fails (e.g. invalid state transition), the build will be retried. Retrying means the job will be cloned and then enqueued. This could result in a blocked/rejected deployment from being run without approval. It may also allow archived jobs to be re-run. In order to prevent this, we can check if a build is retryable?
before we retry it.
See !75710 (comment 756445822) for more context.
Part of Deployment Approvals MVC: #343864 (closed)
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.