Remove completed-rollout feature flags (FF_USE_NEW_BASH_EVAL_STRATEGY, FF_SKIP_NOOP_BUILD_STAGES, FF_SET_PERMISSIONS_BEFORE_CLEANUP)

What does this MR do?

Removes three feature flags whose rollout completed long ago and whose non-default state has no plausible production use. For each flag, the current default behavior becomes unconditional and the alternate code path is deleted.

Flag Constant Action
FF_USE_NEW_BASH_EVAL_STRATEGY UseNewEvalStrategy Removed (was already a no-op/deprecated)
FF_SKIP_NOOP_BUILD_STAGES SkipNoOpBuildStages Removed; skipping no-op stages is now unconditional
FF_SET_PERMISSIONS_BEFORE_CLEANUP SetPermissionsBeforeCleanup Removed; chmod before rm is now unconditional

Why was this MR needed?

These flags fall in the "safe to remove now" tier of the feature flag lifecycle epic. The defaults have been stable for years, the off state provides no benefit, and open-issue mentions are incidental (configuration dumps in bug reports, not reliance on the flag).

Part of gitlab-org#23127

What's the best way to test this MR?

  • go vet ./helpers/featureflags/... ./common/... ./shells/... — passes clean
  • go test ./helpers/featureflags/... ./shells/... — passes
  • go test -run TestSkipNoOpBuildStage ./common/... — passes
  • go test -run TestBash_RmDir ./shells/... — passes
  • grep -r "FF_USE_NEW_BASH_EVAL_STRATEGY\|FF_SKIP_NOOP_BUILD_STAGES\|FF_SET_PERMISSIONS_BEFORE_CLEANUP" --include="*.go" --include="*.md" . — no hits outside changelog/testdata

What are the relevant issue numbers?

Closes #39679 (closed)

Merge request reports

Loading
Loading