Skip to content

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.

Merge request reports