Welcome to mirror list, hosted at ThFree Co, Russian Federation.

feature_flags_table.md.erb « layouts - gitlab.com/gitlab-org/gitlab-docs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9346f2e8ca60bbb9c0952359a62517ba2db72681 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<%
feature_flags_yaml = @items["/_data/feature_flags.yaml"]

def enabled_state(ff)
  ff[:default_enabled] ? 'Enabled' : 'Disabled'
end

def enabled_count(ffs)
  ffs.count { |ff| ff[:default_enabled] }
end

def disabled_count(ffs)
  ffs.count { |ff| !ff[:default_enabled] }
end
%>
<% if feature_flags_yaml %>
## Available feature flags

The feature flags available to you depend on:

- The edition of GitLab: [Community Edition or Enterprise Edition](https://about.gitlab.com/install/ce-or-ee/).
- The version of GitLab: For example, 15.8 or 16.0.
- The installation of GitLab: self-managed or GitLab.com.

<% feature_flags_yaml[:products].each do |product, ffs| %>
### <%= product %>

<%= ffs.count %> feature flags are available in <%= product %>.

<% sorted_ff = ffs.sort_by { |ff| ff[:milestone].to_f } %>

| Name | Group  | Milestone | Default state | Rollout issue |
|------|--------|-----------|---------------|---------------|
<% sorted_ff.reverse.each do |ff| %>| <%= ff[:introduced_by_url] ? "[`#{ff[:name]}`](#{ff[:introduced_by_url]})" : "`#{ff[:name]}`" %> | `<%= ff[:group] || 'Not defined' %>` | <%= ff[:milestone] || 'Not defined' %> | <%= enabled_state(ff) %> | <%= ff[:rollout_issue_url] ? "<#{ff[:rollout_issue_url]}>" : 'Not defined' %> |
<% end %>

<% end %>

## Ownership by group

GitLab features are developed by
[engineering groups](https://about.gitlab.com/handbook/product/categories/).

<% all_ffs = feature_flags_yaml[:products].map { |_, ffs| ffs }.flatten %>
<% ff_groups = all_ffs.group_by { |ff| ff[:group] || 'Not defined' }.sort_by { |group, _| group } %>

| Group | Count | Enabled | Disabled |
|-------|-------|---------|----------|
<% ff_groups.each do |group, ffs| %> | `<%= group %>` | <%= ffs.count %> | <%= enabled_count(ffs) %> | <%= disabled_count(ffs) %> |
<% end %>

## Count by milestone

GitLab features [are delivered](https://about.gitlab.com/handbook/engineering/releases/):

- Continuously for GitLab SaaS.
- Every month on the [release date](https://about.gitlab.com/releases/) for GitLab self-managed.

<% all_ffs = feature_flags_yaml[:products].map { |_, ffs| ffs }.flatten %>
<% ff_milestones = all_ffs.group_by { |ff| ff[:milestone].to_s || 'Not defined' }.sort_by { |milestone, _| milestone } %>

| Milestone | Count | Enabled | Disabled |
|-----------|-------|---------|----------|
<% ff_milestones.reverse.each do |milestone, ffs| %> | <%= milestone %> | <%= ffs.count %> | <%= enabled_count(ffs) %> | <%= disabled_count(ffs) %> |
<% end %>
<% end %>