diff options
Diffstat (limited to 'PROCESS.md')
-rw-r--r-- | PROCESS.md | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/PROCESS.md b/PROCESS.md index ad74ead8aab..1f99cebe081 100644 --- a/PROCESS.md +++ b/PROCESS.md @@ -108,7 +108,19 @@ Merge requests that make changes hidden behind a feature flag, or remove an existing feature flag because a feature is deemed stable, may be merged (and picked into the stable branches) up to the 19th of the month. Such merge requests should have the ~"feature flag" label assigned, and don't require a -corresponding exception request to be created. +corresponding exception request to be created. + +A level of common sense should be applied when deciding whether to have a feature +behind a feature flag off or on by default. + +The following guideliness can be applied to help make this decision: + +* If the feature is not fully ready or functioning, the feature flag should be disabled by default. +* If the feature is ready but there are concerns about performance or impact, the feature flag should be enabled by default, but +disabled via chatops before deployment on GitLab.com environments. If the performance concern is confirmed, the final release should have the feature flag disabled by default. +* In most other cases, the feature flag can be enabled by default. + +For more information on rolling out changes using feature flags, read [through the documentation](https://docs.gitlab.com/ee/development/rolling_out_changes_using_feature_flags.html). In order to build the final package and present the feature for self-hosted customers, the feature flag should be removed. This should happen before the |