summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToon Claes <toon@gitlab.com>2019-08-21 17:47:16 +0200
committerToon Claes <toon@gitlab.com>2019-08-21 17:47:16 +0200
commita1d3fbdcc2917171ae65f544db9e1d957ebb39da (patch)
treeb9a082505b3da4ce0ebb3d1c417aa148cc125dcc
parent77ffe60c5598db23cbc031eb896fd4a89784fb3d (diff)
downloadgitlab-ce-tc-feature-flags-migration-docs.tar.gz
Document to remove feature flag through migrationtc-feature-flags-migration-docs
Instead of asking people to use chatops to remove a no-longer-existing feature flag, ask them to do so with a migration. This will also clean up the feature flags for self-managed installs.
-rw-r--r--doc/development/feature_flags/controls.md20
1 files changed, 9 insertions, 11 deletions
diff --git a/doc/development/feature_flags/controls.md b/doc/development/feature_flags/controls.md
index 739f4207e27..8712fb1eccc 100644
--- a/doc/development/feature_flags/controls.md
+++ b/doc/development/feature_flags/controls.md
@@ -106,18 +106,16 @@ For groups the `--group` flag is available:
## Cleaning up
-Once the change is deemed stable, submit a new merge request to remove the
-feature flag. This ensures the change is available to all users and self-hosted
-instances. Make sure to add the ~"feature flag" label to this merge request so
+Once the change is deemed stable, submit a new merge request that:
+
+- Removes the code using the feature flag
+- Adds a migration that removes the feature setting: `Feature.remove('some_feature')`
+
+This ensures the change is available to all users on GitLab.com and self-hosted
+instances, and there are no non-existing feature flag left behind in the database.
+
+Make sure to add the ~"feature flag" label to this merge request so
release managers are aware the changes are hidden behind a feature flag. If the
merge request has to be picked into a stable branch, make sure to also add the
appropriate "Pick into X" label (e.g. "Pick into XX.X").
See [the process document](process.md#including-a-feature-behind-feature-flag-in-the-final-release) for further details.
-
-When a feature gate has been removed from the code base, the value still exists
-in the database.
-This can be removed through ChatOps:
-
-```
-/chatops run feature delete some_feature
-```