Consume the routed runner machine when assigning jobs

Related MRs

  1. !244035 (merged) - schema + read-side groundwork
  2. !247560 (merged) - persist Ci::JobRuntimeEnvironment on suspend
  3. !247561 (merged) - record the runner machine assignment when a build starts running
  4. !247562 (merged) - resolve runner_machine_id when queuing a suspend/resume build
  5. This MR - consume the routed runner machine when assigning jobs
  6. !247564 (merged) - retire the old environment_key string-matching routing mechanism

What does this MR do and why?

Reads suspend_options (suspend_on_success, suspend_on_failure, environment_key) from the build's Ci::JobRuntimeEnvironment row instead of build.options.

Part of routing resumed builds to the runner machine that holds their suspended environment Resumable Jobs for CI and Agent Sessions (gitlab-org#21159).

References

Issue: Resumable Jobs for CI and Agent Sessions (gitlab-org#21159)

Blueprint: Add blueprint for suspendable environments (gitlab-com/content-sites/handbook!18954 - merged)

How to set up and validate locally

There is no E2E tests for this. Running spec would validate it.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Ashvin Sharma

Merge request reports

Loading
Loading