Deprecate FF_USE_WINDOWS_LEGACY_PROCESS_STRATEGY

Part of gitlab-org#23127 (assigned in note_3666997909).

Flag: FF_USE_WINDOWS_LEGACY_PROCESS_STRATEGY, a legacy switch-back, default false since !4659 (merged) (2024-02-26), no reverts.

Verdict: Categorization confirmed. Removal was deferred while #39297 (closed) was open, because the default path could not terminate a job gracefully on a Windows service and setting this flag was the only workaround. That defect is fixed and released in 19.4, so the flag no longer protects anything.

Action: Deprecate now and schedule removal, per vtak's guidance. Deprecation in !7351 (merged). Removal tracked in #39808, milestone 19.8.

Work breakdown

# Item Milestone MR State
1 Console restore failure force-kills a job that is stopping gracefully 19.4 !7275 (merged) Merged 2026-09-10
2 Canceling a job always kills the process on a Windows service 19.4 !7276 (merged) Merged 2026-09-04
3 Test process termination when the runner holds no console 19.5 !7275 (merged) Merged 2026-09-10
4 Deprecate the flag, schedule removal 19.5 !7351 (merged) Open
5 Remove the flag and the legacy code path 19.8 — Not started

Notes on the order:

  • Item 3 landed inside !7275 (merged) rather than its own merge request. !7277 (closed) was closed once its content was folded in.
  • Item 1 was a defect in the legacy path that this flag selects, so it disappears with the flag. It was in the chain because item 2 reuses the same console attach and restore sequence.
  • Item 4 changes no behavior. The flag still works and its default is unchanged, so anyone who sets it today is unaffected until item 5.
  • Item 5 is the removal. Nothing on .com exercises this path, since it needs a self-managed Windows runner using the shell executor, installed as a service. The signal before removal is the absence of community reports, not telemetry.

Refs: introduced in !2739 (merged) · default flipped in !4659 (merged)

Edited by Lachlan Grant