Loading
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 cleango test ./helpers/featureflags/... ./shells/...— passesgo test -run TestSkipNoOpBuildStage ./common/...— passesgo test -run TestBash_RmDir ./shells/...— passesgrep -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)