diff --git a/app/assets/javascripts/ci/runner/admin_runner_show/admin_runner_show_app.vue b/app/assets/javascripts/ci/runner/admin_runner_show/admin_runner_show_app.vue
index 2706d454027..38a548ff8a0 100644
--- a/app/assets/javascripts/ci/runner/admin_runner_show/admin_runner_show_app.vue
+++ b/app/assets/javascripts/ci/runner/admin_runner_show/admin_runner_show_app.vue
@@ -1,10 +1,10 @@
-
+
diff --git a/app/assets/javascripts/ci/runner/components/runner_details_tabs.vue b/app/assets/javascripts/ci/runner/components/runner_show.vue
similarity index 99%
rename from app/assets/javascripts/ci/runner/components/runner_details_tabs.vue
rename to app/assets/javascripts/ci/runner/components/runner_show.vue
index b7a5c30173d..8ba723744f6 100644
--- a/app/assets/javascripts/ci/runner/components/runner_details_tabs.vue
+++ b/app/assets/javascripts/ci/runner/components/runner_show.vue
@@ -37,7 +37,7 @@ const routes = [
];
export default {
- name: 'RunnerDetailsTabs',
+ name: 'RunnerShow',
components: {
GlBadge,
GlTabs,
diff --git a/app/assets/javascripts/ci/runner/group_runner_show/group_runner_show_app.vue b/app/assets/javascripts/ci/runner/group_runner_show/group_runner_show_app.vue
index 75103cc8731..9e7db42b707 100644
--- a/app/assets/javascripts/ci/runner/group_runner_show/group_runner_show_app.vue
+++ b/app/assets/javascripts/ci/runner/group_runner_show/group_runner_show_app.vue
@@ -1,10 +1,10 @@
-
-import RunnerDetailsTabs from '../components/runner_details_tabs.vue';
+import RunnerShow from '../components/runner_show.vue';
export default {
name: 'ProjectRunnerShowApp',
components: {
- RunnerDetailsTabs,
+ RunnerShow,
},
props: {
runnerId: {
@@ -23,7 +23,7 @@ export default {
};
- 'delete_package_from_registry',
'delete_recipe_revision' => 'delete_recipe_revision_from_registry',
+ 'delete_package_reference' => 'delete_package_reference_from_registry',
+ 'delete_package_revision' => 'delete_package_revision_from_registry',
'pull_package' => 'pull_package_from_registry',
'push_package' => 'push_package_to_registry',
'push_symbol_package' => 'push_symbol_package_to_registry',
diff --git a/app/views/profiles/preferences/show.html.haml b/app/views/profiles/preferences/show.html.haml
index bdd44063db2..4be40352e21 100644
--- a/app/views/profiles/preferences/show.html.haml
+++ b/app/views/profiles/preferences/show.html.haml
@@ -19,18 +19,40 @@
= gitlab_ui_form_for @user, url: profile_preferences_path, remote: true, method: :put, html: { id: "profile-preferences-form" } do |f|
= render_if_exists 'profiles/preferences/code_suggestions_settings_self_assignment'
- = render ::Layouts::SettingsSectionComponent.new(s_('Preferences|Appearance'),
+ = render ::Layouts::SettingsSectionComponent.new(s_('Preferences|Mode'),
id: 'appearance',
options: { class: 'js-preferences-form' }) do |c|
- c.with_description do
- = s_('Preferences|Choose the appearance of the application.')
+ = s_('Preferences|Choose a color mode.')
- c.with_body do
- Gitlab::ColorModes.each do |mode|
= f.gitlab_ui_radio_component :color_mode_id, mode.id,
mode.name,
radio_options: { checked: user_color_mode_id == mode.id }
- = render ::Layouts::SettingsSectionComponent.new(s_('Preferences|Navigation theme'),
+ = render ::Layouts::SettingsSectionComponent.new(s_('Preferences|Syntax highlights'),
+ id: 'syntax-highlighting-theme',
+ options: { class: 'js-preferences-form' }) do |c|
+ - c.with_description do
+ = s_('Preferences|Choose a highlight color scheme for viewing and editing code.')
+ - c.with_body do
+ .syntax-theme.row
+ - Gitlab::ColorSchemes.each do |scheme|
+ %label.col-6.col-sm-3.col-md-2.col-lg-auto.gl-mb-5
+ .preview= image_tag "#{scheme.css_class}-scheme-preview.png", alt: "#{scheme.css_class} scheme preview"
+ = f.gitlab_ui_radio_component :color_scheme_id, scheme.id,
+ scheme.name,
+ radio_options: { checked: user_color_schema_id == scheme.id }
+
+ = render ::Layouts::SettingsSectionComponent.new(s_('Preferences|Diffs'),
+ id: 'diffs-colors',
+ options: { class: 'js-preferences-form' }) do |c|
+ - c.with_description do
+ = s_('Preferences|Choose a color scheme for removed and added lines in diffs.')
+ - c.with_body do
+ #js-profile-preferences-diffs-colors-app{ data: user_diffs_colors }
+
+ = render ::Layouts::SettingsSectionComponent.new(s_('Preferences|Navigation'),
id: 'navigation-theme',
options: { class: 'js-preferences-form application-theme' }) do |c|
- c.with_description do
@@ -44,32 +66,6 @@
theme.name,
radio_options: { checked: user_theme_id == theme.id }
- = render ::Layouts::SettingsSectionComponent.new(s_('Preferences|Syntax highlighting theme'),
- id: 'syntax-highlighting-theme',
- options: { class: 'js-preferences-form' }) do |c|
- - c.with_description do
- = s_('Preferences|Choose the syntax highlighting theme used when viewing or editing code in GitLab.')
- = succeed '.' do
- = link_to _('Learn more'), help_page_path('user/profile/preferences.md', anchor: 'change-the-syntax-highlighting-theme'), target: '_blank', rel: 'noopener noreferrer'
- - c.with_body do
- .syntax-theme.row
- - Gitlab::ColorSchemes.each do |scheme|
- %label.col-6.col-sm-4.col-md-3.col-lg-auto.gl-mb-5
- .preview= image_tag "#{scheme.css_class}-scheme-preview.png", alt: "#{scheme.css_class} scheme preview"
- = f.gitlab_ui_radio_component :color_scheme_id, scheme.id,
- scheme.name,
- radio_options: { checked: user_color_schema_id == scheme.id }
-
- = render ::Layouts::SettingsSectionComponent.new(s_('Preferences|Diff colors'),
- id: 'diffs-colors',
- options: { class: 'js-preferences-form' }) do |c|
- - c.with_description do
- = s_('Preferences|Customize the colors of removed and added lines in diffs.')
- = succeed '.' do
- = link_to _('Learn more'), help_page_path('user/profile/preferences.md', anchor: 'change-the-syntax-highlighting-theme'), target: '_blank', rel: 'noopener noreferrer'
- - c.with_body do
- #js-profile-preferences-diffs-colors-app{ data: user_diffs_colors }
-
= render ::Layouts::SettingsSectionComponent.new(s_('Preferences|Behavior'),
id: 'behavior',
options: { class: 'js-preferences-form' }) do |c|
diff --git a/config/events/delete_package_reference.yml b/config/events/delete_package_reference.yml
new file mode 100644
index 00000000000..3ca4f9a18ce
--- /dev/null
+++ b/config/events/delete_package_reference.yml
@@ -0,0 +1,19 @@
+---
+description: Package_reference deleted from a package in the registry
+action: delete_package_reference
+identifiers:
+ - project
+ - namespace
+ - user
+additional_properties:
+ label:
+ description: The name of the package type
+ property:
+ description: The auth type. Either 'guest', 'user' or 'deploy_token'
+product_group: package_registry
+milestone: '18.1'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/191910
+tiers:
+ - free
+ - premium
+ - ultimate
diff --git a/config/events/delete_package_reference_from_registry.yml b/config/events/delete_package_reference_from_registry.yml
new file mode 100644
index 00000000000..1588efccb50
--- /dev/null
+++ b/config/events/delete_package_reference_from_registry.yml
@@ -0,0 +1,20 @@
+---
+description: Tracks when a package_reference is deleted from a package in the registry
+action: delete_package_reference_from_registry
+internal_events: true
+identifiers:
+ - project
+ - namespace
+ - user
+additional_properties:
+ label:
+ description: The name of the package type
+ property:
+ description: The auth type. Either 'guest', 'user' or 'deploy_token'
+product_group: package_registry
+milestone: '18.1'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/191910
+tiers:
+ - free
+ - premium
+ - ultimate
diff --git a/config/events/delete_package_revision.yml b/config/events/delete_package_revision.yml
new file mode 100644
index 00000000000..07641e4f1ff
--- /dev/null
+++ b/config/events/delete_package_revision.yml
@@ -0,0 +1,19 @@
+---
+description: Package_revision deleted from a package in the registry
+action: delete_package_revision
+identifiers:
+ - project
+ - namespace
+ - user
+additional_properties:
+ label:
+ description: The name of the package type
+ property:
+ description: The auth type. Either 'guest', 'user' or 'deploy_token'
+product_group: package_registry
+milestone: '18.1'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/191910
+tiers:
+ - free
+ - premium
+ - ultimate
diff --git a/config/events/delete_package_revision_from_registry.yml b/config/events/delete_package_revision_from_registry.yml
new file mode 100644
index 00000000000..772cae5c3e1
--- /dev/null
+++ b/config/events/delete_package_revision_from_registry.yml
@@ -0,0 +1,20 @@
+---
+description: Tracks when a package_revision is deleted from a package in the registry
+action: delete_package_revision_from_registry
+internal_events: true
+identifiers:
+ - project
+ - namespace
+ - user
+additional_properties:
+ label:
+ description: The name of the package type
+ property:
+ description: The auth type. Either 'guest', 'user' or 'deploy_token'
+product_group: package_registry
+milestone: '18.1'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/191910
+tiers:
+ - free
+ - premium
+ - ultimate
diff --git a/config/feature_flags/beta/vscode_extension_marketplace_settings.yml b/config/feature_flags/beta/vscode_extension_marketplace_settings.yml
deleted file mode 100644
index bb4f5797137..00000000000
--- a/config/feature_flags/beta/vscode_extension_marketplace_settings.yml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-name: vscode_extension_marketplace_settings
-feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/508977
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/181624
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/508996
-milestone: '17.10'
-group: group::remote development
-type: beta
-default_enabled: true
diff --git a/config/feature_flags/beta/web_ide_extensions_marketplace.yml b/config/feature_flags/beta/web_ide_extensions_marketplace.yml
deleted file mode 100644
index 03f8a375bf6..00000000000
--- a/config/feature_flags/beta/web_ide_extensions_marketplace.yml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-name: web_ide_extensions_marketplace
-feature_issue_url: https://gitlab.com/groups/gitlab-org/-/epics/7685
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/151352
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/459028
-milestone: '17.0'
-group: group::ide
-type: beta
-default_enabled: true
diff --git a/config/feature_flags/development/packages_dependency_proxy_containers_scope_check.yml b/config/feature_flags/development/packages_dependency_proxy_containers_scope_check.yml
deleted file mode 100644
index fc44a407d37..00000000000
--- a/config/feature_flags/development/packages_dependency_proxy_containers_scope_check.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: packages_dependency_proxy_containers_scope_check
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/136655
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/431386
-milestone: '16.7'
-type: development
-group: group::container registry
-default_enabled: false
diff --git a/config/metrics/counts_28d/20210901223200_p_ci_templates_pages_octopress_monthly.yml b/config/metrics/counts_28d/20210901223200_p_ci_templates_pages_octopress_monthly.yml
deleted file mode 100644
index 7b2ac26a0e7..00000000000
--- a/config/metrics/counts_28d/20210901223200_p_ci_templates_pages_octopress_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_octopress_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_octopress
diff --git a/config/metrics/counts_28d/20210901223210_p_ci_templates_pages_brunch_monthly.yml b/config/metrics/counts_28d/20210901223210_p_ci_templates_pages_brunch_monthly.yml
deleted file mode 100644
index 9d33778ff36..00000000000
--- a/config/metrics/counts_28d/20210901223210_p_ci_templates_pages_brunch_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_brunch_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_brunch
diff --git a/config/metrics/counts_28d/20210901223219_p_ci_templates_pages_doxygen_monthly.yml b/config/metrics/counts_28d/20210901223219_p_ci_templates_pages_doxygen_monthly.yml
deleted file mode 100644
index c8d9a31cc12..00000000000
--- a/config/metrics/counts_28d/20210901223219_p_ci_templates_pages_doxygen_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_doxygen_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_doxygen
diff --git a/config/metrics/counts_28d/20210901223227_p_ci_templates_pages_hyde_monthly.yml b/config/metrics/counts_28d/20210901223227_p_ci_templates_pages_hyde_monthly.yml
deleted file mode 100644
index bcdd8544d14..00000000000
--- a/config/metrics/counts_28d/20210901223227_p_ci_templates_pages_hyde_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_hyde_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_hyde
diff --git a/config/metrics/counts_28d/20210901223236_p_ci_templates_pages_lektor_monthly.yml b/config/metrics/counts_28d/20210901223236_p_ci_templates_pages_lektor_monthly.yml
deleted file mode 100644
index d67149901c7..00000000000
--- a/config/metrics/counts_28d/20210901223236_p_ci_templates_pages_lektor_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_lektor_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_lektor
diff --git a/config/metrics/counts_28d/20210901223244_p_ci_templates_pages_jbake_monthly.yml b/config/metrics/counts_28d/20210901223244_p_ci_templates_pages_jbake_monthly.yml
deleted file mode 100644
index 027b6d909de..00000000000
--- a/config/metrics/counts_28d/20210901223244_p_ci_templates_pages_jbake_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_jbake_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_jbake
diff --git a/config/metrics/counts_28d/20210901223253_p_ci_templates_pages_hexo_monthly.yml b/config/metrics/counts_28d/20210901223253_p_ci_templates_pages_hexo_monthly.yml
deleted file mode 100644
index 410ae74010e..00000000000
--- a/config/metrics/counts_28d/20210901223253_p_ci_templates_pages_hexo_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_hexo_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_hexo
diff --git a/config/metrics/counts_28d/20210901223302_p_ci_templates_pages_middleman_monthly.yml b/config/metrics/counts_28d/20210901223302_p_ci_templates_pages_middleman_monthly.yml
deleted file mode 100644
index b23458ea211..00000000000
--- a/config/metrics/counts_28d/20210901223302_p_ci_templates_pages_middleman_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_middleman_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_middleman
diff --git a/config/metrics/counts_28d/20210901223311_p_ci_templates_pages_hugo_monthly.yml b/config/metrics/counts_28d/20210901223311_p_ci_templates_pages_hugo_monthly.yml
deleted file mode 100644
index 0887d8e796e..00000000000
--- a/config/metrics/counts_28d/20210901223311_p_ci_templates_pages_hugo_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_hugo_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_hugo
diff --git a/config/metrics/counts_28d/20210901223319_p_ci_templates_pages_pelican_monthly.yml b/config/metrics/counts_28d/20210901223319_p_ci_templates_pages_pelican_monthly.yml
deleted file mode 100644
index 23a93d0110a..00000000000
--- a/config/metrics/counts_28d/20210901223319_p_ci_templates_pages_pelican_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_pelican_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_pelican
diff --git a/config/metrics/counts_28d/20210901223328_p_ci_templates_pages_nanoc_monthly.yml b/config/metrics/counts_28d/20210901223328_p_ci_templates_pages_nanoc_monthly.yml
deleted file mode 100644
index 8a57a95e412..00000000000
--- a/config/metrics/counts_28d/20210901223328_p_ci_templates_pages_nanoc_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_nanoc_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_nanoc
diff --git a/config/metrics/counts_28d/20210901223337_p_ci_templates_pages_swaggerui_monthly.yml b/config/metrics/counts_28d/20210901223337_p_ci_templates_pages_swaggerui_monthly.yml
deleted file mode 100644
index 268c2a758af..00000000000
--- a/config/metrics/counts_28d/20210901223337_p_ci_templates_pages_swaggerui_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_swaggerui_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_swaggerui
diff --git a/config/metrics/counts_28d/20210901223346_p_ci_templates_pages_jigsaw_monthly.yml b/config/metrics/counts_28d/20210901223346_p_ci_templates_pages_jigsaw_monthly.yml
deleted file mode 100644
index cd177efc707..00000000000
--- a/config/metrics/counts_28d/20210901223346_p_ci_templates_pages_jigsaw_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_jigsaw_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_jigsaw
diff --git a/config/metrics/counts_28d/20210901223354_p_ci_templates_pages_metalsmith_monthly.yml b/config/metrics/counts_28d/20210901223354_p_ci_templates_pages_metalsmith_monthly.yml
deleted file mode 100644
index 5f71340c5b8..00000000000
--- a/config/metrics/counts_28d/20210901223354_p_ci_templates_pages_metalsmith_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_metalsmith_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_metalsmith
diff --git a/config/metrics/counts_28d/20210901223403_p_ci_templates_pages_gatsby_monthly.yml b/config/metrics/counts_28d/20210901223403_p_ci_templates_pages_gatsby_monthly.yml
deleted file mode 100644
index 131326e47d7..00000000000
--- a/config/metrics/counts_28d/20210901223403_p_ci_templates_pages_gatsby_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_gatsby_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_gatsby
diff --git a/config/metrics/counts_28d/20210901223412_p_ci_templates_pages_html_monthly.yml b/config/metrics/counts_28d/20210901223412_p_ci_templates_pages_html_monthly.yml
deleted file mode 100644
index 8bd5d924ced..00000000000
--- a/config/metrics/counts_28d/20210901223412_p_ci_templates_pages_html_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_html_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_html
diff --git a/config/metrics/counts_28d/20210901223421_p_ci_templates_dart_monthly.yml b/config/metrics/counts_28d/20210901223421_p_ci_templates_dart_monthly.yml
deleted file mode 100644
index ffbd31730ed..00000000000
--- a/config/metrics/counts_28d/20210901223421_p_ci_templates_dart_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_dart_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_dart
diff --git a/config/metrics/counts_28d/20210901223430_p_ci_templates_docker_monthly.yml b/config/metrics/counts_28d/20210901223430_p_ci_templates_docker_monthly.yml
deleted file mode 100644
index 56e38d0c1c4..00000000000
--- a/config/metrics/counts_28d/20210901223430_p_ci_templates_docker_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_docker_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_docker
diff --git a/config/metrics/counts_28d/20210901223439_p_ci_templates_julia_monthly.yml b/config/metrics/counts_28d/20210901223439_p_ci_templates_julia_monthly.yml
deleted file mode 100644
index 61426ea4a12..00000000000
--- a/config/metrics/counts_28d/20210901223439_p_ci_templates_julia_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_julia_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_julia
diff --git a/config/metrics/counts_28d/20210901223447_p_ci_templates_npm_monthly.yml b/config/metrics/counts_28d/20210901223447_p_ci_templates_npm_monthly.yml
deleted file mode 100644
index 39e934b15bb..00000000000
--- a/config/metrics/counts_28d/20210901223447_p_ci_templates_npm_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_npm_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_npm
diff --git a/config/metrics/counts_28d/20210901223456_p_ci_templates_dotnet_core_monthly.yml b/config/metrics/counts_28d/20210901223456_p_ci_templates_dotnet_core_monthly.yml
deleted file mode 100644
index 90d91d901d0..00000000000
--- a/config/metrics/counts_28d/20210901223456_p_ci_templates_dotnet_core_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_dotnet_core_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_dotnet_core
diff --git a/config/metrics/counts_28d/20210901223505_p_ci_templates_5_minute_production_app_monthly.yml b/config/metrics/counts_28d/20210901223505_p_ci_templates_5_minute_production_app_monthly.yml
deleted file mode 100644
index 4e8dadc0605..00000000000
--- a/config/metrics/counts_28d/20210901223505_p_ci_templates_5_minute_production_app_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_5_minute_production_app_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_5_minute_production_app
diff --git a/config/metrics/counts_28d/20210901223514_p_ci_templates_ruby_monthly.yml b/config/metrics/counts_28d/20210901223514_p_ci_templates_ruby_monthly.yml
deleted file mode 100644
index b8f80e761e5..00000000000
--- a/config/metrics/counts_28d/20210901223514_p_ci_templates_ruby_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_ruby_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_ruby
diff --git a/config/metrics/counts_28d/20210901223523_p_ci_templates_implicit_jobs_dast_default_branch_deploy_monthly.yml b/config/metrics/counts_28d/20210901223523_p_ci_templates_implicit_jobs_dast_default_branch_deploy_monthly.yml
deleted file mode 100644
index 9a1ae4408e3..00000000000
--- a/config/metrics/counts_28d/20210901223523_p_ci_templates_implicit_jobs_dast_default_branch_deploy_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_dast_default_branch_deploy_monthly
-description: ''
-product_group: dynamic_analysis
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_dast_default_branch_deploy
diff --git a/config/metrics/counts_28d/20210901223532_p_ci_templates_implicit_jobs_load_performance_testing_monthly.yml b/config/metrics/counts_28d/20210901223532_p_ci_templates_implicit_jobs_load_performance_testing_monthly.yml
deleted file mode 100644
index 946cebb71c8..00000000000
--- a/config/metrics/counts_28d/20210901223532_p_ci_templates_implicit_jobs_load_performance_testing_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_load_performance_testing_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: removed
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_load_performance_testing
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210901223541_p_ci_templates_implicit_jobs_helm_2to3_monthly.yml b/config/metrics/counts_28d/20210901223541_p_ci_templates_implicit_jobs_helm_2to3_monthly.yml
deleted file mode 100644
index ecfca7b3fe5..00000000000
--- a/config/metrics/counts_28d/20210901223541_p_ci_templates_implicit_jobs_helm_2to3_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_helm_2to3_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_helm_2to3
diff --git a/config/metrics/counts_28d/20210901223550_p_ci_templates_implicit_jobs_sast_monthly.yml b/config/metrics/counts_28d/20210901223550_p_ci_templates_implicit_jobs_sast_monthly.yml
deleted file mode 100644
index 7b5af19aac2..00000000000
--- a/config/metrics/counts_28d/20210901223550_p_ci_templates_implicit_jobs_sast_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_monthly
-description: ''
-product_group: static_analysis
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_sast
diff --git a/config/metrics/counts_28d/20210901223559_p_ci_templates_implicit_jobs_secret_detection_monthly.yml b/config/metrics/counts_28d/20210901223559_p_ci_templates_implicit_jobs_secret_detection_monthly.yml
deleted file mode 100644
index 20ede681517..00000000000
--- a/config/metrics/counts_28d/20210901223559_p_ci_templates_implicit_jobs_secret_detection_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_secret_detection_monthly
-description: ''
-product_group: secret_detection
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_secret_detection
diff --git a/config/metrics/counts_28d/20210901223608_p_ci_templates_implicit_jobs_code_intelligence_monthly.yml b/config/metrics/counts_28d/20210901223608_p_ci_templates_implicit_jobs_code_intelligence_monthly.yml
deleted file mode 100644
index 48785ae2c27..00000000000
--- a/config/metrics/counts_28d/20210901223608_p_ci_templates_implicit_jobs_code_intelligence_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_code_intelligence_monthly
-description: ''
-product_group: code_review
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_code_intelligence
diff --git a/config/metrics/counts_28d/20210901223617_p_ci_templates_implicit_jobs_code_quality_monthly.yml b/config/metrics/counts_28d/20210901223617_p_ci_templates_implicit_jobs_code_quality_monthly.yml
deleted file mode 100644
index f1b906d90ee..00000000000
--- a/config/metrics/counts_28d/20210901223617_p_ci_templates_implicit_jobs_code_quality_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_code_quality_monthly
-description: ''
-product_group: static_analysis
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_code_quality
diff --git a/config/metrics/counts_28d/20210901223626_p_ci_templates_implicit_jobs_deploy_ecs_monthly.yml b/config/metrics/counts_28d/20210901223626_p_ci_templates_implicit_jobs_deploy_ecs_monthly.yml
deleted file mode 100644
index 7f558f4a2b4..00000000000
--- a/config/metrics/counts_28d/20210901223626_p_ci_templates_implicit_jobs_deploy_ecs_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_deploy_ecs_monthly
-description: ''
-product_group: environments
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_deploy_ecs
diff --git a/config/metrics/counts_28d/20210901223635_p_ci_templates_implicit_jobs_deploy_ec2_monthly.yml b/config/metrics/counts_28d/20210901223635_p_ci_templates_implicit_jobs_deploy_ec2_monthly.yml
deleted file mode 100644
index 9a17e0db278..00000000000
--- a/config/metrics/counts_28d/20210901223635_p_ci_templates_implicit_jobs_deploy_ec2_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_deploy_ec2_monthly
-description: ''
-product_group: environments
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_deploy_ec2
diff --git a/config/metrics/counts_28d/20210901223644_p_ci_templates_implicit_jobs_browser_performance_testing_monthly.yml b/config/metrics/counts_28d/20210901223644_p_ci_templates_implicit_jobs_browser_performance_testing_monthly.yml
deleted file mode 100644
index c898d2cfde3..00000000000
--- a/config/metrics/counts_28d/20210901223644_p_ci_templates_implicit_jobs_browser_performance_testing_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_browser_performance_testing_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_browser_performance_testing
diff --git a/config/metrics/counts_28d/20210901223653_p_ci_templates_implicit_jobs_test_monthly.yml b/config/metrics/counts_28d/20210901223653_p_ci_templates_implicit_jobs_test_monthly.yml
deleted file mode 100644
index f84d75d4f04..00000000000
--- a/config/metrics/counts_28d/20210901223653_p_ci_templates_implicit_jobs_test_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_test_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_test
diff --git a/config/metrics/counts_28d/20210901223702_p_ci_templates_implicit_jobs_browser_performance_testing_latest_monthly.yml b/config/metrics/counts_28d/20210901223702_p_ci_templates_implicit_jobs_browser_performance_testing_latest_monthly.yml
deleted file mode 100644
index 89eae03a77c..00000000000
--- a/config/metrics/counts_28d/20210901223702_p_ci_templates_implicit_jobs_browser_performance_testing_latest_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_browser_performance_testing_latest_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: removed
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_browser_performance_testing_latest
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210901223711_p_ci_templates_implicit_jobs_cf_provision_monthly.yml b/config/metrics/counts_28d/20210901223711_p_ci_templates_implicit_jobs_cf_provision_monthly.yml
deleted file mode 100644
index 836d29c79ad..00000000000
--- a/config/metrics/counts_28d/20210901223711_p_ci_templates_implicit_jobs_cf_provision_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_cf_provision_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: removed
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_cf_provision
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210901223721_p_ci_templates_implicit_jobs_build_latest_monthly.yml b/config/metrics/counts_28d/20210901223721_p_ci_templates_implicit_jobs_build_latest_monthly.yml
deleted file mode 100644
index 59880dc08bc..00000000000
--- a/config/metrics/counts_28d/20210901223721_p_ci_templates_implicit_jobs_build_latest_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_build_latest_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: removed
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_build_latest
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210901223730_p_ci_templates_implicit_security_dast_runner_validation_monthly.yml b/config/metrics/counts_28d/20210901223730_p_ci_templates_implicit_security_dast_runner_validation_monthly.yml
deleted file mode 100644
index 7fd06a484d0..00000000000
--- a/config/metrics/counts_28d/20210901223730_p_ci_templates_implicit_security_dast_runner_validation_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_runner_validation_monthly
-description: ''
-product_group: dynamic_analysis
-value_type: number
-status: removed
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_dast_runner_validation
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210901223739_p_ci_templates_implicit_security_dast_on_demand_scan_monthly.yml b/config/metrics/counts_28d/20210901223739_p_ci_templates_implicit_security_dast_on_demand_scan_monthly.yml
deleted file mode 100644
index 603b3d10aeb..00000000000
--- a/config/metrics/counts_28d/20210901223739_p_ci_templates_implicit_security_dast_on_demand_scan_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_on_demand_scan_monthly
-description: ''
-product_group: dynamic_analysis
-value_type: number
-status: removed
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_dast_on_demand_scan
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210901223748_p_ci_templates_implicit_security_license_scanning_monthly.yml b/config/metrics/counts_28d/20210901223748_p_ci_templates_implicit_security_license_scanning_monthly.yml
deleted file mode 100644
index e6eeb5791eb..00000000000
--- a/config/metrics/counts_28d/20210901223748_p_ci_templates_implicit_security_license_scanning_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_license_scanning_monthly
-description: ''
-product_group: composition_analysis
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_license_scanning
diff --git a/config/metrics/counts_28d/20210901223758_p_ci_templates_implicit_security_coverage_fuzzing_monthly.yml b/config/metrics/counts_28d/20210901223758_p_ci_templates_implicit_security_coverage_fuzzing_monthly.yml
deleted file mode 100644
index 444764ca695..00000000000
--- a/config/metrics/counts_28d/20210901223758_p_ci_templates_implicit_security_coverage_fuzzing_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_coverage_fuzzing_monthly
-description: ''
-product_group: dynamic_analysis
-value_type: number
-status: removed
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_coverage_fuzzing
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210901223806_p_ci_templates_implicit_security_api_fuzzing_latest_monthly.yml b/config/metrics/counts_28d/20210901223806_p_ci_templates_implicit_security_api_fuzzing_latest_monthly.yml
deleted file mode 100644
index a11e39e0a79..00000000000
--- a/config/metrics/counts_28d/20210901223806_p_ci_templates_implicit_security_api_fuzzing_latest_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_api_fuzzing_latest_monthly
-description: ''
-product_group: dynamic_analysis
-value_type: number
-status: removed
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_api_fuzzing_latest
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210901223815_p_ci_templates_implicit_security_secure_binaries_monthly.yml b/config/metrics/counts_28d/20210901223815_p_ci_templates_implicit_security_secure_binaries_monthly.yml
deleted file mode 100644
index a913c9ee406..00000000000
--- a/config/metrics/counts_28d/20210901223815_p_ci_templates_implicit_security_secure_binaries_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_secure_binaries_monthly
-description: ''
-product_group: static_analysis
-value_type: number
-status: removed
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_secure_binaries
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210901223824_p_ci_templates_implicit_security_dast_api_monthly.yml b/config/metrics/counts_28d/20210901223824_p_ci_templates_implicit_security_dast_api_monthly.yml
deleted file mode 100644
index 1d62a02804d..00000000000
--- a/config/metrics/counts_28d/20210901223824_p_ci_templates_implicit_security_dast_api_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_api_monthly
-description: ''
-product_group: dynamic_analysis
-value_type: number
-status: removed
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_dast_api
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210901223832_p_ci_templates_implicit_security_container_scanning_monthly.yml b/config/metrics/counts_28d/20210901223832_p_ci_templates_implicit_security_container_scanning_monthly.yml
deleted file mode 100644
index 6f508baed5a..00000000000
--- a/config/metrics/counts_28d/20210901223832_p_ci_templates_implicit_security_container_scanning_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_container_scanning_monthly
-description: ''
-product_group: composition_analysis
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_container_scanning
diff --git a/config/metrics/counts_28d/20210901223841_p_ci_templates_implicit_security_dast_latest_monthly.yml b/config/metrics/counts_28d/20210901223841_p_ci_templates_implicit_security_dast_latest_monthly.yml
deleted file mode 100644
index 2c7ad4ad4df..00000000000
--- a/config/metrics/counts_28d/20210901223841_p_ci_templates_implicit_security_dast_latest_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_latest_monthly
-description: ''
-product_group: dynamic_analysis
-value_type: number
-status: removed
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_dast_latest
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210901223850_p_ci_templates_implicit_security_dependency_scanning_monthly.yml b/config/metrics/counts_28d/20210901223850_p_ci_templates_implicit_security_dependency_scanning_monthly.yml
deleted file mode 100644
index a8ca29db436..00000000000
--- a/config/metrics/counts_28d/20210901223850_p_ci_templates_implicit_security_dependency_scanning_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dependency_scanning_monthly
-description: ''
-product_group: composition_analysis
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_dependency_scanning
diff --git a/config/metrics/counts_28d/20210901223858_p_ci_templates_implicit_security_api_fuzzing_monthly.yml b/config/metrics/counts_28d/20210901223858_p_ci_templates_implicit_security_api_fuzzing_monthly.yml
deleted file mode 100644
index 5e076fe2b23..00000000000
--- a/config/metrics/counts_28d/20210901223858_p_ci_templates_implicit_security_api_fuzzing_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_api_fuzzing_monthly
-description: ''
-product_group: dynamic_analysis
-value_type: number
-status: removed
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_api_fuzzing
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210901223907_p_ci_templates_implicit_security_dast_monthly.yml b/config/metrics/counts_28d/20210901223907_p_ci_templates_implicit_security_dast_monthly.yml
deleted file mode 100644
index d6f29af27e5..00000000000
--- a/config/metrics/counts_28d/20210901223907_p_ci_templates_implicit_security_dast_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_monthly
-description: ''
-product_group: dynamic_analysis
-value_type: number
-status: active
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_dast
diff --git a/config/metrics/counts_28d/20210901223916_p_ci_templates_implicit_security_cluster_image_scanning_monthly.yml b/config/metrics/counts_28d/20210901223916_p_ci_templates_implicit_security_cluster_image_scanning_monthly.yml
deleted file mode 100644
index 6e29c21e554..00000000000
--- a/config/metrics/counts_28d/20210901223916_p_ci_templates_implicit_security_cluster_image_scanning_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_cluster_image_scanning_monthly
-description: ''
-product_group: composition_analysis
-value_type: number
-status: removed
-milestone_removed: '15.0'
-removed_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87000'
-milestone: '14.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_cluster_image_scanning
diff --git a/config/metrics/counts_28d/20210908093509_p_ci_templates_android_latest_monthly.yml b/config/metrics/counts_28d/20210908093509_p_ci_templates_android_latest_monthly.yml
deleted file mode 100644
index c635da99e2b..00000000000
--- a/config/metrics/counts_28d/20210908093509_p_ci_templates_android_latest_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_android_latest_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: "14.3"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_android_latest
diff --git a/config/metrics/counts_28d/20210929102434_p_ci_templates_implicit_jobs_build_monthly.yml b/config/metrics/counts_28d/20210929102434_p_ci_templates_implicit_jobs_build_monthly.yml
deleted file mode 100644
index f2935129acd..00000000000
--- a/config/metrics/counts_28d/20210929102434_p_ci_templates_implicit_jobs_build_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_build_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: "14.4"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71157
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_build
diff --git a/config/metrics/counts_28d/20210929102736_p_ci_templates_implicit_jobs_deploy_latest_monthly.yml b/config/metrics/counts_28d/20210929102736_p_ci_templates_implicit_jobs_deploy_latest_monthly.yml
deleted file mode 100644
index dcbf98a3c67..00000000000
--- a/config/metrics/counts_28d/20210929102736_p_ci_templates_implicit_jobs_deploy_latest_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_deploy_latest_monthly
-description: ''
-product_group: environments
-value_type: number
-status: removed
-milestone: '14.4'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71157
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_deploy_latest
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20210929103010_p_ci_templates_implicit_jobs_deploy_monthly.yml b/config/metrics/counts_28d/20210929103010_p_ci_templates_implicit_jobs_deploy_monthly.yml
deleted file mode 100644
index da5fddee1fb..00000000000
--- a/config/metrics/counts_28d/20210929103010_p_ci_templates_implicit_jobs_deploy_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_deploy_monthly
-description: ''
-product_group: environments
-value_type: number
-status: active
-milestone: "14.4"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71157
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_deploy
diff --git a/config/metrics/counts_28d/20211102205024_p_ci_templates_security_sast_iac_latest_monthly.yml b/config/metrics/counts_28d/20211102205024_p_ci_templates_security_sast_iac_latest_monthly.yml
deleted file mode 100644
index dc2dea5a26e..00000000000
--- a/config/metrics/counts_28d/20211102205024_p_ci_templates_security_sast_iac_latest_monthly.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_security_sast_iac_latest_monthly
-description: Count of pipelines using the latest SAST IaC template
-product_group: "static_analysis"
-value_type: number
-status: active
-milestone: "14.5"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73076
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_security_sast_iac_latest
diff --git a/config/metrics/counts_28d/20211102205223_p_ci_templates_implicit_security_sast_iac_latest_monthly.yml b/config/metrics/counts_28d/20211102205223_p_ci_templates_implicit_security_sast_iac_latest_monthly.yml
deleted file mode 100644
index e291953f427..00000000000
--- a/config/metrics/counts_28d/20211102205223_p_ci_templates_implicit_security_sast_iac_latest_monthly.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_sast_iac_latest_monthly
-description: Count of pipelines with implicit runs using the latest SAST IaC template
-product_group: static_analysis
-value_type: number
-status: removed
-milestone: '14.5'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73076
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_sast_iac_latest
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20211102213704_p_ci_templates_jobs_sast_iac_latest_monthly.yml b/config/metrics/counts_28d/20211102213704_p_ci_templates_jobs_sast_iac_latest_monthly.yml
deleted file mode 100644
index 891759ef794..00000000000
--- a/config/metrics/counts_28d/20211102213704_p_ci_templates_jobs_sast_iac_latest_monthly.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_iac_latest_monthly
-description: Count of pipelines using the latest SAST IaC template
-product_group: "static_analysis"
-value_type: number
-status: active
-milestone: "14.5"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73074
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_jobs_sast_iac_latest
diff --git a/config/metrics/counts_28d/20211102213921_p_ci_templates_implicit_jobs_sast_iac_latest_monthly.yml b/config/metrics/counts_28d/20211102213921_p_ci_templates_implicit_jobs_sast_iac_latest_monthly.yml
deleted file mode 100644
index ee49e72e395..00000000000
--- a/config/metrics/counts_28d/20211102213921_p_ci_templates_implicit_jobs_sast_iac_latest_monthly.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_iac_latest_monthly
-description: Count of pipelines with implicit runs using the latest SAST IaC template
-product_group: static_analysis
-value_type: number
-status: removed
-milestone: '14.5'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73074
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_sast_iac_latest
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20211104154357_i_code_review_widget_nothing_merge_click_new_file_monthly.yml b/config/metrics/counts_28d/20211104154357_i_code_review_widget_nothing_merge_click_new_file_monthly.yml
deleted file mode 100644
index b460e649d0e..00000000000
--- a/config/metrics/counts_28d/20211104154357_i_code_review_widget_nothing_merge_click_new_file_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.code_review.i_code_review_widget_nothing_merge_click_new_file_monthly
-description: Count of users who click the create file button in the nothing to merge widget state
-product_group: code_review
-product_categories:
-- code_review_workflow
-value_type: number
-status: active
-milestone: '14.5'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73762
-time_frame: 28d
-data_source: redis_hll
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - i_code_review_widget_nothing_merge_click_new_file
-data_category: optional
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20211111162103_i_code_review_post_merge_delete_branch_monthly.yml b/config/metrics/counts_28d/20211111162103_i_code_review_post_merge_delete_branch_monthly.yml
deleted file mode 100644
index bfd8c671909..00000000000
--- a/config/metrics/counts_28d/20211111162103_i_code_review_post_merge_delete_branch_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.code_review.i_code_review_post_merge_delete_branch_monthly
-description: Count of users who click the delete source branch button after merge
-product_group: code_review
-product_categories:
-- code_review_workflow
-value_type: number
-status: active
-milestone: '14.5'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55069
-time_frame: 28d
-data_source: redis_hll
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - i_code_review_post_merge_delete_branch
-data_category: optional
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20211111162422_i_code_review_post_merge_click_revert_monthly.yml b/config/metrics/counts_28d/20211111162422_i_code_review_post_merge_click_revert_monthly.yml
deleted file mode 100644
index c79d101499c..00000000000
--- a/config/metrics/counts_28d/20211111162422_i_code_review_post_merge_click_revert_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.code_review.i_code_review_post_merge_click_revert_monthly
-description: Count of users who click the revert button in the merge requet widget
-product_group: code_review
-product_categories:
-- code_review_workflow
-value_type: number
-status: active
-milestone: '14.5'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55069
-time_frame: 28d
-data_source: redis_hll
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - i_code_review_post_merge_click_revert
-data_category: optional
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20211112102446_i_code_review_post_merge_click_cherry_pick_monthly.yml b/config/metrics/counts_28d/20211112102446_i_code_review_post_merge_click_cherry_pick_monthly.yml
deleted file mode 100644
index e2ae70685f0..00000000000
--- a/config/metrics/counts_28d/20211112102446_i_code_review_post_merge_click_cherry_pick_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.code_review.i_code_review_post_merge_click_cherry_pick_monthly
-description: Count of users who click the cherry pick button in the merge requet widget
-product_group: code_review
-product_categories:
-- code_review_workflow
-value_type: number
-status: active
-milestone: '14.5'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55069
-time_frame: 28d
-data_source: redis_hll
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - i_code_review_post_merge_click_cherry_pick
-data_category: optional
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20211112114333_i_code_review_post_merge_submit_revert_modal_monthly.yml b/config/metrics/counts_28d/20211112114333_i_code_review_post_merge_submit_revert_modal_monthly.yml
deleted file mode 100644
index 23d28d97cbd..00000000000
--- a/config/metrics/counts_28d/20211112114333_i_code_review_post_merge_submit_revert_modal_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.code_review.i_code_review_post_merge_submit_revert_modal_monthly
-description: Count of users who submit the post merge revert modal
-product_group: code_review
-product_categories:
-- code_review_workflow
-value_type: number
-status: active
-milestone: '14.5'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55069
-time_frame: 28d
-data_source: redis_hll
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - i_code_review_post_merge_submit_revert_modal
-data_category: optional
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20211112115144_i_code_review_post_merge_submit_cherry_pick_modal_monthly.yml b/config/metrics/counts_28d/20211112115144_i_code_review_post_merge_submit_cherry_pick_modal_monthly.yml
deleted file mode 100644
index 3c3f8d6f86c..00000000000
--- a/config/metrics/counts_28d/20211112115144_i_code_review_post_merge_submit_cherry_pick_modal_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.code_review.i_code_review_post_merge_submit_cherry_pick_modal_monthly
-description: Count of users who submit the post merge revert modal
-product_group: code_review
-product_categories:
-- code_review_workflow
-value_type: number
-status: active
-milestone: '14.5'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55069
-time_frame: 28d
-data_source: redis_hll
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - i_code_review_post_merge_submit_cherry_pick_modal
-data_category: optional
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20211118200530_p_ci_templates_security_dast_on_demand_api_scan_monthly.yml b/config/metrics/counts_28d/20211118200530_p_ci_templates_security_dast_on_demand_api_scan_monthly.yml
deleted file mode 100644
index de01c214e10..00000000000
--- a/config/metrics/counts_28d/20211118200530_p_ci_templates_security_dast_on_demand_api_scan_monthly.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_security_dast_on_demand_api_scan_monthly
-description: Count of pipelines using the latest DAST API template
-product_group: "dynamic_analysis"
-value_type: number
-status: active
-milestone: "14.7"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73564
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - p_ci_templates_security_dast_on_demand_api_scan
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20211201140658_users_expanding_testing_license_compliance_report_monthly.yml b/config/metrics/counts_28d/20211201140658_users_expanding_testing_license_compliance_report_monthly.yml
deleted file mode 100644
index d08c01f2493..00000000000
--- a/config/metrics/counts_28d/20211201140658_users_expanding_testing_license_compliance_report_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-data_category: optional
-key_path: redis_hll_counters.testing.users_expanding_testing_license_compliance_report_monthly
-description: Count of expanding the license compliance widget
-product_group: composition_analysis
-value_type: number
-status: active
-milestone: '14.6'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75643
-time_frame: 28d
-data_source: redis_hll
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - users_expanding_testing_license_compliance_report
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20211201154341_users_visiting_license_compliance_full_report_monthly.yml b/config/metrics/counts_28d/20211201154341_users_visiting_license_compliance_full_report_monthly.yml
deleted file mode 100644
index fde18282e67..00000000000
--- a/config/metrics/counts_28d/20211201154341_users_visiting_license_compliance_full_report_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-data_category: optional
-key_path: redis_hll_counters.testing.users_visiting_testing_license_compliance_full_report_monthly
-description: Count of visiting the license compliance full report
-product_group: composition_analysis
-value_type: number
-status: removed
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/152166
-milestone_removed: '17.1'
-milestone: '14.6'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75643
-time_frame: 28d
-data_source: redis_hll
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - users_visiting_testing_license_compliance_full_report
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20211202094237_users_visiting_manage_license_compliance_monthly.yml b/config/metrics/counts_28d/20211202094237_users_visiting_manage_license_compliance_monthly.yml
deleted file mode 100644
index 533e067066a..00000000000
--- a/config/metrics/counts_28d/20211202094237_users_visiting_manage_license_compliance_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-data_category: optional
-key_path: redis_hll_counters.testing.users_visiting_testing_manage_license_compliance_monthly
-description: Count of visiting the manage license compliance page
-product_group: composition_analysis
-value_type: number
-status: removed
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/152166
-milestone_removed: '17.1'
-milestone: '14.6'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75643
-time_frame: 28d
-data_source: redis_hll
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - users_visiting_testing_manage_license_compliance
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20211216083832_users_clicking_license_testing_visiting_external_website_monthly.yml b/config/metrics/counts_28d/20211216083832_users_clicking_license_testing_visiting_external_website_monthly.yml
deleted file mode 100644
index 6d747a9cb34..00000000000
--- a/config/metrics/counts_28d/20211216083832_users_clicking_license_testing_visiting_external_website_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-data_category: optional
-key_path: redis_hll_counters.testing.users_clicking_license_testing_visiting_external_website_monthly
-description: Count of users clicking licence to visit external information website
-product_group: composition_analysis
-value_type: number
-status: removed
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/152166
-milestone_removed: '17.1'
-milestone: '14.7'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76917
-time_frame: 28d
-data_source: redis_hll
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - users_clicking_license_testing_visiting_external_website
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20220119153911_p_ci_templates_qualys_iac_security_monthly.yml b/config/metrics/counts_28d/20220119153911_p_ci_templates_qualys_iac_security_monthly.yml
deleted file mode 100644
index 88b897fee1a..00000000000
--- a/config/metrics/counts_28d/20220119153911_p_ci_templates_qualys_iac_security_monthly.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_qualys_iac_security_monthly
-description: ""
-product_group: static_analysis
-value_type: number
-status: active
-milestone: "14.7"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77362
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_qualys_iac_security
diff --git a/config/metrics/counts_28d/20220121140644_user_jetbrains_api_request_monthly.yml b/config/metrics/counts_28d/20220121140644_user_jetbrains_api_request_monthly.yml
deleted file mode 100644
index 7fb8867e41c..00000000000
--- a/config/metrics/counts_28d/20220121140644_user_jetbrains_api_request_monthly.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-key_path: redis_hll_counters.code_review.i_code_review_user_jetbrains_api_request_monthly
-description: Count of unique users per month who use GitLab plugin for JetBrains
-product_group: code_review
-product_categories:
-- editor_extensions
-value_type: number
-status: active
-milestone: "14.8"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78713
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - i_code_review_user_jetbrains_api_request
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20220214202927_users_updating_work_item_title.yml b/config/metrics/counts_28d/20220214202927_users_updating_work_item_title.yml
deleted file mode 100644
index d712cf0ad54..00000000000
--- a/config/metrics/counts_28d/20220214202927_users_updating_work_item_title.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.work_items.users_updating_work_item_title_monthly
-description: Unique users updating a work item's title
-product_group: project_management
-value_type: number
-status: active
-milestone: '14.9'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80532
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - users_updating_work_item_title
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20220307150912_p_ci_templates_database_liquibase_monthly.yml b/config/metrics/counts_28d/20220307150912_p_ci_templates_database_liquibase_monthly.yml
deleted file mode 100644
index bdb50972fdd..00000000000
--- a/config/metrics/counts_28d/20220307150912_p_ci_templates_database_liquibase_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_liquibase_monthly
-description: ""
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: "14.9"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81817
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_liquibase
diff --git a/config/metrics/counts_28d/20220308234005_p_ci_templates_jobs_sast_latest_monthly.yml b/config/metrics/counts_28d/20220308234005_p_ci_templates_jobs_sast_latest_monthly.yml
deleted file mode 100644
index 8dd4e07c1f8..00000000000
--- a/config/metrics/counts_28d/20220308234005_p_ci_templates_jobs_sast_latest_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_latest_monthly
-description: Weekly counts for SAST CI Latest template (Jobs folder)
-product_group: static_analysis
-value_type: number
-status: active
-milestone: "15.0"
-introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847'
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_jobs_sast_latest
diff --git a/config/metrics/counts_28d/20220309183501_error_tracking_view_details_monthly.yml b/config/metrics/counts_28d/20220309183501_error_tracking_view_details_monthly.yml
deleted file mode 100644
index 32e67933756..00000000000
--- a/config/metrics/counts_28d/20220309183501_error_tracking_view_details_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.error_tracking.error_tracking_view_details_monthly
-description: Unique users viewing the error details page
-product_group: platform_insights
-value_type: number
-status: active
-milestone: "14.9"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82543
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - error_tracking_view_details
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20220309195504_error_tracking_view_list_monthly.yml b/config/metrics/counts_28d/20220309195504_error_tracking_view_list_monthly.yml
deleted file mode 100644
index 3bb9c595fba..00000000000
--- a/config/metrics/counts_28d/20220309195504_error_tracking_view_list_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.error_tracking.error_tracking_view_list_monthly
-description: Unique users viewing the list of errors in the project
-product_group: platform_insights
-value_type: number
-status: active
-milestone: "14.9"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82543
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - error_tracking_view_list
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20220310184327_p_ci_templates_matlab_monthly.yml b/config/metrics/counts_28d/20220310184327_p_ci_templates_matlab_monthly.yml
deleted file mode 100644
index 26e7bc8eb70..00000000000
--- a/config/metrics/counts_28d/20220310184327_p_ci_templates_matlab_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_matlab_monthly
-description: ""
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: "14.10"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82914
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_matlab
diff --git a/config/metrics/counts_28d/20220310213320_p_ci_templates_implicit_jobs_secret_detection_latest_monthly.yml b/config/metrics/counts_28d/20220310213320_p_ci_templates_implicit_jobs_secret_detection_latest_monthly.yml
deleted file mode 100644
index 7ba3c59185a..00000000000
--- a/config/metrics/counts_28d/20220310213320_p_ci_templates_implicit_jobs_secret_detection_latest_monthly.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_secret_detection_latest_monthly
-description: Weekly counts for implicit use of Secret Detection CI Latest template
- (Jobs folder)
-product_group: secret_detection
-value_type: number
-status: removed
-milestone: '15.0'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_secret_detection_latest
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20220310213749_p_ci_templates_implicit_jobs_sast_latest_monthly.yml b/config/metrics/counts_28d/20220310213749_p_ci_templates_implicit_jobs_sast_latest_monthly.yml
deleted file mode 100644
index 98bbd32d6ae..00000000000
--- a/config/metrics/counts_28d/20220310213749_p_ci_templates_implicit_jobs_sast_latest_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_latest_monthly
-description: Weekly counts for implicit use of SAST CI Latest template (Jobs folder)
-product_group: static_analysis
-value_type: number
-status: removed
-milestone: '15.0'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_sast_latest
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20220315223227_error_tracking_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20220315223227_error_tracking_total_unique_counts_monthly.yml
deleted file mode 100644
index 6e6fdfb9963..00000000000
--- a/config/metrics/counts_28d/20220315223227_error_tracking_total_unique_counts_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.error_tracking.error_tracking_total_unique_counts_monthly
-description: Total unique users accessing error tracking routes
-product_group: platform_insights
-value_type: number
-status: active
-milestone: "14.9"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82543
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-events:
-- name: error_tracking_view_list
- unique: user.id
-- name: error_tracking_view_details
- unique: user.id
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20220407125907_p_ci_templates_themekit_monthly.yml b/config/metrics/counts_28d/20220407125907_p_ci_templates_themekit_monthly.yml
deleted file mode 100644
index 8ca59c4d893..00000000000
--- a/config/metrics/counts_28d/20220407125907_p_ci_templates_themekit_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_themekit_monthly
-description: ''
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: "14.10"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52279
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - p_ci_templates_themekit
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20220510024223_p_ci_templates_jobs_sast_iac_monthly.yml b/config/metrics/counts_28d/20220510024223_p_ci_templates_jobs_sast_iac_monthly.yml
deleted file mode 100644
index e35e636cb00..00000000000
--- a/config/metrics/counts_28d/20220510024223_p_ci_templates_jobs_sast_iac_monthly.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_iac_monthly
-description: Count of pipelines using the stable SAST IaC template
-product_group: "static_analysis"
-value_type: number
-status: active
-milestone: "15.0"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86275
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_jobs_sast_iac
diff --git a/config/metrics/counts_28d/20220510024223_p_ci_templates_security_sast_iac_monthly.yml b/config/metrics/counts_28d/20220510024223_p_ci_templates_security_sast_iac_monthly.yml
deleted file mode 100644
index fa2d5e4fa0b..00000000000
--- a/config/metrics/counts_28d/20220510024223_p_ci_templates_security_sast_iac_monthly.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_security_sast_iac_monthly
-description: Count of pipelines using the stable SAST IaC template
-product_group: "static_analysis"
-value_type: number
-status: active
-milestone: "15.0"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86275
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_security_sast_iac
diff --git a/config/metrics/counts_28d/20220707022802_users_updating_weight_estimate_monthly.yml b/config/metrics/counts_28d/20220707022802_users_updating_weight_estimate_monthly.yml
deleted file mode 100644
index d131e829166..00000000000
--- a/config/metrics/counts_28d/20220707022802_users_updating_weight_estimate_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.work_items.users_updating_weight_estimate_monthly
-description: Unique users updating a work item's weight estimate
-product_group: project_management
-value_type: number
-status: active
-milestone: "15.2"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91957
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-options:
- events:
- - users_updating_weight_estimate
-tiers:
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20220715195415_p_ci_templates_security_fortify_fod_sast_monthly.yml b/config/metrics/counts_28d/20220715195415_p_ci_templates_security_fortify_fod_sast_monthly.yml
deleted file mode 100644
index 57fe20360dc..00000000000
--- a/config/metrics/counts_28d/20220715195415_p_ci_templates_security_fortify_fod_sast_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_security_fortify_fod_sast_monthly
-description: Count of pipelines using the Fortify FoD SAST template
-product_group: static_analysis
-value_type: number
-status: active
-milestone: "15.3"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91956
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_security_fortify_fod_sast
diff --git a/config/metrics/counts_28d/20220719133315_p_ci_templates_implicit_security_fortify_fod_sast_monthly.yml b/config/metrics/counts_28d/20220719133315_p_ci_templates_implicit_security_fortify_fod_sast_monthly.yml
deleted file mode 100644
index 3dde31e88fd..00000000000
--- a/config/metrics/counts_28d/20220719133315_p_ci_templates_implicit_security_fortify_fod_sast_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_fortify_fod_sast_monthly
-description: Count of pipelines with implicit runs using the Fortify FoD SAST template
-product_group: static_analysis
-value_type: number
-status: removed
-milestone: '15.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91956
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_security_fortify_fod_sast
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20220725193059_users_updating_work_item_dates_monthly.yml b/config/metrics/counts_28d/20220725193059_users_updating_work_item_dates_monthly.yml
deleted file mode 100644
index 145b76af961..00000000000
--- a/config/metrics/counts_28d/20220725193059_users_updating_work_item_dates_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.work_items.users_updating_work_item_dates_monthly
-description: Unique users updating a work item's date
-product_group: project_management
-value_type: number
-status: active
-milestone: '15.3'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93231
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - users_updating_work_item_dates
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20220825142533_i_testing_test_report_uploaded_monthly.yml b/config/metrics/counts_28d/20220825142533_i_testing_test_report_uploaded_monthly.yml
deleted file mode 100644
index 4525d4309c2..00000000000
--- a/config/metrics/counts_28d/20220825142533_i_testing_test_report_uploaded_monthly.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-key_path: redis_hll_counters.testing.i_testing_test_report_uploaded_monthly
-description: "MAU of junit test reports uploaded by customers per pipeline"
-product_group: pipeline_execution
-product_categories:
-- code_testing
-value_type: number
-status: active
-milestone: "15.4"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95112
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - i_testing_test_report_uploaded
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20220906065651_incident_management_timeline_event_created_monthly.yml b/config/metrics/counts_28d/20220906065651_incident_management_timeline_event_created_monthly.yml
deleted file mode 100644
index 01c4c4f0534..00000000000
--- a/config/metrics/counts_28d/20220906065651_incident_management_timeline_event_created_monthly.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-key_path: redis_hll_counters.incident_management.incident_management_timeline_event_created_monthly
-description: Count of unique users created timeline events
-product_group: platform_insights
-value_type: number
-status: active
-milestone: "15.5"
-introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97006"
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-options:
- events:
- - incident_management_timeline_event_created
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20220906070355_incident_management_timeline_event_edited_monthly.yml b/config/metrics/counts_28d/20220906070355_incident_management_timeline_event_edited_monthly.yml
deleted file mode 100644
index fb73127f020..00000000000
--- a/config/metrics/counts_28d/20220906070355_incident_management_timeline_event_edited_monthly.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-key_path: redis_hll_counters.incident_management.incident_management_timeline_event_edited_monthly
-description: Count of unique users edited timeline events
-product_group: platform_insights
-value_type: number
-status: active
-milestone: "15.5"
-introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97006"
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-options:
- events:
- - incident_management_timeline_event_edited
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20220906070634_incident_management_timeline_event_deleted_monthly.yml b/config/metrics/counts_28d/20220906070634_incident_management_timeline_event_deleted_monthly.yml
deleted file mode 100644
index 8d68f482284..00000000000
--- a/config/metrics/counts_28d/20220906070634_incident_management_timeline_event_deleted_monthly.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-key_path: redis_hll_counters.incident_management.incident_management_timeline_event_deleted_monthly
-description: Count of unique users deleted timeline events
-product_group: platform_insights
-value_type: number
-status: active
-milestone: "15.5"
-introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97006"
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-options:
- events:
- - incident_management_timeline_event_deleted
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20220907084347_p_ci_templates_implicit_security_sast_iac_monthly.yml b/config/metrics/counts_28d/20220907084347_p_ci_templates_implicit_security_sast_iac_monthly.yml
deleted file mode 100644
index fb7391d564f..00000000000
--- a/config/metrics/counts_28d/20220907084347_p_ci_templates_implicit_security_sast_iac_monthly.yml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_sast_iac_monthly
-description: Count of pipelines with implicit SAST runs using the stable SAST IaC
- template
-product_group: static_analysis
-value_type: number
-status: removed
-milestone: '15.4'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86275
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_sast_iac
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20220907102714_p_ci_templates_implicit_jobs_sast_iac_monthly.yml b/config/metrics/counts_28d/20220907102714_p_ci_templates_implicit_jobs_sast_iac_monthly.yml
deleted file mode 100644
index 6b48b3522e3..00000000000
--- a/config/metrics/counts_28d/20220907102714_p_ci_templates_implicit_jobs_sast_iac_monthly.yml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_iac_monthly
-description: Count of pipelines with implicit SAST jobs using the stable SAST IaC
- template
-product_group: static_analysis
-value_type: number
-status: removed
-milestone: '15.4'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86275
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_implicit_jobs_sast_iac
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90163
-milestone_removed: '15.5'
diff --git a/config/metrics/counts_28d/20220922042106_users_updating_work_item_iteration_monthly.yml b/config/metrics/counts_28d/20220922042106_users_updating_work_item_iteration_monthly.yml
deleted file mode 100644
index 4af9b3eb2ec..00000000000
--- a/config/metrics/counts_28d/20220922042106_users_updating_work_item_iteration_monthly.yml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-key_path: redis_hll_counters.work_items.users_updating_work_item_iteration_monthly
-description: Unique users updating a work item's iteration
-product_group: project_management
-value_type: number
-status: active
-milestone: "15.5"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/98539
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - users_updating_work_item_iteration
-tiers:
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20221007011350_users_updating_work_item_labels_monthly.yml b/config/metrics/counts_28d/20221007011350_users_updating_work_item_labels_monthly.yml
deleted file mode 100644
index 080d8629127..00000000000
--- a/config/metrics/counts_28d/20221007011350_users_updating_work_item_labels_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.work_items.users_updating_work_item_labels_monthly
-description: Unique users updating a work item's labels
-product_group: project_management
-value_type: number
-status: active
-milestone: '15.5'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/100485
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - users_updating_work_item_labels
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20221031070329_users_updating_work_item_milestone_monthly.yml b/config/metrics/counts_28d/20221031070329_users_updating_work_item_milestone_monthly.yml
deleted file mode 100644
index 96c42431739..00000000000
--- a/config/metrics/counts_28d/20221031070329_users_updating_work_item_milestone_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.work_items.users_updating_work_item_milestone_monthly
-description: Unique users updating a work item's milestone
-product_group: project_management
-value_type: number
-status: active
-milestone: "15.6"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102495
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - users_updating_work_item_milestone
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20221101190915_i_testing_coverage_report_uploaded_monthly.yml b/config/metrics/counts_28d/20221101190915_i_testing_coverage_report_uploaded_monthly.yml
deleted file mode 100644
index 5176b72eca3..00000000000
--- a/config/metrics/counts_28d/20221101190915_i_testing_coverage_report_uploaded_monthly.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-key_path: redis_hll_counters.testing.i_testing_coverage_report_uploaded_monthly
-description: "MAU of coverage test reports uploaded by customers per pipeline"
-product_group: pipeline_execution
-product_categories:
-- code_testing
-value_type: number
-status: active
-milestone: "15.6"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102371
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - i_testing_coverage_report_uploaded
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20230130074932_p_ci_templates_terraform_module_monthly.yml b/config/metrics/counts_28d/20230130074932_p_ci_templates_terraform_module_monthly.yml
deleted file mode 100644
index 2d7233c5a95..00000000000
--- a/config/metrics/counts_28d/20230130074932_p_ci_templates_terraform_module_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_terraform_module_monthly
-description: Count of pipelines using the Terraform Module template
-product_group: environments
-product_categories:
-- infrastructure_as_code
-value_type: number
-status: active
-milestone: "15.9"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110493
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_terraform_module
diff --git a/config/metrics/counts_28d/20230130075614_p_ci_templates_terraform_module_base_monthly.yml b/config/metrics/counts_28d/20230130075614_p_ci_templates_terraform_module_base_monthly.yml
deleted file mode 100644
index bd8883ba2ad..00000000000
--- a/config/metrics/counts_28d/20230130075614_p_ci_templates_terraform_module_base_monthly.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_terraform_module_base_monthly
-description: Count of pipelines using the Terraform Module Base template
-product_group: environments
-product_categories:
-- infrastructure_as_code
-value_type: number
-status: active
-milestone: "15.9"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110493
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_terraform_module_base
diff --git a/config/metrics/counts_28d/20230420160442_i_quickactions_type_monthly.yml b/config/metrics/counts_28d/20230420160442_i_quickactions_type_monthly.yml
deleted file mode 100644
index 05eb133400b..00000000000
--- a/config/metrics/counts_28d/20230420160442_i_quickactions_type_monthly.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-key_path: redis_hll_counters.quickactions.i_quickactions_type_monthly
-description: Count of MAU using the `/type` quick action
-product_group: product_planning
-value_type: number
-status: active
-milestone: "16.0"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/118790
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - i_quickactions_type
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20230509140528_p_ci_templates_security_bas_latest_monthly.yml b/config/metrics/counts_28d/20230509140528_p_ci_templates_security_bas_latest_monthly.yml
deleted file mode 100644
index 0732fd824b9..00000000000
--- a/config/metrics/counts_28d/20230509140528_p_ci_templates_security_bas_latest_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_security_bas_latest_monthly
-description: Count of pipelines using the latest Breach and Attack Simulation template
-product_group: dynamic_analysis
-value_type: number
-status: active
-milestone: "16.0"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/119981
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_security_bas_latest
diff --git a/config/metrics/counts_28d/20230527152402_p_ci_templates_pages_zola_monthly.yml b/config/metrics/counts_28d/20230527152402_p_ci_templates_pages_zola_monthly.yml
deleted file mode 100644
index 329d5bc2a9f..00000000000
--- a/config/metrics/counts_28d/20230527152402_p_ci_templates_pages_zola_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_zola_monthly
-description: Count of pipelines using the Zola Pages template
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: "16.1"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121946
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_pages_zola
diff --git a/config/metrics/counts_28d/20230830153031_p_ci_templates_cosign_monthly.yml b/config/metrics/counts_28d/20230830153031_p_ci_templates_cosign_monthly.yml
deleted file mode 100644
index 30474aea4b9..00000000000
--- a/config/metrics/counts_28d/20230830153031_p_ci_templates_cosign_monthly.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_cosign_monthly
-description: Count of pipelines using the Cosign CI template.
-product_group: pipeline_security
-value_type: number
-status: active
-milestone: "16.4"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/130339
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_cosign
diff --git a/config/metrics/counts_28d/20231102160653_i_quickactions_request_changes_monthly.yml b/config/metrics/counts_28d/20231102160653_i_quickactions_request_changes_monthly.yml
deleted file mode 100644
index 4872ae11cdd..00000000000
--- a/config/metrics/counts_28d/20231102160653_i_quickactions_request_changes_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.quickactions.i_quickactions_request_changes_monthly
-description: Count using the `/request_changes` quick action on Merge Requests
-product_group: code_review
-value_type: number
-status: active
-milestone: '16.6'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55069
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - i_quickactions_request_changes
-tiers:
- - free
- - premium
- - ultimate
diff --git a/config/metrics/counts_28d/20231116002424_p_ci_templates_diffblue_cover_monthly.yml b/config/metrics/counts_28d/20231116002424_p_ci_templates_diffblue_cover_monthly.yml
deleted file mode 100644
index ba8fb79d203..00000000000
--- a/config/metrics/counts_28d/20231116002424_p_ci_templates_diffblue_cover_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_diffblue_cover_monthly
-description: Count of pipelines using the Diffblue Cover template
-product_group: pipeline_authoring
-value_type: number
-status: active
-milestone: "16.7"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137047
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_diffblue_cover
diff --git a/config/metrics/counts_28d/20231219135715_users_updating_work_item_todo_monthly.yml b/config/metrics/counts_28d/20231219135715_users_updating_work_item_todo_monthly.yml
deleted file mode 100644
index 8ba7a471292..00000000000
--- a/config/metrics/counts_28d/20231219135715_users_updating_work_item_todo_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.work_items.users_updating_work_item_todo_monthly
-description: Unique users marking a work item as todo.
-product_group: project_management
-value_type: number
-status: active
-milestone: "16.8"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140058
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-options:
- events:
- - users_updating_work_item_todo
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_28d/20240130072055_p_ci_templates_opentofu_base_latest_monthly.yml b/config/metrics/counts_28d/20240130072055_p_ci_templates_opentofu_base_latest_monthly.yml
deleted file mode 100644
index c2c7508c9ef..00000000000
--- a/config/metrics/counts_28d/20240130072055_p_ci_templates_opentofu_base_latest_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_opentofu_base_latest_monthly
-description: Count of pipelines that include the OpenTofu job template from GitLab
-product_group: environments
-value_type: number
-status: active
-milestone: "16.9"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142547
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_opentofu_base_latest
diff --git a/config/metrics/counts_28d/20240130072115_p_ci_templates_opentofu_latest_monthly.yml b/config/metrics/counts_28d/20240130072115_p_ci_templates_opentofu_latest_monthly.yml
deleted file mode 100644
index 0001c1916e8..00000000000
--- a/config/metrics/counts_28d/20240130072115_p_ci_templates_opentofu_latest_monthly.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-key_path: redis_hll_counters.ci_templates.p_ci_templates_opentofu_latest_monthly
-description: Count of pipelines that include the OpenTofu pipeline template from GitLab
-product_group: environments
-value_type: number
-status: active
-milestone: "16.9"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142547
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-tiers:
-- free
-- premium
-- ultimate
-options:
- events:
- - p_ci_templates_opentofu_latest
diff --git a/config/metrics/counts_28d/20240418165317_i_quickactions_remind_me_monthly.yml b/config/metrics/counts_28d/20240418165317_i_quickactions_remind_me_monthly.yml
deleted file mode 100644
index 460d227a93d..00000000000
--- a/config/metrics/counts_28d/20240418165317_i_quickactions_remind_me_monthly.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-key_path: redis_hll_counters.code_review.i_quickactions_remind_me_monthly
-description: Count of WAU using the `/remind_me` quick action
-product_group: code_review
-value_type: number
-status: removed
-milestone: "17.0"
-milestone_removed: "17.11"
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/149938
-removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/185413
-time_frame: 28d
-data_source: redis_hll
-data_category: optional
-instrumentation_class: RedisHLLMetric
-performance_indicator_type: []
-options:
- events:
- - i_quickactions_remind_me
-tiers:
-- free
-- premium
-- ultimate
diff --git a/config/metrics/counts_7d/20220315223220_error_tracking_total_unique_counts_weekly.yml b/config/metrics/counts_all/error_tracking_total_unique_counts.yml
similarity index 93%
rename from config/metrics/counts_7d/20220315223220_error_tracking_total_unique_counts_weekly.yml
rename to config/metrics/counts_all/error_tracking_total_unique_counts.yml
index 2009dbd9688..82a0f35cc3a 100644
--- a/config/metrics/counts_7d/20220315223220_error_tracking_total_unique_counts_weekly.yml
+++ b/config/metrics/counts_all/error_tracking_total_unique_counts.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.error_tracking.error_tracking_total_unique_counts_weekly
+key_path: redis_hll_counters.error_tracking.error_tracking_total_unique_counts
description: Total unique users accessing error tracking routes
product_group: platform_insights
value_type: number
status: active
milestone: "14.9"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82543
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220309183454_error_tracking_view_details_weekly.yml b/config/metrics/counts_all/error_tracking_view_details.yml
similarity index 93%
rename from config/metrics/counts_7d/20220309183454_error_tracking_view_details_weekly.yml
rename to config/metrics/counts_all/error_tracking_view_details.yml
index b3417d0c308..bf205389cc7 100644
--- a/config/metrics/counts_7d/20220309183454_error_tracking_view_details_weekly.yml
+++ b/config/metrics/counts_all/error_tracking_view_details.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.error_tracking.error_tracking_view_details_weekly
+key_path: redis_hll_counters.error_tracking.error_tracking_view_details
description: Unique users viewing the error details page
product_group: platform_insights
value_type: number
status: active
milestone: "14.9"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82543
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220309195457_error_tracking_view_list_weekly.yml b/config/metrics/counts_all/error_tracking_view_list.yml
similarity index 94%
rename from config/metrics/counts_7d/20220309195457_error_tracking_view_list_weekly.yml
rename to config/metrics/counts_all/error_tracking_view_list.yml
index aa36c0d3bec..bbf4c8ac544 100644
--- a/config/metrics/counts_7d/20220309195457_error_tracking_view_list_weekly.yml
+++ b/config/metrics/counts_all/error_tracking_view_list.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.error_tracking.error_tracking_view_list_weekly
+key_path: redis_hll_counters.error_tracking.error_tracking_view_list
description: Unique users viewing the list of errors in the project
product_group: platform_insights
value_type: number
status: active
milestone: "14.9"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82543
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20211112102440_i_code_review_post_merge_click_cherry_pick_weekly.yml b/config/metrics/counts_all/i_code_review_post_merge_click_cherry_pick.yml
similarity index 92%
rename from config/metrics/counts_7d/20211112102440_i_code_review_post_merge_click_cherry_pick_weekly.yml
rename to config/metrics/counts_all/i_code_review_post_merge_click_cherry_pick.yml
index d63e70dd150..b4250ac97ad 100644
--- a/config/metrics/counts_7d/20211112102440_i_code_review_post_merge_click_cherry_pick_weekly.yml
+++ b/config/metrics/counts_all/i_code_review_post_merge_click_cherry_pick.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.code_review.i_code_review_post_merge_click_cherry_pick_weekly
+key_path: redis_hll_counters.code_review.i_code_review_post_merge_click_cherry_pick
description: Count of users who click the cherry pick button in the merge requet widget
product_group: code_review
product_categories:
@@ -8,7 +8,9 @@ value_type: number
status: active
milestone: '14.5'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55069
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
diff --git a/config/metrics/counts_7d/20211111162417_i_code_review_post_merge_click_revert_weekly.yml b/config/metrics/counts_all/i_code_review_post_merge_click_revert.yml
similarity index 93%
rename from config/metrics/counts_7d/20211111162417_i_code_review_post_merge_click_revert_weekly.yml
rename to config/metrics/counts_all/i_code_review_post_merge_click_revert.yml
index 371b62cb39b..c8d631929f5 100644
--- a/config/metrics/counts_7d/20211111162417_i_code_review_post_merge_click_revert_weekly.yml
+++ b/config/metrics/counts_all/i_code_review_post_merge_click_revert.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.code_review.i_code_review_post_merge_click_revert_weekly
+key_path: redis_hll_counters.code_review.i_code_review_post_merge_click_revert
description: Count of users who click the revert button in the merge requet widget
product_group: code_review
product_categories:
@@ -8,7 +8,9 @@ value_type: number
status: active
milestone: '14.5'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55069
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
diff --git a/config/metrics/counts_7d/20211111162058_i_code_review_post_merge_delete_branch_weekly.yml b/config/metrics/counts_all/i_code_review_post_merge_delete_branch.yml
similarity index 93%
rename from config/metrics/counts_7d/20211111162058_i_code_review_post_merge_delete_branch_weekly.yml
rename to config/metrics/counts_all/i_code_review_post_merge_delete_branch.yml
index c867ceb5c01..b4d795135c1 100644
--- a/config/metrics/counts_7d/20211111162058_i_code_review_post_merge_delete_branch_weekly.yml
+++ b/config/metrics/counts_all/i_code_review_post_merge_delete_branch.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.code_review.i_code_review_post_merge_delete_branch_weekly
+key_path: redis_hll_counters.code_review.i_code_review_post_merge_delete_branch
description: Count of users who click the delete source branch button after merge
product_group: code_review
product_categories:
@@ -8,7 +8,9 @@ value_type: number
status: active
milestone: '14.5'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55069
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
diff --git a/config/metrics/counts_7d/20211112115138_i_code_review_post_merge_submit_cherry_pick_modal_weekly.yml b/config/metrics/counts_all/i_code_review_post_merge_submit_cherry_pick_modal.yml
similarity index 91%
rename from config/metrics/counts_7d/20211112115138_i_code_review_post_merge_submit_cherry_pick_modal_weekly.yml
rename to config/metrics/counts_all/i_code_review_post_merge_submit_cherry_pick_modal.yml
index 68e5e72fc65..e86d21bb9b0 100644
--- a/config/metrics/counts_7d/20211112115138_i_code_review_post_merge_submit_cherry_pick_modal_weekly.yml
+++ b/config/metrics/counts_all/i_code_review_post_merge_submit_cherry_pick_modal.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.code_review.i_code_review_post_merge_submit_cherry_pick_modal_weekly
+key_path: redis_hll_counters.code_review.i_code_review_post_merge_submit_cherry_pick_modal
description: Count of users who submit the post merge revert modal
product_group: code_review
product_categories:
@@ -8,7 +8,9 @@ value_type: number
status: active
milestone: '14.5'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55069
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
diff --git a/config/metrics/counts_7d/20211112114327_i_code_review_post_merge_submit_revert_modal_weekly.yml b/config/metrics/counts_all/i_code_review_post_merge_submit_revert_modal.yml
similarity index 92%
rename from config/metrics/counts_7d/20211112114327_i_code_review_post_merge_submit_revert_modal_weekly.yml
rename to config/metrics/counts_all/i_code_review_post_merge_submit_revert_modal.yml
index f80a6bcf0e2..f219d1111ee 100644
--- a/config/metrics/counts_7d/20211112114327_i_code_review_post_merge_submit_revert_modal_weekly.yml
+++ b/config/metrics/counts_all/i_code_review_post_merge_submit_revert_modal.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.code_review.i_code_review_post_merge_submit_revert_modal_weekly
+key_path: redis_hll_counters.code_review.i_code_review_post_merge_submit_revert_modal
description: Count of users who submit the post merge revert modal
product_group: code_review
product_categories:
@@ -8,7 +8,9 @@ value_type: number
status: active
milestone: '14.5'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55069
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
diff --git a/config/metrics/counts_7d/20220121140634_user_jetbrains_api_request_weekly.yml b/config/metrics/counts_all/i_code_review_user_jetbrains_api_request.yml
similarity index 93%
rename from config/metrics/counts_7d/20220121140634_user_jetbrains_api_request_weekly.yml
rename to config/metrics/counts_all/i_code_review_user_jetbrains_api_request.yml
index bd06bfa0245..f32dcd31788 100644
--- a/config/metrics/counts_7d/20220121140634_user_jetbrains_api_request_weekly.yml
+++ b/config/metrics/counts_all/i_code_review_user_jetbrains_api_request.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.code_review.i_code_review_user_jetbrains_api_request_weekly
+key_path: redis_hll_counters.code_review.i_code_review_user_jetbrains_api_request
description: Count of unique users per month who use GitLab plugin for JetBrains
product_group: code_review
product_categories:
@@ -8,7 +8,9 @@ value_type: number
status: active
milestone: "14.8"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78713
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20211104154352_i_code_review_widget_nothing_merge_click_new_file_weekly.yml b/config/metrics/counts_all/i_code_review_widget_nothing_merge_click_new_file.yml
similarity index 91%
rename from config/metrics/counts_7d/20211104154352_i_code_review_widget_nothing_merge_click_new_file_weekly.yml
rename to config/metrics/counts_all/i_code_review_widget_nothing_merge_click_new_file.yml
index 079bc1ba2f0..c126a8b3b36 100644
--- a/config/metrics/counts_7d/20211104154352_i_code_review_widget_nothing_merge_click_new_file_weekly.yml
+++ b/config/metrics/counts_all/i_code_review_widget_nothing_merge_click_new_file.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.code_review.i_code_review_widget_nothing_merge_click_new_file_weekly
+key_path: redis_hll_counters.code_review.i_code_review_widget_nothing_merge_click_new_file
description: Count of users who click the create file button in the nothing to merge widget state
product_group: code_review
product_categories:
@@ -8,7 +8,9 @@ value_type: number
status: active
milestone: '14.5'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73762
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
diff --git a/config/metrics/counts_7d/20240418165311_i_quickactions_remind_me_weekly.yml b/config/metrics/counts_all/i_quickactions_remind_me.yml
similarity index 95%
rename from config/metrics/counts_7d/20240418165311_i_quickactions_remind_me_weekly.yml
rename to config/metrics/counts_all/i_quickactions_remind_me.yml
index e0672d6f9ab..b8a84af43d8 100644
--- a/config/metrics/counts_7d/20240418165311_i_quickactions_remind_me_weekly.yml
+++ b/config/metrics/counts_all/i_quickactions_remind_me.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.code_review.i_quickactions_remind_me_weekly
+key_path: redis_hll_counters.code_review.i_quickactions_remind_me
description: Count of WAU using the `/remind_me` quick action
product_group: code_review
value_type: number
@@ -8,7 +8,9 @@ milestone: "17.0"
milestone_removed: "17.11"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/149938
removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/185413
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20231102160653_i_quickactions_request_changes_weekly.yml b/config/metrics/counts_all/i_quickactions_request_changes.yml
similarity index 93%
rename from config/metrics/counts_7d/20231102160653_i_quickactions_request_changes_weekly.yml
rename to config/metrics/counts_all/i_quickactions_request_changes.yml
index d5bc0b9b1b3..8fd63262710 100644
--- a/config/metrics/counts_7d/20231102160653_i_quickactions_request_changes_weekly.yml
+++ b/config/metrics/counts_all/i_quickactions_request_changes.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.quickactions.i_quickactions_request_changes_weekly
+key_path: redis_hll_counters.quickactions.i_quickactions_request_changes
description: Count using the `/request_changes` quick action on Merge Requests
product_group: code_review
value_type: number
status: active
milestone: '16.6'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55069
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20230420160441_i_quickactions_type_weekly.yml b/config/metrics/counts_all/i_quickactions_type.yml
similarity index 83%
rename from config/metrics/counts_7d/20230420160441_i_quickactions_type_weekly.yml
rename to config/metrics/counts_all/i_quickactions_type.yml
index 2291003b508..c2457f20a62 100644
--- a/config/metrics/counts_7d/20230420160441_i_quickactions_type_weekly.yml
+++ b/config/metrics/counts_all/i_quickactions_type.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.quickactions.i_quickactions_type_weekly
+key_path: redis_hll_counters.quickactions.i_quickactions_type
description: Count of MAU using the `/type` quick action
product_group: product_planning
value_type: number
status: active
milestone: "16.0"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/118790
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20221101190913_i_testing_coverage_report_uploaded_weekly.yml b/config/metrics/counts_all/i_testing_coverage_report_uploaded.yml
similarity index 94%
rename from config/metrics/counts_7d/20221101190913_i_testing_coverage_report_uploaded_weekly.yml
rename to config/metrics/counts_all/i_testing_coverage_report_uploaded.yml
index 728adb19e81..bfa39cd63bf 100644
--- a/config/metrics/counts_7d/20221101190913_i_testing_coverage_report_uploaded_weekly.yml
+++ b/config/metrics/counts_all/i_testing_coverage_report_uploaded.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.testing.i_testing_coverage_report_uploaded_weekly
+key_path: redis_hll_counters.testing.i_testing_coverage_report_uploaded
description: "MAU of coverage test reports uploaded by customers per pipeline"
product_group: pipeline_execution
product_categories:
@@ -8,7 +8,9 @@ value_type: number
status: active
milestone: "15.6"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102371
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220825142528_i_testing_test_report_uploaded_weekly.yml b/config/metrics/counts_all/i_testing_test_report_uploaded.yml
similarity index 95%
rename from config/metrics/counts_7d/20220825142528_i_testing_test_report_uploaded_weekly.yml
rename to config/metrics/counts_all/i_testing_test_report_uploaded.yml
index 10b025c8718..21745b8abd5 100644
--- a/config/metrics/counts_7d/20220825142528_i_testing_test_report_uploaded_weekly.yml
+++ b/config/metrics/counts_all/i_testing_test_report_uploaded.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.testing.i_testing_test_report_uploaded_weekly
+key_path: redis_hll_counters.testing.i_testing_test_report_uploaded
description: "MAU of junit test reports uploaded by customers per pipeline"
product_group: pipeline_execution
product_categories:
@@ -8,7 +8,9 @@ value_type: number
status: active
milestone: "15.4"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95112
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220906065645_incident_management_timeline_event_created_weekly.yml b/config/metrics/counts_all/incident_management_timeline_event_created.yml
similarity index 90%
rename from config/metrics/counts_7d/20220906065645_incident_management_timeline_event_created_weekly.yml
rename to config/metrics/counts_all/incident_management_timeline_event_created.yml
index 0155320098f..58ef576ee2d 100644
--- a/config/metrics/counts_7d/20220906065645_incident_management_timeline_event_created_weekly.yml
+++ b/config/metrics/counts_all/incident_management_timeline_event_created.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.incident_management.incident_management_timeline_event_created_weekly
+key_path: redis_hll_counters.incident_management.incident_management_timeline_event_created
description: Count of unique users created timeline events
product_group: platform_insights
value_type: number
status: active
milestone: "15.5"
introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97006"
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220906070629_incident_management_timeline_event_deleted_weekly.yml b/config/metrics/counts_all/incident_management_timeline_event_deleted.yml
similarity index 91%
rename from config/metrics/counts_7d/20220906070629_incident_management_timeline_event_deleted_weekly.yml
rename to config/metrics/counts_all/incident_management_timeline_event_deleted.yml
index 8ca22c5b894..8ca4d334f30 100644
--- a/config/metrics/counts_7d/20220906070629_incident_management_timeline_event_deleted_weekly.yml
+++ b/config/metrics/counts_all/incident_management_timeline_event_deleted.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.incident_management.incident_management_timeline_event_deleted_weekly
+key_path: redis_hll_counters.incident_management.incident_management_timeline_event_deleted
description: Count of unique users deleted timeline events
product_group: platform_insights
value_type: number
status: active
milestone: "15.5"
introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97006"
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220906070351_incident_management_timeline_event_edited_weekly.yml b/config/metrics/counts_all/incident_management_timeline_event_edited.yml
similarity index 91%
rename from config/metrics/counts_7d/20220906070351_incident_management_timeline_event_edited_weekly.yml
rename to config/metrics/counts_all/incident_management_timeline_event_edited.yml
index 8681326c4cd..9e26d26f184 100644
--- a/config/metrics/counts_7d/20220906070351_incident_management_timeline_event_edited_weekly.yml
+++ b/config/metrics/counts_all/incident_management_timeline_event_edited.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.incident_management.incident_management_timeline_event_edited_weekly
+key_path: redis_hll_counters.incident_management.incident_management_timeline_event_edited
description: Count of unique users edited timeline events
product_group: platform_insights
value_type: number
status: active
milestone: "15.5"
introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97006"
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223501_p_ci_templates_5_minute_production_app_weekly.yml b/config/metrics/counts_all/p_ci_templates_5_minute_production_app.yml
similarity index 91%
rename from config/metrics/counts_7d/20210901223501_p_ci_templates_5_minute_production_app_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_5_minute_production_app.yml
index 78ee7c4dded..8e08fb4f9e1 100644
--- a/config/metrics/counts_7d/20210901223501_p_ci_templates_5_minute_production_app_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_5_minute_production_app.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_5_minute_production_app_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_5_minute_production_app
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210908093503_p_ci_templates_android_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_android_latest.yml
similarity index 93%
rename from config/metrics/counts_7d/20210908093503_p_ci_templates_android_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_android_latest.yml
index 4810c47c8c9..6f9e1ec59b9 100644
--- a/config/metrics/counts_7d/20210908093503_p_ci_templates_android_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_android_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_android_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_android_latest
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: "14.3"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20230830153031_p_ci_templates_cosign_weekly.yml b/config/metrics/counts_all/p_ci_templates_cosign.yml
similarity index 83%
rename from config/metrics/counts_7d/20230830153031_p_ci_templates_cosign_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_cosign.yml
index c4a1485d6b5..8861d18ac12 100644
--- a/config/metrics/counts_7d/20230830153031_p_ci_templates_cosign_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_cosign.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_cosign_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_cosign
description: Count of pipelines using the Cosign CI template.
product_group: pipeline_security
value_type: number
status: active
milestone: "16.4"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/130339
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223416_p_ci_templates_dart_weekly.yml b/config/metrics/counts_all/p_ci_templates_dart.yml
similarity index 80%
rename from config/metrics/counts_7d/20210901223416_p_ci_templates_dart_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_dart.yml
index 2b97823166f..e018c3f4628 100644
--- a/config/metrics/counts_7d/20210901223416_p_ci_templates_dart_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_dart.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_dart_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_dart
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20231116002421_p_ci_templates_diffblue_cover_weekly.yml b/config/metrics/counts_all/p_ci_templates_diffblue_cover.yml
similarity index 93%
rename from config/metrics/counts_7d/20231116002421_p_ci_templates_diffblue_cover_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_diffblue_cover.yml
index 8c8f732c3d2..a5e9238a226 100644
--- a/config/metrics/counts_7d/20231116002421_p_ci_templates_diffblue_cover_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_diffblue_cover.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_diffblue_cover_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_diffblue_cover
description: Count of pipelines using the Diffblue Cover template
product_group: pipeline_authoring
value_type: number
status: active
milestone: "16.7"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137047
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223425_p_ci_templates_docker_weekly.yml b/config/metrics/counts_all/p_ci_templates_docker.yml
similarity index 80%
rename from config/metrics/counts_7d/20210901223425_p_ci_templates_docker_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_docker.yml
index f7b5ebd87aa..0a2d0abb107 100644
--- a/config/metrics/counts_7d/20210901223425_p_ci_templates_docker_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_docker.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_docker_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_docker
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223452_p_ci_templates_dotnet_core_weekly.yml b/config/metrics/counts_all/p_ci_templates_dotnet_core.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223452_p_ci_templates_dotnet_core_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_dotnet_core.yml
index 0ba983d4355..d668665cdf1 100644
--- a/config/metrics/counts_7d/20210901223452_p_ci_templates_dotnet_core_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_dotnet_core.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_dotnet_core_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_dotnet_core
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223639_p_ci_templates_implicit_jobs_browser_performance_testing_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_browser_performance_testing.yml
similarity index 88%
rename from config/metrics/counts_7d/20210901223639_p_ci_templates_implicit_jobs_browser_performance_testing_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_browser_performance_testing.yml
index 319104b31f9..ab7a1deae6a 100644
--- a/config/metrics/counts_7d/20210901223639_p_ci_templates_implicit_jobs_browser_performance_testing_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_browser_performance_testing.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_browser_performance_testing_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_browser_performance_testing
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223658_p_ci_templates_implicit_jobs_browser_performance_testing_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_browser_performance_testing_latest.yml
similarity index 89%
rename from config/metrics/counts_7d/20210901223658_p_ci_templates_implicit_jobs_browser_performance_testing_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_browser_performance_testing_latest.yml
index c173d75f1de..23b7a62dc12 100644
--- a/config/metrics/counts_7d/20210901223658_p_ci_templates_implicit_jobs_browser_performance_testing_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_browser_performance_testing_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_browser_performance_testing_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_browser_performance_testing_latest
description: ''
product_group: pipeline_authoring
value_type: number
status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210929102429_p_ci_templates_implicit_jobs_build_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_build.yml
similarity index 92%
rename from config/metrics/counts_7d/20210929102429_p_ci_templates_implicit_jobs_build_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_build.yml
index b3489f2b958..05ef131f27b 100644
--- a/config/metrics/counts_7d/20210929102429_p_ci_templates_implicit_jobs_build_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_build.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_build_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_build
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: "14.4"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71157
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223716_p_ci_templates_implicit_jobs_build_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_build_latest.yml
similarity index 92%
rename from config/metrics/counts_7d/20210901223716_p_ci_templates_implicit_jobs_build_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_build_latest.yml
index 0700e7864f4..3e7f2f23622 100644
--- a/config/metrics/counts_7d/20210901223716_p_ci_templates_implicit_jobs_build_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_build_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_build_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_build_latest
description: ''
product_group: pipeline_authoring
value_type: number
status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223707_p_ci_templates_implicit_jobs_cf_provision_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_cf_provision.yml
similarity index 92%
rename from config/metrics/counts_7d/20210901223707_p_ci_templates_implicit_jobs_cf_provision_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_cf_provision.yml
index 2f2c2020b4e..42cefe27647 100644
--- a/config/metrics/counts_7d/20210901223707_p_ci_templates_implicit_jobs_cf_provision_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_cf_provision.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_cf_provision_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_cf_provision
description: ''
product_group: pipeline_authoring
value_type: number
status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223603_p_ci_templates_implicit_jobs_code_intelligence_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_code_intelligence.yml
similarity index 90%
rename from config/metrics/counts_7d/20210901223603_p_ci_templates_implicit_jobs_code_intelligence_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_code_intelligence.yml
index 66865a2c4c8..9fb49d8c4d6 100644
--- a/config/metrics/counts_7d/20210901223603_p_ci_templates_implicit_jobs_code_intelligence_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_code_intelligence.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_code_intelligence_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_code_intelligence
description: ''
product_group: code_review
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223612_p_ci_templates_implicit_jobs_code_quality_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_code_quality.yml
similarity index 90%
rename from config/metrics/counts_7d/20210901223612_p_ci_templates_implicit_jobs_code_quality_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_code_quality.yml
index d834000220f..e741358e537 100644
--- a/config/metrics/counts_7d/20210901223612_p_ci_templates_implicit_jobs_code_quality_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_code_quality.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_code_quality_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_code_quality
description: ''
product_group: static_analysis
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223519_p_ci_templates_implicit_jobs_dast_default_branch_deploy_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_dast_default_branch_deploy.yml
similarity index 88%
rename from config/metrics/counts_7d/20210901223519_p_ci_templates_implicit_jobs_dast_default_branch_deploy_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_dast_default_branch_deploy.yml
index 300c753735b..87ff12399ea 100644
--- a/config/metrics/counts_7d/20210901223519_p_ci_templates_implicit_jobs_dast_default_branch_deploy_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_dast_default_branch_deploy.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_dast_default_branch_deploy_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_dast_default_branch_deploy
description: ''
product_group: dynamic_analysis
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210929103006_p_ci_templates_implicit_jobs_deploy_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_deploy.yml
similarity index 91%
rename from config/metrics/counts_7d/20210929103006_p_ci_templates_implicit_jobs_deploy_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_deploy.yml
index 639031b85d3..351a354279a 100644
--- a/config/metrics/counts_7d/20210929103006_p_ci_templates_implicit_jobs_deploy_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_deploy.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_deploy_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_deploy
description: ''
product_group: environments
value_type: number
status: active
milestone: "14.4"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71157
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223630_p_ci_templates_implicit_jobs_deploy_ec2_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_deploy_ec2.yml
similarity index 91%
rename from config/metrics/counts_7d/20210901223630_p_ci_templates_implicit_jobs_deploy_ec2_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_deploy_ec2.yml
index f8c6f2db38f..2b00001d263 100644
--- a/config/metrics/counts_7d/20210901223630_p_ci_templates_implicit_jobs_deploy_ec2_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_deploy_ec2.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_deploy_ec2_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_deploy_ec2
description: ''
product_group: environments
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223621_p_ci_templates_implicit_jobs_deploy_ecs_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_deploy_ecs.yml
similarity index 91%
rename from config/metrics/counts_7d/20210901223621_p_ci_templates_implicit_jobs_deploy_ecs_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_deploy_ecs.yml
index 19adb81676d..0037a1518d7 100644
--- a/config/metrics/counts_7d/20210901223621_p_ci_templates_implicit_jobs_deploy_ecs_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_deploy_ecs.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_deploy_ecs_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_deploy_ecs
description: ''
product_group: environments
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210929102731_p_ci_templates_implicit_jobs_deploy_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_deploy_latest.yml
similarity index 92%
rename from config/metrics/counts_7d/20210929102731_p_ci_templates_implicit_jobs_deploy_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_deploy_latest.yml
index 0c5e53ad960..b413205909b 100644
--- a/config/metrics/counts_7d/20210929102731_p_ci_templates_implicit_jobs_deploy_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_deploy_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_deploy_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_deploy_latest
description: ''
product_group: environments
value_type: number
status: removed
milestone: '14.4'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71157
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223537_p_ci_templates_implicit_jobs_helm_2to3_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_helm_2to3.yml
similarity index 91%
rename from config/metrics/counts_7d/20210901223537_p_ci_templates_implicit_jobs_helm_2to3_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_helm_2to3.yml
index 22eed23aae5..0a6e4b78a44 100644
--- a/config/metrics/counts_7d/20210901223537_p_ci_templates_implicit_jobs_helm_2to3_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_helm_2to3.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_helm_2to3_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_helm_2to3
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223528_p_ci_templates_implicit_jobs_load_performance_testing_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_load_performance_testing.yml
similarity index 90%
rename from config/metrics/counts_7d/20210901223528_p_ci_templates_implicit_jobs_load_performance_testing_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_load_performance_testing.yml
index f673a6e3d66..3b14c586c3e 100644
--- a/config/metrics/counts_7d/20210901223528_p_ci_templates_implicit_jobs_load_performance_testing_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_load_performance_testing.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_load_performance_testing_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_load_performance_testing
description: ''
product_group: pipeline_authoring
value_type: number
status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223546_p_ci_templates_implicit_jobs_sast_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_sast.yml
similarity index 92%
rename from config/metrics/counts_7d/20210901223546_p_ci_templates_implicit_jobs_sast_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_sast.yml
index 8893a665ec2..c56f3e197ab 100644
--- a/config/metrics/counts_7d/20210901223546_p_ci_templates_implicit_jobs_sast_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_sast.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast
description: ''
product_group: static_analysis
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220907102710_p_ci_templates_implicit_jobs_sast_iac_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_sast_iac.yml
similarity index 94%
rename from config/metrics/counts_7d/20220907102710_p_ci_templates_implicit_jobs_sast_iac_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_sast_iac.yml
index c033441dbd8..b31e396b3d0 100644
--- a/config/metrics/counts_7d/20220907102710_p_ci_templates_implicit_jobs_sast_iac_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_sast_iac.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_iac_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_iac
description: Count of pipelines with implicit SAST jobs using the stable SAST IaC
template
product_group: static_analysis
@@ -7,7 +7,9 @@ value_type: number
status: removed
milestone: '15.4'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86275
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20211102213417_p_ci_templates_implicit_jobs_sast_iac_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_sast_iac_latest.yml
similarity index 93%
rename from config/metrics/counts_7d/20211102213417_p_ci_templates_implicit_jobs_sast_iac_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_sast_iac_latest.yml
index c254d7b8fa0..9b0708a93b2 100644
--- a/config/metrics/counts_7d/20211102213417_p_ci_templates_implicit_jobs_sast_iac_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_sast_iac_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_iac_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_iac_latest
description: Count of pipelines with implicit runs using the latest SAST IaC template
product_group: static_analysis
value_type: number
status: removed
milestone: '14.5'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73074
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220310213743_p_ci_templates_implicit_jobs_sast_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_sast_latest.yml
similarity index 93%
rename from config/metrics/counts_7d/20220310213743_p_ci_templates_implicit_jobs_sast_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_sast_latest.yml
index 6b3158a2f7f..bb8d7ab86a5 100644
--- a/config/metrics/counts_7d/20220310213743_p_ci_templates_implicit_jobs_sast_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_sast_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_latest
description: Weekly counts for implicit use of SAST CI Latest template (Jobs folder)
product_group: static_analysis
value_type: number
status: removed
milestone: '15.0'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223554_p_ci_templates_implicit_jobs_secret_detection_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_secret_detection.yml
similarity index 90%
rename from config/metrics/counts_7d/20210901223554_p_ci_templates_implicit_jobs_secret_detection_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_secret_detection.yml
index a6c9ecafff0..bb7d0c74ae8 100644
--- a/config/metrics/counts_7d/20210901223554_p_ci_templates_implicit_jobs_secret_detection_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_secret_detection.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_secret_detection_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_secret_detection
description: ''
product_group: secret_detection
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220310213315_p_ci_templates_implicit_jobs_secret_detection_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_secret_detection_latest.yml
similarity index 92%
rename from config/metrics/counts_7d/20220310213315_p_ci_templates_implicit_jobs_secret_detection_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_secret_detection_latest.yml
index 2ada825d37d..fb5071f771b 100644
--- a/config/metrics/counts_7d/20220310213315_p_ci_templates_implicit_jobs_secret_detection_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_secret_detection_latest.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_secret_detection_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_secret_detection_latest
description: Weekly counts for implicit use of Secret Detection CI Latest template
(Jobs folder)
product_group: secret_detection
@@ -7,7 +7,9 @@ value_type: number
status: removed
milestone: '15.0'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223649_p_ci_templates_implicit_jobs_test_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_jobs_test.yml
similarity index 92%
rename from config/metrics/counts_7d/20210901223649_p_ci_templates_implicit_jobs_test_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_jobs_test.yml
index 7770db8b210..477ee0a8b71 100644
--- a/config/metrics/counts_7d/20210901223649_p_ci_templates_implicit_jobs_test_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_jobs_test.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_test_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_test
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223854_p_ci_templates_implicit_security_api_fuzzing_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_api_fuzzing.yml
similarity index 92%
rename from config/metrics/counts_7d/20210901223854_p_ci_templates_implicit_security_api_fuzzing_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_api_fuzzing.yml
index 7b18652a75d..a1506d3e101 100644
--- a/config/metrics/counts_7d/20210901223854_p_ci_templates_implicit_security_api_fuzzing_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_api_fuzzing.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_api_fuzzing_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_api_fuzzing
description: ''
product_group: dynamic_analysis
value_type: number
status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223802_p_ci_templates_implicit_security_api_fuzzing_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_api_fuzzing_latest.yml
similarity index 91%
rename from config/metrics/counts_7d/20210901223802_p_ci_templates_implicit_security_api_fuzzing_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_api_fuzzing_latest.yml
index da0738a55fe..a814d3b677d 100644
--- a/config/metrics/counts_7d/20210901223802_p_ci_templates_implicit_security_api_fuzzing_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_api_fuzzing_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_api_fuzzing_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_api_fuzzing_latest
description: ''
product_group: dynamic_analysis
value_type: number
status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223912_p_ci_templates_implicit_security_cluster_image_scanning_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_cluster_image_scanning.yml
similarity index 90%
rename from config/metrics/counts_7d/20210901223912_p_ci_templates_implicit_security_cluster_image_scanning_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_cluster_image_scanning.yml
index 3a1ee32a83c..716bd2ea31b 100644
--- a/config/metrics/counts_7d/20210901223912_p_ci_templates_implicit_security_cluster_image_scanning_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_cluster_image_scanning.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_cluster_image_scanning_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_cluster_image_scanning
description: ''
product_group: composition_analysis
value_type: number
@@ -8,7 +8,9 @@ milestone_removed: '15.0'
removed_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87000'
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223828_p_ci_templates_implicit_security_container_scanning_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_container_scanning.yml
similarity index 89%
rename from config/metrics/counts_7d/20210901223828_p_ci_templates_implicit_security_container_scanning_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_container_scanning.yml
index dd15a905b68..690e80a0258 100644
--- a/config/metrics/counts_7d/20210901223828_p_ci_templates_implicit_security_container_scanning_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_container_scanning.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_container_scanning_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_container_scanning
description: ''
product_group: composition_analysis
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223753_p_ci_templates_implicit_security_coverage_fuzzing_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_coverage_fuzzing.yml
similarity index 91%
rename from config/metrics/counts_7d/20210901223753_p_ci_templates_implicit_security_coverage_fuzzing_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_coverage_fuzzing.yml
index 0fba49f191e..8c7c73bbacd 100644
--- a/config/metrics/counts_7d/20210901223753_p_ci_templates_implicit_security_coverage_fuzzing_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_coverage_fuzzing.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_coverage_fuzzing_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_coverage_fuzzing
description: ''
product_group: dynamic_analysis
value_type: number
status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223903_p_ci_templates_implicit_security_dast_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_dast.yml
similarity index 91%
rename from config/metrics/counts_7d/20210901223903_p_ci_templates_implicit_security_dast_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_dast.yml
index 146c6267f0c..b4780ad7b03 100644
--- a/config/metrics/counts_7d/20210901223903_p_ci_templates_implicit_security_dast_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_dast.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast
description: ''
product_group: dynamic_analysis
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223819_p_ci_templates_implicit_security_dast_api_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_dast_api.yml
similarity index 92%
rename from config/metrics/counts_7d/20210901223819_p_ci_templates_implicit_security_dast_api_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_dast_api.yml
index d1cb16a3325..3aed2e80a85 100644
--- a/config/metrics/counts_7d/20210901223819_p_ci_templates_implicit_security_dast_api_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_dast_api.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_api_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_api
description: ''
product_group: dynamic_analysis
value_type: number
status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223837_p_ci_templates_implicit_security_dast_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_dast_latest.yml
similarity index 92%
rename from config/metrics/counts_7d/20210901223837_p_ci_templates_implicit_security_dast_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_dast_latest.yml
index fbc20f68a16..c2bddc481e6 100644
--- a/config/metrics/counts_7d/20210901223837_p_ci_templates_implicit_security_dast_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_dast_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_latest
description: ''
product_group: dynamic_analysis
value_type: number
status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223735_p_ci_templates_implicit_security_dast_on_demand_scan_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_dast_on_demand_scan.yml
similarity index 91%
rename from config/metrics/counts_7d/20210901223735_p_ci_templates_implicit_security_dast_on_demand_scan_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_dast_on_demand_scan.yml
index 1bd659947db..3dfc1b239a6 100644
--- a/config/metrics/counts_7d/20210901223735_p_ci_templates_implicit_security_dast_on_demand_scan_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_dast_on_demand_scan.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_on_demand_scan_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_on_demand_scan
description: ''
product_group: dynamic_analysis
value_type: number
status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223725_p_ci_templates_implicit_security_dast_runner_validation_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_dast_runner_validation.yml
similarity index 90%
rename from config/metrics/counts_7d/20210901223725_p_ci_templates_implicit_security_dast_runner_validation_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_dast_runner_validation.yml
index 8b5a2547dd4..4f3791d3895 100644
--- a/config/metrics/counts_7d/20210901223725_p_ci_templates_implicit_security_dast_runner_validation_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_dast_runner_validation.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_runner_validation_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dast_runner_validation
description: ''
product_group: dynamic_analysis
value_type: number
status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223845_p_ci_templates_implicit_security_dependency_scanning_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_dependency_scanning.yml
similarity index 89%
rename from config/metrics/counts_7d/20210901223845_p_ci_templates_implicit_security_dependency_scanning_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_dependency_scanning.yml
index 62b55da04cf..16bb42d1771 100644
--- a/config/metrics/counts_7d/20210901223845_p_ci_templates_implicit_security_dependency_scanning_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_dependency_scanning.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dependency_scanning_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_dependency_scanning
description: ''
product_group: composition_analysis
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220719133311_p_ci_templates_implicit_security_fortify_fod_sast_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_fortify_fod_sast.yml
similarity index 92%
rename from config/metrics/counts_7d/20220719133311_p_ci_templates_implicit_security_fortify_fod_sast_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_fortify_fod_sast.yml
index eca11d284bf..5ccb2803324 100644
--- a/config/metrics/counts_7d/20220719133311_p_ci_templates_implicit_security_fortify_fod_sast_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_fortify_fod_sast.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_fortify_fod_sast_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_fortify_fod_sast
description: Count of pipelines with implicit runs using the Fortify FoD SAST template
product_group: static_analysis
value_type: number
status: removed
milestone: '15.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91956
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223744_p_ci_templates_implicit_security_license_scanning_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_license_scanning.yml
similarity index 89%
rename from config/metrics/counts_7d/20210901223744_p_ci_templates_implicit_security_license_scanning_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_license_scanning.yml
index 406573fab19..c1793de2743 100644
--- a/config/metrics/counts_7d/20210901223744_p_ci_templates_implicit_security_license_scanning_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_license_scanning.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_license_scanning_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_license_scanning
description: ''
product_group: composition_analysis
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220907084343_p_ci_templates_implicit_security_sast_iac_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_sast_iac.yml
similarity index 93%
rename from config/metrics/counts_7d/20220907084343_p_ci_templates_implicit_security_sast_iac_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_sast_iac.yml
index 9eb97883159..f5b416b29a8 100644
--- a/config/metrics/counts_7d/20220907084343_p_ci_templates_implicit_security_sast_iac_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_sast_iac.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_sast_iac_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_sast_iac
description: Count of pipelines with implicit SAST runs using the stable SAST IaC
template
product_group: static_analysis
@@ -7,7 +7,9 @@ value_type: number
status: removed
milestone: '15.4'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86275
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20211102204352_p_ci_templates_implicit_security_sast_iac_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_sast_iac_latest.yml
similarity index 92%
rename from config/metrics/counts_7d/20211102204352_p_ci_templates_implicit_security_sast_iac_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_sast_iac_latest.yml
index 0485f3b1117..3a418133836 100644
--- a/config/metrics/counts_7d/20211102204352_p_ci_templates_implicit_security_sast_iac_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_sast_iac_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_sast_iac_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_sast_iac_latest
description: Count of pipelines with implicit runs using the latest SAST IaC template
product_group: static_analysis
value_type: number
status: removed
milestone: '14.5'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73076
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223811_p_ci_templates_implicit_security_secure_binaries_weekly.yml b/config/metrics/counts_all/p_ci_templates_implicit_security_secure_binaries.yml
similarity index 91%
rename from config/metrics/counts_7d/20210901223811_p_ci_templates_implicit_security_secure_binaries_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_implicit_security_secure_binaries.yml
index 5d286a2cabf..8fe0f909963 100644
--- a/config/metrics/counts_7d/20210901223811_p_ci_templates_implicit_security_secure_binaries_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_implicit_security_secure_binaries.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_secure_binaries_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_security_secure_binaries
description: ''
product_group: static_analysis
value_type: number
status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220510024437_p_ci_templates_jobs_sast_iac_weekly.yml b/config/metrics/counts_all/p_ci_templates_jobs_sast_iac.yml
similarity index 94%
rename from config/metrics/counts_7d/20220510024437_p_ci_templates_jobs_sast_iac_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_jobs_sast_iac.yml
index 90d532df55e..3b9a9316b7f 100644
--- a/config/metrics/counts_7d/20220510024437_p_ci_templates_jobs_sast_iac_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_jobs_sast_iac.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_iac_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_iac
description: Count of pipelines using the stable SAST IaC template
product_group: "static_analysis"
value_type: number
status: active
milestone: "15.0"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86275
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20211102213112_p_ci_templates_jobs_sast_iac_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_jobs_sast_iac_latest.yml
similarity index 93%
rename from config/metrics/counts_7d/20211102213112_p_ci_templates_jobs_sast_iac_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_jobs_sast_iac_latest.yml
index d0e8a25e943..f4f8a39e451 100644
--- a/config/metrics/counts_7d/20211102213112_p_ci_templates_jobs_sast_iac_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_jobs_sast_iac_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_iac_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_iac_latest
description: Count of pipelines using the latest SAST IaC template
product_group: "static_analysis"
value_type: number
status: active
milestone: "14.5"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73074
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220308233959_p_ci_templates_jobs_sast_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_jobs_sast_latest.yml
similarity index 93%
rename from config/metrics/counts_7d/20220308233959_p_ci_templates_jobs_sast_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_jobs_sast_latest.yml
index f28bd8db4a5..ae6ff39bce3 100644
--- a/config/metrics/counts_7d/20220308233959_p_ci_templates_jobs_sast_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_jobs_sast_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_latest
description: Weekly counts for SAST CI Latest template (Jobs folder)
product_group: static_analysis
value_type: number
status: active
milestone: "15.0"
introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847'
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223434_p_ci_templates_julia_weekly.yml b/config/metrics/counts_all/p_ci_templates_julia.yml
similarity index 80%
rename from config/metrics/counts_7d/20210901223434_p_ci_templates_julia_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_julia.yml
index 754804e1119..9013b92a5e8 100644
--- a/config/metrics/counts_7d/20210901223434_p_ci_templates_julia_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_julia.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_julia_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_julia
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220307150854_p_ci_templates_database_liquibase_weekly.yml b/config/metrics/counts_all/p_ci_templates_liquibase.yml
similarity index 94%
rename from config/metrics/counts_7d/20220307150854_p_ci_templates_database_liquibase_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_liquibase.yml
index 3819a3f9153..076b147b3d4 100644
--- a/config/metrics/counts_7d/20220307150854_p_ci_templates_database_liquibase_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_liquibase.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_liquibase_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_liquibase
description: ""
product_group: pipeline_authoring
value_type: number
status: active
milestone: "14.9"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81817
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220310184320_p_ci_templates_matlab_weekly.yml b/config/metrics/counts_all/p_ci_templates_matlab.yml
similarity index 80%
rename from config/metrics/counts_7d/20220310184320_p_ci_templates_matlab_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_matlab.yml
index 40536874392..65ab3f145dc 100644
--- a/config/metrics/counts_7d/20220310184320_p_ci_templates_matlab_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_matlab.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_matlab_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_matlab
description: ""
product_group: pipeline_authoring
value_type: number
status: active
milestone: "14.10"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82914
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223443_p_ci_templates_npm_weekly.yml b/config/metrics/counts_all/p_ci_templates_npm.yml
similarity index 80%
rename from config/metrics/counts_7d/20210901223443_p_ci_templates_npm_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_npm.yml
index e0001c43650..430bd08fd2b 100644
--- a/config/metrics/counts_7d/20210901223443_p_ci_templates_npm_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_npm.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_npm_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_npm
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20240130072053_p_ci_templates_opentofu_base_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_opentofu_base_latest.yml
similarity index 93%
rename from config/metrics/counts_7d/20240130072053_p_ci_templates_opentofu_base_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_opentofu_base_latest.yml
index 956e46f129d..66f17e3e6e0 100644
--- a/config/metrics/counts_7d/20240130072053_p_ci_templates_opentofu_base_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_opentofu_base_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_opentofu_base_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_opentofu_base_latest
description: Count of pipelines that include the OpenTofu job template from GitLab
product_group: environments
value_type: number
status: active
milestone: "16.9"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142547
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20240130072114_p_ci_templates_opentofu_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_opentofu_latest.yml
similarity index 93%
rename from config/metrics/counts_7d/20240130072114_p_ci_templates_opentofu_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_opentofu_latest.yml
index 9ca90f93dbb..c1ce1849ce7 100644
--- a/config/metrics/counts_7d/20240130072114_p_ci_templates_opentofu_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_opentofu_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_opentofu_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_opentofu_latest
description: Count of pipelines that include the OpenTofu pipeline template from GitLab
product_group: environments
value_type: number
status: active
milestone: "16.9"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142547
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223206_p_ci_templates_pages_brunch_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_brunch.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223206_p_ci_templates_pages_brunch_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_brunch.yml
index cd0f872fc61..e2533f766ff 100644
--- a/config/metrics/counts_7d/20210901223206_p_ci_templates_pages_brunch_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_brunch.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_brunch_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_brunch
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223215_p_ci_templates_pages_doxygen_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_doxygen.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223215_p_ci_templates_pages_doxygen_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_doxygen.yml
index 4931eff667f..7698866effb 100644
--- a/config/metrics/counts_7d/20210901223215_p_ci_templates_pages_doxygen_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_doxygen.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_doxygen_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_doxygen
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223359_p_ci_templates_pages_gatsby_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_gatsby.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223359_p_ci_templates_pages_gatsby_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_gatsby.yml
index e5436136a82..ae33cf6fa8e 100644
--- a/config/metrics/counts_7d/20210901223359_p_ci_templates_pages_gatsby_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_gatsby.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_gatsby_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_gatsby
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223249_p_ci_templates_pages_hexo_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_hexo.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223249_p_ci_templates_pages_hexo_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_hexo.yml
index 4e5c135570f..ebd28046fc0 100644
--- a/config/metrics/counts_7d/20210901223249_p_ci_templates_pages_hexo_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_hexo.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_hexo_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_hexo
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223408_p_ci_templates_pages_html_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_html.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223408_p_ci_templates_pages_html_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_html.yml
index c4f18d46a6f..91f1cc31d20 100644
--- a/config/metrics/counts_7d/20210901223408_p_ci_templates_pages_html_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_html.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_html_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_html
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223306_p_ci_templates_pages_hugo_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_hugo.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223306_p_ci_templates_pages_hugo_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_hugo.yml
index 862e9b7f571..23fc684ee5a 100644
--- a/config/metrics/counts_7d/20210901223306_p_ci_templates_pages_hugo_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_hugo.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_hugo_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_hugo
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223223_p_ci_templates_pages_hyde_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_hyde.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223223_p_ci_templates_pages_hyde_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_hyde.yml
index c8bc6d72a21..9bf5c1f2b63 100644
--- a/config/metrics/counts_7d/20210901223223_p_ci_templates_pages_hyde_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_hyde.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_hyde_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_hyde
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223240_p_ci_templates_pages_jbake_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_jbake.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223240_p_ci_templates_pages_jbake_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_jbake.yml
index c28f8a7acde..652fa25b888 100644
--- a/config/metrics/counts_7d/20210901223240_p_ci_templates_pages_jbake_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_jbake.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_jbake_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_jbake
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223341_p_ci_templates_pages_jigsaw_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_jigsaw.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223341_p_ci_templates_pages_jigsaw_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_jigsaw.yml
index 4571be451d6..585385b182e 100644
--- a/config/metrics/counts_7d/20210901223341_p_ci_templates_pages_jigsaw_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_jigsaw.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_jigsaw_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_jigsaw
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223232_p_ci_templates_pages_lektor_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_lektor.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223232_p_ci_templates_pages_lektor_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_lektor.yml
index f05db190ced..9b5eac8d9b9 100644
--- a/config/metrics/counts_7d/20210901223232_p_ci_templates_pages_lektor_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_lektor.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_lektor_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_lektor
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223350_p_ci_templates_pages_metalsmith_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_metalsmith.yml
similarity index 92%
rename from config/metrics/counts_7d/20210901223350_p_ci_templates_pages_metalsmith_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_metalsmith.yml
index 9c0e33cd1ba..6c3b95f908d 100644
--- a/config/metrics/counts_7d/20210901223350_p_ci_templates_pages_metalsmith_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_metalsmith.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_metalsmith_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_metalsmith
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223257_p_ci_templates_pages_middleman_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_middleman.yml
similarity index 92%
rename from config/metrics/counts_7d/20210901223257_p_ci_templates_pages_middleman_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_middleman.yml
index f1c4ec858da..c5166221953 100644
--- a/config/metrics/counts_7d/20210901223257_p_ci_templates_pages_middleman_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_middleman.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_middleman_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_middleman
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223324_p_ci_templates_pages_nanoc_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_nanoc.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223324_p_ci_templates_pages_nanoc_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_nanoc.yml
index 88c0b2cad47..f28a8ed2972 100644
--- a/config/metrics/counts_7d/20210901223324_p_ci_templates_pages_nanoc_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_nanoc.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_nanoc_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_nanoc
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223156_p_ci_templates_pages_octopress_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_octopress.yml
similarity index 92%
rename from config/metrics/counts_7d/20210901223156_p_ci_templates_pages_octopress_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_octopress.yml
index 89378f1086a..a7da42e40a1 100644
--- a/config/metrics/counts_7d/20210901223156_p_ci_templates_pages_octopress_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_octopress.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_octopress_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_octopress
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223315_p_ci_templates_pages_pelican_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_pelican.yml
similarity index 93%
rename from config/metrics/counts_7d/20210901223315_p_ci_templates_pages_pelican_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_pelican.yml
index 306d1f5534e..dd283d3afa5 100644
--- a/config/metrics/counts_7d/20210901223315_p_ci_templates_pages_pelican_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_pelican.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_pelican_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_pelican
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223332_p_ci_templates_pages_swaggerui_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_swaggerui.yml
similarity index 92%
rename from config/metrics/counts_7d/20210901223332_p_ci_templates_pages_swaggerui_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_swaggerui.yml
index f86782181e8..ab62fbe793d 100644
--- a/config/metrics/counts_7d/20210901223332_p_ci_templates_pages_swaggerui_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_swaggerui.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_swaggerui_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_swaggerui
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20230527152358_p_ci_templates_pages_zola_weekly.yml b/config/metrics/counts_all/p_ci_templates_pages_zola.yml
similarity index 94%
rename from config/metrics/counts_7d/20230527152358_p_ci_templates_pages_zola_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_pages_zola.yml
index 08aa49a6067..c261dfc642a 100644
--- a/config/metrics/counts_7d/20230527152358_p_ci_templates_pages_zola_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_pages_zola.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_zola_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_pages_zola
description: Count of pipelines using the Zola Pages template
product_group: pipeline_authoring
value_type: number
status: active
milestone: "16.1"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121946
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220119153904_p_ci_templates_qualys_iac_security_weekly.yml b/config/metrics/counts_all/p_ci_templates_qualys_iac_security.yml
similarity index 92%
rename from config/metrics/counts_7d/20220119153904_p_ci_templates_qualys_iac_security_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_qualys_iac_security.yml
index 62a085e5ff1..928486bd5a6 100644
--- a/config/metrics/counts_7d/20220119153904_p_ci_templates_qualys_iac_security_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_qualys_iac_security.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_qualys_iac_security_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_qualys_iac_security
description: ""
product_group: static_analysis
value_type: number
status: active
milestone: "14.7"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77362
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20210901223510_p_ci_templates_ruby_weekly.yml b/config/metrics/counts_all/p_ci_templates_ruby.yml
similarity index 80%
rename from config/metrics/counts_7d/20210901223510_p_ci_templates_ruby_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_ruby.yml
index 5bf5ca09507..57c7b4def98 100644
--- a/config/metrics/counts_7d/20210901223510_p_ci_templates_ruby_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_ruby.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_ruby_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_ruby
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20230509140526_p_ci_templates_security_bas_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_security_bas_latest.yml
similarity index 93%
rename from config/metrics/counts_7d/20230509140526_p_ci_templates_security_bas_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_security_bas_latest.yml
index 65b50d19923..867fb17dcc1 100644
--- a/config/metrics/counts_7d/20230509140526_p_ci_templates_security_bas_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_security_bas_latest.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_security_bas_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_security_bas_latest
description: Count of pipelines using the latest Breach and Attack Simulation template
product_group: dynamic_analysis
value_type: number
status: active
milestone: "16.0"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/119981
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20211118200524_p_ci_templates_security_dast_on_demand_api_scan_weekly.yml b/config/metrics/counts_all/p_ci_templates_security_dast_on_demand_api_scan.yml
similarity index 91%
rename from config/metrics/counts_7d/20211118200524_p_ci_templates_security_dast_on_demand_api_scan_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_security_dast_on_demand_api_scan.yml
index 95208cea2c7..57fedf728a7 100644
--- a/config/metrics/counts_7d/20211118200524_p_ci_templates_security_dast_on_demand_api_scan_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_security_dast_on_demand_api_scan.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_security_dast_on_demand_api_scan_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_security_dast_on_demand_api_scan
description: Count of pipelines using the latest DAST API template
product_group: "dynamic_analysis"
value_type: number
status: active
milestone: "14.7"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73564
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220715195411_p_ci_templates_security_fortify_fod_sast_weekly.yml b/config/metrics/counts_all/p_ci_templates_security_fortify_fod_sast.yml
similarity index 91%
rename from config/metrics/counts_7d/20220715195411_p_ci_templates_security_fortify_fod_sast_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_security_fortify_fod_sast.yml
index b87130ebe6c..2c3536bd7c3 100644
--- a/config/metrics/counts_7d/20220715195411_p_ci_templates_security_fortify_fod_sast_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_security_fortify_fod_sast.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_security_fortify_fod_sast_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_security_fortify_fod_sast
description: Count of pipelines using the Fortify FoD SAST template
product_group: static_analysis
value_type: number
status: active
milestone: "15.3"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91956
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220510024437_p_ci_templates_security_sast_iac_weekly.yml b/config/metrics/counts_all/p_ci_templates_security_sast_iac.yml
similarity index 93%
rename from config/metrics/counts_7d/20220510024437_p_ci_templates_security_sast_iac_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_security_sast_iac.yml
index 726b9f22e9a..75a0cf043dc 100644
--- a/config/metrics/counts_7d/20220510024437_p_ci_templates_security_sast_iac_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_security_sast_iac.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_security_sast_iac_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_security_sast_iac
description: Count of pipelines using the stable SAST IaC template
product_group: "static_analysis"
value_type: number
status: active
milestone: "15.0"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86275
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20211102202454_p_ci_templates_security_sast_iac_latest_weekly.yml b/config/metrics/counts_all/p_ci_templates_security_sast_iac_latest.yml
similarity index 92%
rename from config/metrics/counts_7d/20211102202454_p_ci_templates_security_sast_iac_latest_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_security_sast_iac_latest.yml
index 6f5b47f1185..1281dad6457 100644
--- a/config/metrics/counts_7d/20211102202454_p_ci_templates_security_sast_iac_latest_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_security_sast_iac_latest.yml
@@ -1,13 +1,15 @@
---
data_category: optional
-key_path: redis_hll_counters.ci_templates.p_ci_templates_security_sast_iac_latest_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_security_sast_iac_latest
description: Count of pipelines using the latest SAST IaC template
product_group: "static_analysis"
value_type: number
status: active
milestone: "14.5"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73076
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
instrumentation_class: RedisHLLMetric
performance_indicator_type: []
diff --git a/config/metrics/counts_7d/20230130074931_p_ci_templates_terraform_module_weekly.yml b/config/metrics/counts_all/p_ci_templates_terraform_module.yml
similarity index 93%
rename from config/metrics/counts_7d/20230130074931_p_ci_templates_terraform_module_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_terraform_module.yml
index c09fb134f1e..738aff9148a 100644
--- a/config/metrics/counts_7d/20230130074931_p_ci_templates_terraform_module_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_terraform_module.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_terraform_module_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_terraform_module
description: Count of pipelines using the Terraform Module template
product_group: environments
product_categories:
@@ -8,7 +8,9 @@ value_type: number
status: active
milestone: "15.9"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110493
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20230130075613_p_ci_templates_terraform_module_base_weekly.yml b/config/metrics/counts_all/p_ci_templates_terraform_module_base.yml
similarity index 93%
rename from config/metrics/counts_7d/20230130075613_p_ci_templates_terraform_module_base_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_terraform_module_base.yml
index b370b5b8a2f..123c38ab581 100644
--- a/config/metrics/counts_7d/20230130075613_p_ci_templates_terraform_module_base_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_terraform_module_base.yml
@@ -1,5 +1,5 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_terraform_module_base_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_terraform_module_base
description: Count of pipelines using the Terraform Module Base template
product_group: environments
product_categories:
@@ -8,7 +8,9 @@ value_type: number
status: active
milestone: "15.9"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110493
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220407125901_p_ci_templates_themekit_weekly.yml b/config/metrics/counts_all/p_ci_templates_themekit.yml
similarity index 94%
rename from config/metrics/counts_7d/20220407125901_p_ci_templates_themekit_weekly.yml
rename to config/metrics/counts_all/p_ci_templates_themekit.yml
index 7cae2c73fd7..0ce297797ff 100644
--- a/config/metrics/counts_7d/20220407125901_p_ci_templates_themekit_weekly.yml
+++ b/config/metrics/counts_all/p_ci_templates_themekit.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.ci_templates.p_ci_templates_themekit_weekly
+key_path: redis_hll_counters.ci_templates.p_ci_templates_themekit
description: ''
product_group: pipeline_authoring
value_type: number
status: active
milestone: "14.10"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52279
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20211216084934_users_clicking_license_testing_visiting_external_website_weekly.yml b/config/metrics/counts_all/users_clicking_license_testing_visiting_external_website.yml
similarity index 92%
rename from config/metrics/counts_7d/20211216084934_users_clicking_license_testing_visiting_external_website_weekly.yml
rename to config/metrics/counts_all/users_clicking_license_testing_visiting_external_website.yml
index f37bded8c41..b3ead92b1fb 100644
--- a/config/metrics/counts_7d/20211216084934_users_clicking_license_testing_visiting_external_website_weekly.yml
+++ b/config/metrics/counts_all/users_clicking_license_testing_visiting_external_website.yml
@@ -1,6 +1,6 @@
---
data_category: optional
-key_path: redis_hll_counters.testing.users_clicking_license_testing_visiting_external_website_weekly
+key_path: redis_hll_counters.testing.users_clicking_license_testing_visiting_external_website
description: Count of users clicking licence to visit external information website
product_group: composition_analysis
value_type: number
@@ -9,7 +9,9 @@ removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/152166
milestone_removed: '17.1'
milestone: '14.7'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76917
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
diff --git a/config/metrics/counts_7d/20211126154206_users_expanding_testing_license_compliance_report_weekly.yml b/config/metrics/counts_all/users_expanding_testing_license_compliance_report.yml
similarity index 91%
rename from config/metrics/counts_7d/20211126154206_users_expanding_testing_license_compliance_report_weekly.yml
rename to config/metrics/counts_all/users_expanding_testing_license_compliance_report.yml
index 0692c788c5d..bbc1c88adc8 100644
--- a/config/metrics/counts_7d/20211126154206_users_expanding_testing_license_compliance_report_weekly.yml
+++ b/config/metrics/counts_all/users_expanding_testing_license_compliance_report.yml
@@ -1,13 +1,15 @@
---
data_category: optional
-key_path: redis_hll_counters.testing.users_expanding_testing_license_compliance_report_weekly
+key_path: redis_hll_counters.testing.users_expanding_testing_license_compliance_report
description: Count of expanding the license compliance widget
product_group: composition_analysis
value_type: number
status: active
milestone: '14.6'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75643
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
diff --git a/config/metrics/counts_7d/20220707022758_users_updating_weight_estimate_weekly.yml b/config/metrics/counts_all/users_updating_weight_estimate.yml
similarity index 94%
rename from config/metrics/counts_7d/20220707022758_users_updating_weight_estimate_weekly.yml
rename to config/metrics/counts_all/users_updating_weight_estimate.yml
index 5201a8f99d8..9069c77bd45 100644
--- a/config/metrics/counts_7d/20220707022758_users_updating_weight_estimate_weekly.yml
+++ b/config/metrics/counts_all/users_updating_weight_estimate.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.work_items.users_updating_weight_estimate_weekly
+key_path: redis_hll_counters.work_items.users_updating_weight_estimate
description: Unique users updating a work item's weight estimate
product_group: project_management
value_type: number
status: active
milestone: "15.2"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91957
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220725201348_users_updating_work_item_dates_weekly.yml b/config/metrics/counts_all/users_updating_work_item_dates.yml
similarity index 93%
rename from config/metrics/counts_7d/20220725201348_users_updating_work_item_dates_weekly.yml
rename to config/metrics/counts_all/users_updating_work_item_dates.yml
index 228ff317d4d..cdb5b7c8a80 100644
--- a/config/metrics/counts_7d/20220725201348_users_updating_work_item_dates_weekly.yml
+++ b/config/metrics/counts_all/users_updating_work_item_dates.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.work_items.users_updating_work_item_dates_weekly
+key_path: redis_hll_counters.work_items.users_updating_work_item_dates
description: Unique users updating a work item's date
product_group: project_management
value_type: number
status: active
milestone: '15.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93231
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220922042528_users_updating_work_item_iteration_weekly.yml b/config/metrics/counts_all/users_updating_work_item_iteration.yml
similarity index 93%
rename from config/metrics/counts_7d/20220922042528_users_updating_work_item_iteration_weekly.yml
rename to config/metrics/counts_all/users_updating_work_item_iteration.yml
index 7af0adc6ebe..36b139d90c4 100644
--- a/config/metrics/counts_7d/20220922042528_users_updating_work_item_iteration_weekly.yml
+++ b/config/metrics/counts_all/users_updating_work_item_iteration.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.work_items.users_updating_work_item_iteration_weekly
+key_path: redis_hll_counters.work_items.users_updating_work_item_iteration
description: Unique users updating a work item's iteration
product_group: project_management
value_type: number
status: active
milestone: "15.5"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/98539
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20221007010950_users_updating_work_item_labels_weekly.yml b/config/metrics/counts_all/users_updating_work_item_labels.yml
similarity index 93%
rename from config/metrics/counts_7d/20221007010950_users_updating_work_item_labels_weekly.yml
rename to config/metrics/counts_all/users_updating_work_item_labels.yml
index 40773ff98c9..4e634c56ed1 100644
--- a/config/metrics/counts_7d/20221007010950_users_updating_work_item_labels_weekly.yml
+++ b/config/metrics/counts_all/users_updating_work_item_labels.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.work_items.users_updating_work_item_labels_weekly
+key_path: redis_hll_counters.work_items.users_updating_work_item_labels
description: Unique users updating a work item's labels
product_group: project_management
value_type: number
status: active
milestone: '15.5'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/100485
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20221031065930_users_updating_work_item_milestone_weekly.yml b/config/metrics/counts_all/users_updating_work_item_milestone.yml
similarity index 93%
rename from config/metrics/counts_7d/20221031065930_users_updating_work_item_milestone_weekly.yml
rename to config/metrics/counts_all/users_updating_work_item_milestone.yml
index 8a18ad0b1a3..5f8c195a1a2 100644
--- a/config/metrics/counts_7d/20221031065930_users_updating_work_item_milestone_weekly.yml
+++ b/config/metrics/counts_all/users_updating_work_item_milestone.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.work_items.users_updating_work_item_milestone_weekly
+key_path: redis_hll_counters.work_items.users_updating_work_item_milestone
description: Unique users updating a work item's milestone
product_group: project_management
value_type: number
status: active
milestone: "15.6"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102495
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20220216204730_users_updating_work_item_title_weekly.yml b/config/metrics/counts_all/users_updating_work_item_title.yml
similarity index 93%
rename from config/metrics/counts_7d/20220216204730_users_updating_work_item_title_weekly.yml
rename to config/metrics/counts_all/users_updating_work_item_title.yml
index eb0a1137734..557e06cf03e 100644
--- a/config/metrics/counts_7d/20220216204730_users_updating_work_item_title_weekly.yml
+++ b/config/metrics/counts_all/users_updating_work_item_title.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.work_items.users_updating_work_item_title_weekly
+key_path: redis_hll_counters.work_items.users_updating_work_item_title
description: Unique users updating a work item's title
product_group: project_management
value_type: number
status: active
milestone: '14.9'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80532
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20231219135920_users_updating_work_item_todo_weekly.yml b/config/metrics/counts_all/users_updating_work_item_todo.yml
similarity index 94%
rename from config/metrics/counts_7d/20231219135920_users_updating_work_item_todo_weekly.yml
rename to config/metrics/counts_all/users_updating_work_item_todo.yml
index 795f75f3e28..8a0c77624d0 100644
--- a/config/metrics/counts_7d/20231219135920_users_updating_work_item_todo_weekly.yml
+++ b/config/metrics/counts_all/users_updating_work_item_todo.yml
@@ -1,12 +1,14 @@
---
-key_path: redis_hll_counters.work_items.users_updating_work_item_todo_weekly
+key_path: redis_hll_counters.work_items.users_updating_work_item_todo
description: Unique users marking a work item as todo.
product_group: project_management
value_type: number
status: active
milestone: "16.8"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140058
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
diff --git a/config/metrics/counts_7d/20211201154118_users_visiting_license_compliance_full_report_weekly.yml b/config/metrics/counts_all/users_visiting_testing_license_compliance_full_report.yml
similarity index 92%
rename from config/metrics/counts_7d/20211201154118_users_visiting_license_compliance_full_report_weekly.yml
rename to config/metrics/counts_all/users_visiting_testing_license_compliance_full_report.yml
index a6d69b6d332..bfaa384478e 100644
--- a/config/metrics/counts_7d/20211201154118_users_visiting_license_compliance_full_report_weekly.yml
+++ b/config/metrics/counts_all/users_visiting_testing_license_compliance_full_report.yml
@@ -1,6 +1,6 @@
---
data_category: optional
-key_path: redis_hll_counters.testing.users_visiting_testing_license_compliance_full_report_weekly
+key_path: redis_hll_counters.testing.users_visiting_testing_license_compliance_full_report
description: Count of visiting the license compliance full report
product_group: composition_analysis
value_type: number
@@ -9,7 +9,9 @@ removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/152166
milestone_removed: '17.1'
milestone: '14.6'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75643
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
diff --git a/config/metrics/counts_7d/20211202094430_users_visiting_manage_license_compliance_weekly.yml b/config/metrics/counts_all/users_visiting_testing_manage_license_compliance.yml
similarity index 93%
rename from config/metrics/counts_7d/20211202094430_users_visiting_manage_license_compliance_weekly.yml
rename to config/metrics/counts_all/users_visiting_testing_manage_license_compliance.yml
index cac22bb5253..67b4d083c35 100644
--- a/config/metrics/counts_7d/20211202094430_users_visiting_manage_license_compliance_weekly.yml
+++ b/config/metrics/counts_all/users_visiting_testing_manage_license_compliance.yml
@@ -1,6 +1,6 @@
---
data_category: optional
-key_path: redis_hll_counters.testing.users_visiting_testing_manage_license_compliance_weekly
+key_path: redis_hll_counters.testing.users_visiting_testing_manage_license_compliance
description: Count of visiting the manage license compliance page
product_group: composition_analysis
value_type: number
@@ -9,7 +9,9 @@ removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/152166
milestone_removed: '17.1'
milestone: '14.6'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75643
-time_frame: 7d
+time_frame:
+- 28d
+- 7d
data_source: redis_hll
instrumentation_class: RedisHLLMetric
options:
diff --git a/db/docs/ci_pipelines.yml b/db/docs/deleted_tables/ci_pipelines.yml
similarity index 75%
rename from db/docs/ci_pipelines.yml
rename to db/docs/deleted_tables/ci_pipelines.yml
index 58bebe52051..3570ac6b0da 100644
--- a/db/docs/ci_pipelines.yml
+++ b/db/docs/deleted_tables/ci_pipelines.yml
@@ -11,3 +11,5 @@ gitlab_schema: gitlab_ci
sharding_key:
project_id: projects
table_size: over_limit
+removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/191333
+removed_in_milestone: '18.1'
diff --git a/db/docs/work_item_progresses.yml b/db/docs/work_item_progresses.yml
index b84b1e2b465..10af044551a 100644
--- a/db/docs/work_item_progresses.yml
+++ b/db/docs/work_item_progresses.yml
@@ -8,14 +8,6 @@ description: The progress of a Work Item.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104591/
milestone: '15.7'
gitlab_schema: gitlab_main_cell
-desired_sharding_key:
- namespace_id:
- references: namespaces
- backfill_via:
- parent:
- foreign_key: issue_id
- table: issues
- sharding_key: namespace_id
- belongs_to: work_item
+sharding_key:
+ namespace_id: namespaces
table_size: small
-desired_sharding_key_migration_job_name: BackfillWorkItemProgressesNamespaceId
diff --git a/db/post_migrate/20250526122515_drop_duplicate_index_ci_pipeline_variable.rb b/db/post_migrate/20250526122515_drop_duplicate_index_ci_pipeline_variable.rb
new file mode 100644
index 00000000000..bd2b15cb288
--- /dev/null
+++ b/db/post_migrate/20250526122515_drop_duplicate_index_ci_pipeline_variable.rb
@@ -0,0 +1,53 @@
+# frozen_string_literal: true
+
+class DropDuplicateIndexCiPipelineVariable < Gitlab::Database::Migration[2.3]
+ disable_ddl_transaction!
+ milestone '18.1'
+
+ DUPLICATED_INDEXES = %w[index_ad9d0b5002 index_d45be46b0d]
+
+ def up
+ attached_index_name = identify_index_name
+ return unless attached_index_name
+
+ # One of the two indexes are attached to the partitioned table index. We are dropping the other one
+ non_attached_index_name = (DUPLICATED_INDEXES - [attached_index_name]).first
+
+ with_lock_retries do
+ connection.execute(<<~SQL)
+ DROP INDEX IF EXISTS gitlab_partitions_dynamic.#{non_attached_index_name};
+ SQL
+ end
+
+ return if index_exists?('gitlab_partitions_dynamic.ci_pipeline_variables', 'project_id', name: 'index_d45be46b0d')
+
+ with_lock_retries do
+ connection.execute(<<~SQL)
+ ALTER INDEX IF EXISTS gitlab_partitions_dynamic.#{attached_index_name} RENAME TO index_d45be46b0d;
+ SQL
+ end
+ end
+
+ def down
+ # no-op
+ end
+
+ private
+
+ def identify_index_name
+ connection.select_value(<<~SQL)
+ SELECT child_idx.relname
+ FROM pg_inherits inh
+ JOIN pg_class parent_idx ON inh.inhparent = parent_idx.oid
+ JOIN pg_class child_idx ON inh.inhrelid = child_idx.oid
+ JOIN pg_index parent_i ON parent_idx.oid = parent_i.indexrelid
+ JOIN pg_index child_i ON child_idx.oid = child_i.indexrelid
+ JOIN pg_class parent_tbl ON parent_i.indrelid = parent_tbl.oid
+ JOIN pg_class child_tbl ON child_i.indrelid = child_tbl.oid
+ WHERE parent_idx.relkind = 'I' -- Only indexes
+ AND parent_idx.relname = 'index_p_ci_pipeline_variables_on_project_id'
+ AND parent_tbl.relname = 'p_ci_pipeline_variables'
+ AND child_tbl.relname = 'ci_pipeline_variables';
+ SQL
+ end
+end
diff --git a/db/post_migrate/20250602232958_add_work_item_progresses_namespace_id_not_null.rb b/db/post_migrate/20250602232958_add_work_item_progresses_namespace_id_not_null.rb
new file mode 100644
index 00000000000..b301f107450
--- /dev/null
+++ b/db/post_migrate/20250602232958_add_work_item_progresses_namespace_id_not_null.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+class AddWorkItemProgressesNamespaceIdNotNull < Gitlab::Database::Migration[2.3]
+ milestone '18.1'
+ disable_ddl_transaction!
+
+ def up
+ add_not_null_constraint :work_item_progresses, :namespace_id
+ end
+
+ def down
+ remove_not_null_constraint :work_item_progresses, :namespace_id
+ end
+end
diff --git a/db/post_migrate/20250603121634_move_ci_pipelines_to_dynamic_schema.rb b/db/post_migrate/20250603121634_move_ci_pipelines_to_dynamic_schema.rb
new file mode 100644
index 00000000000..b357d096009
--- /dev/null
+++ b/db/post_migrate/20250603121634_move_ci_pipelines_to_dynamic_schema.rb
@@ -0,0 +1,138 @@
+# frozen_string_literal: true
+
+class MoveCiPipelinesToDynamicSchema < Gitlab::Database::Migration[2.3]
+ include Gitlab::Database::MigrationHelpers::WraparoundAutovacuum
+ include Gitlab::Database::MigrationHelpers::LooseForeignKeyHelpers
+
+ milestone '18.1'
+ skip_require_disable_ddl_transactions!
+
+ DYNAMIC_SCHEMA = Gitlab::Database::DYNAMIC_PARTITIONS_SCHEMA
+ TABLE_NAME = :ci_pipelines
+
+ RENAMED_PARTITION_INDEX_MAP = [
+ {
+ old_name: :ci_pipelines_merge_request_id_idx,
+ new_name: :index_ci_pipelines_on_merge_request_id
+ },
+ {
+ old_name: :ci_pipelines_pipeline_schedule_id_id_idx,
+ new_name: :index_ci_pipelines_on_pipeline_schedule_id_and_id
+ },
+ {
+ old_name: :ci_pipelines_project_id_id_idx,
+ new_name: :index_ci_pipelines_on_project_id_and_id_desc
+ },
+ {
+ old_name: :ci_pipelines_project_id_iid_partition_id_idx,
+ new_name: :index_ci_pipelines_on_project_id_and_iid_and_partition_id
+ },
+ {
+ old_name: :ci_pipelines_project_id_ref_status_id_idx,
+ new_name: :index_ci_pipelines_on_project_id_and_ref_and_status_and_id
+ },
+ {
+ old_name: :ci_pipelines_project_id_sha_idx,
+ new_name: :index_ci_pipelines_on_project_id_and_sha
+ },
+ {
+ old_name: :ci_pipelines_project_id_source_idx,
+ new_name: :index_ci_pipelines_on_project_id_and_source
+ },
+ {
+ old_name: :ci_pipelines_project_id_status_config_source_idx,
+ new_name: :index_ci_pipelines_on_project_id_and_status_and_config_source
+ },
+ {
+ old_name: :ci_pipelines_project_id_status_created_at_idx,
+ new_name: :index_ci_pipelines_on_project_id_and_status_and_created_at
+ },
+ {
+ old_name: :ci_pipelines_project_id_status_updated_at_idx,
+ new_name: :index_ci_pipelines_on_project_id_and_status_and_updated_at
+ },
+ {
+ old_name: :ci_pipelines_project_id_user_id_status_ref_idx,
+ new_name: :index_ci_pipelines_on_project_id_and_user_id_and_status_and_ref
+ },
+ {
+ old_name: :ci_pipelines_project_id_ref_id_idx,
+ new_name: :index_ci_pipelines_on_project_idandrefandiddesc
+ },
+ {
+ old_name: :ci_pipelines_user_id_created_at_config_source_idx,
+ new_name: :index_ci_pipelines_on_user_id_and_created_at_and_config_source
+ },
+ {
+ old_name: :ci_pipelines_user_id_created_at_source_idx,
+ new_name: :index_ci_pipelines_on_user_id_and_created_at_and_source
+ },
+ {
+ old_name: :ci_pipelines_user_id_id_idx,
+ new_name: :index_ci_pipelines_on_user_id_and_id_and_cancelable_status
+ },
+ {
+ old_name: :ci_pipelines_user_id_id_idx1,
+ new_name: :index_ci_pipelines_on_user_id_and_id_desc_and_user_not_verified
+ }
+ ].freeze
+
+ def up
+ return unless can_execute_on?(TABLE_NAME)
+
+ connection.execute(<<~SQL)
+ ALTER TABLE IF EXISTS #{TABLE_NAME} SET SCHEMA #{DYNAMIC_SCHEMA};
+ SQL
+ end
+
+ def down
+ return unless can_execute_on?(TABLE_NAME)
+
+ table_identifier = "#{DYNAMIC_SCHEMA}.#{TABLE_NAME}"
+
+ if table_exists?(table_identifier)
+ connection.execute(<<~SQL)
+ ALTER TABLE IF EXISTS #{table_identifier} SET SCHEMA #{connection.current_schema};
+ SQL
+ else # In tests we set the database from structure.sql, so the table doesn't exist
+ remove_dynamic_partitions
+
+ connection.execute(<<~SQL)
+ CREATE TABLE IF NOT EXISTS #{TABLE_NAME} PARTITION OF p_#{TABLE_NAME} FOR VALUES IN (100, 101, 102);
+ SQL
+
+ restore_index_names
+ track_record_deletions_override_table_name(TABLE_NAME, "p_#{TABLE_NAME}")
+ end
+ end
+
+ private
+
+ def remove_dynamic_partitions
+ drop_partition(100)
+ drop_partition(101)
+ drop_partition(102)
+ end
+
+ def drop_partition(number)
+ identifier = "#{DYNAMIC_SCHEMA}.#{TABLE_NAME}_#{number}"
+ return unless table_exists?(identifier)
+
+ connection.execute(<<~SQL)
+ ALTER TABLE p_#{TABLE_NAME} DETACH PARTITION #{identifier};
+
+ DROP TABLE IF EXISTS #{identifier};
+ SQL
+ end
+
+ # PostgreSQL is generating different names than what we already have when we create a partition.
+ # So we have to rename these indexes to restore original names for previous
+ # migrations that depends on the names.
+ def restore_index_names
+ RENAMED_PARTITION_INDEX_MAP.each do |renamed_index|
+ next unless index_name_exists?(TABLE_NAME, renamed_index[:old_name])
+
+ rename_index(TABLE_NAME, renamed_index[:old_name], renamed_index[:new_name])
+ end
+ end
+end
diff --git a/db/schema_migrations/20250526122515 b/db/schema_migrations/20250526122515
new file mode 100644
index 00000000000..68570ce8b5f
--- /dev/null
+++ b/db/schema_migrations/20250526122515
@@ -0,0 +1 @@
+4a6965f3f81f99ab60097d2e0440c9bb7576365208a3a623c132dfac6356fbf2
\ No newline at end of file
diff --git a/db/schema_migrations/20250602232958 b/db/schema_migrations/20250602232958
new file mode 100644
index 00000000000..f66421f61dc
--- /dev/null
+++ b/db/schema_migrations/20250602232958
@@ -0,0 +1 @@
+e5f98d59d307130a865410796fa855d68a68097bc2de4898b4fa04b32e181312
\ No newline at end of file
diff --git a/db/schema_migrations/20250603121634 b/db/schema_migrations/20250603121634
new file mode 100644
index 00000000000..4a8dd7ee8f6
--- /dev/null
+++ b/db/schema_migrations/20250603121634
@@ -0,0 +1 @@
+b36b5f3134679f490db950c5bd8c50485bd9688d8a61870fe650c78eb2ea64de
\ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index f80359a59eb..113773e8cb8 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -4744,6 +4744,44 @@ CREATE TABLE p_ci_pipeline_variables (
)
PARTITION BY LIST (partition_id);
+CREATE TABLE p_ci_pipelines (
+ ref character varying,
+ sha character varying,
+ before_sha character varying,
+ created_at timestamp without time zone,
+ updated_at timestamp without time zone,
+ tag boolean DEFAULT false,
+ yaml_errors text,
+ committed_at timestamp without time zone,
+ project_id bigint,
+ status character varying,
+ started_at timestamp without time zone,
+ finished_at timestamp without time zone,
+ duration integer,
+ user_id bigint,
+ lock_version integer DEFAULT 0,
+ pipeline_schedule_id bigint,
+ source integer,
+ config_source integer,
+ protected boolean,
+ failure_reason integer,
+ iid integer,
+ merge_request_id bigint,
+ source_sha bytea,
+ target_sha bytea,
+ external_pull_request_id bigint,
+ ci_ref_id bigint,
+ locked smallint DEFAULT 1 NOT NULL,
+ partition_id bigint NOT NULL,
+ id bigint NOT NULL,
+ auto_canceled_by_id bigint,
+ auto_canceled_by_partition_id bigint,
+ trigger_id bigint,
+ CONSTRAINT check_2ba2a044b9 CHECK ((project_id IS NOT NULL)),
+ CONSTRAINT check_d7e99a025e CHECK ((lock_version IS NOT NULL))
+)
+PARTITION BY LIST (partition_id);
+
CREATE TABLE p_ci_pipelines_config (
pipeline_id bigint NOT NULL,
partition_id bigint NOT NULL,
@@ -11623,81 +11661,6 @@ CREATE SEQUENCE ci_pipeline_variables_id_seq
ALTER SEQUENCE ci_pipeline_variables_id_seq OWNED BY p_ci_pipeline_variables.id;
-CREATE TABLE p_ci_pipelines (
- ref character varying,
- sha character varying,
- before_sha character varying,
- created_at timestamp without time zone,
- updated_at timestamp without time zone,
- tag boolean DEFAULT false,
- yaml_errors text,
- committed_at timestamp without time zone,
- project_id bigint,
- status character varying,
- started_at timestamp without time zone,
- finished_at timestamp without time zone,
- duration integer,
- user_id bigint,
- lock_version integer DEFAULT 0,
- pipeline_schedule_id bigint,
- source integer,
- config_source integer,
- protected boolean,
- failure_reason integer,
- iid integer,
- merge_request_id bigint,
- source_sha bytea,
- target_sha bytea,
- external_pull_request_id bigint,
- ci_ref_id bigint,
- locked smallint DEFAULT 1 NOT NULL,
- partition_id bigint NOT NULL,
- id bigint NOT NULL,
- auto_canceled_by_id bigint,
- auto_canceled_by_partition_id bigint,
- trigger_id bigint,
- CONSTRAINT check_2ba2a044b9 CHECK ((project_id IS NOT NULL)),
- CONSTRAINT check_d7e99a025e CHECK ((lock_version IS NOT NULL))
-)
-PARTITION BY LIST (partition_id);
-
-CREATE TABLE ci_pipelines (
- ref character varying,
- sha character varying,
- before_sha character varying,
- created_at timestamp without time zone,
- updated_at timestamp without time zone,
- tag boolean DEFAULT false,
- yaml_errors text,
- committed_at timestamp without time zone,
- project_id bigint,
- status character varying,
- started_at timestamp without time zone,
- finished_at timestamp without time zone,
- duration integer,
- user_id bigint,
- lock_version integer DEFAULT 0,
- pipeline_schedule_id bigint,
- source integer,
- config_source integer,
- protected boolean,
- failure_reason integer,
- iid integer,
- merge_request_id bigint,
- source_sha bytea,
- target_sha bytea,
- external_pull_request_id bigint,
- ci_ref_id bigint,
- locked smallint DEFAULT 1 NOT NULL,
- partition_id bigint NOT NULL,
- id bigint NOT NULL,
- auto_canceled_by_id bigint,
- auto_canceled_by_partition_id bigint,
- trigger_id bigint,
- CONSTRAINT check_2ba2a044b9 CHECK ((project_id IS NOT NULL)),
- CONSTRAINT check_d7e99a025e CHECK ((lock_version IS NOT NULL))
-);
-
CREATE SEQUENCE ci_pipelines_id_seq
START WITH 1
INCREMENT BY 1
@@ -25993,7 +25956,8 @@ CREATE TABLE work_item_progresses (
rollup_progress boolean DEFAULT true NOT NULL,
reminder_frequency smallint DEFAULT 0 NOT NULL,
last_reminder_sent_at timestamp with time zone,
- namespace_id bigint
+ namespace_id bigint,
+ CONSTRAINT check_60f0b9e790 CHECK ((namespace_id IS NOT NULL))
);
CREATE TABLE work_item_related_link_restrictions (
@@ -26928,8 +26892,6 @@ ALTER TABLE ONLY uploads_9ba88c4165 ATTACH PARTITION appearance_uploads FOR VALU
ALTER TABLE ONLY uploads_9ba88c4165 ATTACH PARTITION bulk_import_export_upload_uploads FOR VALUES IN ('BulkImports::ExportUpload');
-ALTER TABLE ONLY p_ci_pipelines ATTACH PARTITION ci_pipelines FOR VALUES IN ('100', '101', '102');
-
ALTER TABLE ONLY ci_runner_taggings ATTACH PARTITION ci_runner_taggings_group_type FOR VALUES IN ('2');
ALTER TABLE ONLY ci_runner_taggings ATTACH PARTITION ci_runner_taggings_instance_type FOR VALUES IN ('1');
@@ -29533,12 +29495,6 @@ ALTER TABLE ONLY ci_pipeline_schedule_variables
ALTER TABLE ONLY ci_pipeline_schedules
ADD CONSTRAINT ci_pipeline_schedules_pkey PRIMARY KEY (id);
-ALTER TABLE ONLY p_ci_pipelines
- ADD CONSTRAINT p_ci_pipelines_pkey PRIMARY KEY (id, partition_id);
-
-ALTER TABLE ONLY ci_pipelines
- ADD CONSTRAINT ci_pipelines_pkey PRIMARY KEY (id, partition_id);
-
ALTER TABLE ONLY ci_project_mirrors
ADD CONSTRAINT ci_project_mirrors_pkey PRIMARY KEY (id);
@@ -30628,6 +30584,9 @@ ALTER TABLE ONLY p_ci_pipeline_variables
ALTER TABLE ONLY p_ci_pipelines_config
ADD CONSTRAINT p_ci_pipelines_config_pkey PRIMARY KEY (pipeline_id, partition_id);
+ALTER TABLE ONLY p_ci_pipelines
+ ADD CONSTRAINT p_ci_pipelines_pkey PRIMARY KEY (id, partition_id);
+
ALTER TABLE ONLY p_ci_runner_machine_builds
ADD CONSTRAINT p_ci_runner_machine_builds_pkey PRIMARY KEY (build_id, partition_id);
@@ -33438,10 +33397,6 @@ CREATE INDEX idx_catalog_resource_cpmt_last_usages_on_cpmt_project_id ON catalog
CREATE UNIQUE INDEX idx_ci_job_token_authorizations_on_accessed_and_origin_project ON ci_job_token_authorizations USING btree (accessed_project_id, origin_project_id);
-CREATE INDEX p_ci_pipelines_ci_ref_id_id_idx ON ONLY p_ci_pipelines USING btree (ci_ref_id, id) WHERE (locked = 1);
-
-CREATE INDEX idx_ci_pipelines_artifacts_locked ON ci_pipelines USING btree (ci_ref_id, id) WHERE (locked = 1);
-
CREATE INDEX idx_ci_running_builds_on_runner_type_and_owner_xid_and_id ON ci_running_builds USING btree (runner_type, runner_owner_namespace_xid, runner_id);
CREATE INDEX idx_compliance_requirements_controls_on_namespace_id ON compliance_requirements_controls USING btree (namespace_id);
@@ -34622,90 +34577,6 @@ CREATE INDEX index_ci_pipeline_schedules_on_owner_id_and_id_and_active ON ci_pip
CREATE INDEX index_ci_pipeline_schedules_on_project_id ON ci_pipeline_schedules USING btree (project_id);
-CREATE INDEX p_ci_pipelines_id_idx ON ONLY p_ci_pipelines USING btree (id) WHERE (source = 13);
-
-CREATE INDEX index_ci_pipelines_for_ondemand_dast_scans ON ci_pipelines USING btree (id) WHERE (source = 13);
-
-CREATE INDEX p_ci_pipelines_auto_canceled_by_id_idx ON ONLY p_ci_pipelines USING btree (auto_canceled_by_id);
-
-CREATE INDEX index_ci_pipelines_on_auto_canceled_by_id ON ci_pipelines USING btree (auto_canceled_by_id);
-
-CREATE INDEX p_ci_pipelines_ci_ref_id_id_source_status_idx ON ONLY p_ci_pipelines USING btree (ci_ref_id, id DESC, source, status) WHERE (ci_ref_id IS NOT NULL);
-
-CREATE INDEX index_ci_pipelines_on_ci_ref_id_and_more ON ci_pipelines USING btree (ci_ref_id, id DESC, source, status) WHERE (ci_ref_id IS NOT NULL);
-
-CREATE INDEX p_ci_pipelines_external_pull_request_id_idx ON ONLY p_ci_pipelines USING btree (external_pull_request_id) WHERE (external_pull_request_id IS NOT NULL);
-
-CREATE INDEX index_ci_pipelines_on_external_pull_request_id ON ci_pipelines USING btree (external_pull_request_id) WHERE (external_pull_request_id IS NOT NULL);
-
-CREATE INDEX p_ci_pipelines_merge_request_id_idx ON ONLY p_ci_pipelines USING btree (merge_request_id) WHERE (merge_request_id IS NOT NULL);
-
-CREATE INDEX index_ci_pipelines_on_merge_request_id ON ci_pipelines USING btree (merge_request_id) WHERE (merge_request_id IS NOT NULL);
-
-CREATE INDEX p_ci_pipelines_pipeline_schedule_id_id_idx ON ONLY p_ci_pipelines USING btree (pipeline_schedule_id, id);
-
-CREATE INDEX index_ci_pipelines_on_pipeline_schedule_id_and_id ON ci_pipelines USING btree (pipeline_schedule_id, id);
-
-CREATE INDEX p_ci_pipelines_project_id_id_idx ON ONLY p_ci_pipelines USING btree (project_id, id DESC);
-
-CREATE INDEX index_ci_pipelines_on_project_id_and_id_desc ON ci_pipelines USING btree (project_id, id DESC);
-
-CREATE UNIQUE INDEX p_ci_pipelines_project_id_iid_partition_id_idx ON ONLY p_ci_pipelines USING btree (project_id, iid, partition_id) WHERE (iid IS NOT NULL);
-
-CREATE UNIQUE INDEX index_ci_pipelines_on_project_id_and_iid_and_partition_id ON ci_pipelines USING btree (project_id, iid, partition_id) WHERE (iid IS NOT NULL);
-
-CREATE INDEX p_ci_pipelines_project_id_ref_status_id_idx ON ONLY p_ci_pipelines USING btree (project_id, ref, status, id);
-
-CREATE INDEX index_ci_pipelines_on_project_id_and_ref_and_status_and_id ON ci_pipelines USING btree (project_id, ref, status, id);
-
-CREATE INDEX p_ci_pipelines_project_id_sha_idx ON ONLY p_ci_pipelines USING btree (project_id, sha);
-
-CREATE INDEX index_ci_pipelines_on_project_id_and_sha ON ci_pipelines USING btree (project_id, sha);
-
-CREATE INDEX p_ci_pipelines_project_id_source_idx ON ONLY p_ci_pipelines USING btree (project_id, source);
-
-CREATE INDEX index_ci_pipelines_on_project_id_and_source ON ci_pipelines USING btree (project_id, source);
-
-CREATE INDEX p_ci_pipelines_project_id_status_config_source_idx ON ONLY p_ci_pipelines USING btree (project_id, status, config_source);
-
-CREATE INDEX index_ci_pipelines_on_project_id_and_status_and_config_source ON ci_pipelines USING btree (project_id, status, config_source);
-
-CREATE INDEX p_ci_pipelines_project_id_status_created_at_idx ON ONLY p_ci_pipelines USING btree (project_id, status, created_at);
-
-CREATE INDEX index_ci_pipelines_on_project_id_and_status_and_created_at ON ci_pipelines USING btree (project_id, status, created_at);
-
-CREATE INDEX p_ci_pipelines_project_id_status_updated_at_idx ON ONLY p_ci_pipelines USING btree (project_id, status, updated_at);
-
-CREATE INDEX index_ci_pipelines_on_project_id_and_status_and_updated_at ON ci_pipelines USING btree (project_id, status, updated_at);
-
-CREATE INDEX p_ci_pipelines_project_id_user_id_status_ref_idx ON ONLY p_ci_pipelines USING btree (project_id, user_id, status, ref) WHERE (source <> 12);
-
-CREATE INDEX index_ci_pipelines_on_project_id_and_user_id_and_status_and_ref ON ci_pipelines USING btree (project_id, user_id, status, ref) WHERE (source <> 12);
-
-CREATE INDEX p_ci_pipelines_project_id_ref_id_idx ON ONLY p_ci_pipelines USING btree (project_id, ref, id DESC);
-
-CREATE INDEX index_ci_pipelines_on_project_idandrefandiddesc ON ci_pipelines USING btree (project_id, ref, id DESC);
-
-CREATE INDEX p_ci_pipelines_status_id_idx ON ONLY p_ci_pipelines USING btree (status, id);
-
-CREATE INDEX index_ci_pipelines_on_status_and_id ON ci_pipelines USING btree (status, id);
-
-CREATE INDEX p_ci_pipelines_user_id_created_at_config_source_idx ON ONLY p_ci_pipelines USING btree (user_id, created_at, config_source);
-
-CREATE INDEX index_ci_pipelines_on_user_id_and_created_at_and_config_source ON ci_pipelines USING btree (user_id, created_at, config_source);
-
-CREATE INDEX p_ci_pipelines_user_id_created_at_source_idx ON ONLY p_ci_pipelines USING btree (user_id, created_at, source);
-
-CREATE INDEX index_ci_pipelines_on_user_id_and_created_at_and_source ON ci_pipelines USING btree (user_id, created_at, source);
-
-CREATE INDEX p_ci_pipelines_user_id_id_idx ON ONLY p_ci_pipelines USING btree (user_id, id) WHERE ((status)::text = ANY (ARRAY[('running'::character varying)::text, ('waiting_for_resource'::character varying)::text, ('preparing'::character varying)::text, ('pending'::character varying)::text, ('created'::character varying)::text, ('scheduled'::character varying)::text]));
-
-CREATE INDEX index_ci_pipelines_on_user_id_and_id_and_cancelable_status ON ci_pipelines USING btree (user_id, id) WHERE ((status)::text = ANY (ARRAY[('running'::character varying)::text, ('waiting_for_resource'::character varying)::text, ('preparing'::character varying)::text, ('pending'::character varying)::text, ('created'::character varying)::text, ('scheduled'::character varying)::text]));
-
-CREATE INDEX p_ci_pipelines_user_id_id_idx1 ON ONLY p_ci_pipelines USING btree (user_id, id DESC) WHERE (failure_reason = 3);
-
-CREATE INDEX index_ci_pipelines_on_user_id_and_id_desc_and_user_not_verified ON ci_pipelines USING btree (user_id, id DESC) WHERE (failure_reason = 3);
-
CREATE INDEX index_ci_project_mirrors_on_namespace_id ON ci_project_mirrors USING btree (namespace_id);
CREATE UNIQUE INDEX index_ci_project_mirrors_on_project_id ON ci_project_mirrors USING btree (project_id);
@@ -34950,10 +34821,6 @@ CREATE INDEX index_d2746151f0 ON instance_type_ci_runner_machines USING btree (i
CREATE INDEX index_d58435d85e ON project_type_ci_runner_machines USING btree (executor_type);
-CREATE INDEX p_ci_pipelines_trigger_id_id_desc_idx ON ONLY p_ci_pipelines USING btree (trigger_id, id DESC);
-
-CREATE INDEX index_d8ae6ea3f3 ON ci_pipelines USING btree (trigger_id, id DESC);
-
CREATE UNIQUE INDEX index_daily_build_group_report_results_unique_columns ON ci_daily_build_group_report_results USING btree (project_id, ref_path, date, group_name);
CREATE INDEX index_dast_pre_scan_verification_steps_on_project_id ON dast_pre_scan_verification_steps USING btree (project_id);
@@ -38686,6 +38553,52 @@ CREATE INDEX p_ci_job_artifacts_project_id_idx1 ON ONLY p_ci_job_artifacts USING
CREATE UNIQUE INDEX p_ci_pipeline_variables_pipeline_id_key_partition_id_idx ON ONLY p_ci_pipeline_variables USING btree (pipeline_id, key, partition_id);
+CREATE INDEX p_ci_pipelines_auto_canceled_by_id_idx ON ONLY p_ci_pipelines USING btree (auto_canceled_by_id);
+
+CREATE INDEX p_ci_pipelines_ci_ref_id_id_idx ON ONLY p_ci_pipelines USING btree (ci_ref_id, id) WHERE (locked = 1);
+
+CREATE INDEX p_ci_pipelines_ci_ref_id_id_source_status_idx ON ONLY p_ci_pipelines USING btree (ci_ref_id, id DESC, source, status) WHERE (ci_ref_id IS NOT NULL);
+
+CREATE INDEX p_ci_pipelines_external_pull_request_id_idx ON ONLY p_ci_pipelines USING btree (external_pull_request_id) WHERE (external_pull_request_id IS NOT NULL);
+
+CREATE INDEX p_ci_pipelines_id_idx ON ONLY p_ci_pipelines USING btree (id) WHERE (source = 13);
+
+CREATE INDEX p_ci_pipelines_merge_request_id_idx ON ONLY p_ci_pipelines USING btree (merge_request_id) WHERE (merge_request_id IS NOT NULL);
+
+CREATE INDEX p_ci_pipelines_pipeline_schedule_id_id_idx ON ONLY p_ci_pipelines USING btree (pipeline_schedule_id, id);
+
+CREATE INDEX p_ci_pipelines_project_id_id_idx ON ONLY p_ci_pipelines USING btree (project_id, id DESC);
+
+CREATE UNIQUE INDEX p_ci_pipelines_project_id_iid_partition_id_idx ON ONLY p_ci_pipelines USING btree (project_id, iid, partition_id) WHERE (iid IS NOT NULL);
+
+CREATE INDEX p_ci_pipelines_project_id_ref_id_idx ON ONLY p_ci_pipelines USING btree (project_id, ref, id DESC);
+
+CREATE INDEX p_ci_pipelines_project_id_ref_status_id_idx ON ONLY p_ci_pipelines USING btree (project_id, ref, status, id);
+
+CREATE INDEX p_ci_pipelines_project_id_sha_idx ON ONLY p_ci_pipelines USING btree (project_id, sha);
+
+CREATE INDEX p_ci_pipelines_project_id_source_idx ON ONLY p_ci_pipelines USING btree (project_id, source);
+
+CREATE INDEX p_ci_pipelines_project_id_status_config_source_idx ON ONLY p_ci_pipelines USING btree (project_id, status, config_source);
+
+CREATE INDEX p_ci_pipelines_project_id_status_created_at_idx ON ONLY p_ci_pipelines USING btree (project_id, status, created_at);
+
+CREATE INDEX p_ci_pipelines_project_id_status_updated_at_idx ON ONLY p_ci_pipelines USING btree (project_id, status, updated_at);
+
+CREATE INDEX p_ci_pipelines_project_id_user_id_status_ref_idx ON ONLY p_ci_pipelines USING btree (project_id, user_id, status, ref) WHERE (source <> 12);
+
+CREATE INDEX p_ci_pipelines_status_id_idx ON ONLY p_ci_pipelines USING btree (status, id);
+
+CREATE INDEX p_ci_pipelines_trigger_id_id_desc_idx ON ONLY p_ci_pipelines USING btree (trigger_id, id DESC);
+
+CREATE INDEX p_ci_pipelines_user_id_created_at_config_source_idx ON ONLY p_ci_pipelines USING btree (user_id, created_at, config_source);
+
+CREATE INDEX p_ci_pipelines_user_id_created_at_source_idx ON ONLY p_ci_pipelines USING btree (user_id, created_at, source);
+
+CREATE INDEX p_ci_pipelines_user_id_id_idx ON ONLY p_ci_pipelines USING btree (user_id, id) WHERE ((status)::text = ANY (ARRAY[('running'::character varying)::text, ('waiting_for_resource'::character varying)::text, ('preparing'::character varying)::text, ('pending'::character varying)::text, ('created'::character varying)::text, ('scheduled'::character varying)::text]));
+
+CREATE INDEX p_ci_pipelines_user_id_id_idx1 ON ONLY p_ci_pipelines USING btree (user_id, id DESC) WHERE (failure_reason = 3);
+
CREATE INDEX p_ci_stages_pipeline_id_id_idx ON ONLY p_ci_stages USING btree (pipeline_id, id) WHERE (status = ANY (ARRAY[0, 1, 2, 8, 9, 10]));
CREATE UNIQUE INDEX p_ci_stages_pipeline_id_name_partition_id_idx ON ONLY p_ci_stages USING btree (pipeline_id, name, partition_id);
@@ -40880,8 +40793,6 @@ ALTER INDEX index_uploads_9ba88c4165_on_uploaded_by_user_id ATTACH PARTITION bul
ALTER INDEX index_uploads_9ba88c4165_on_uploader_and_path ATTACH PARTITION bulk_import_export_upload_uploads_uploader_path_idx;
-ALTER INDEX p_ci_pipelines_pkey ATTACH PARTITION ci_pipelines_pkey;
-
ALTER INDEX ci_runner_taggings_pkey ATTACH PARTITION ci_runner_taggings_group_type_pkey;
ALTER INDEX index_ci_runner_taggings_on_runner_id_and_runner_type ATTACH PARTITION ci_runner_taggings_group_type_runner_id_runner_type_idx;
@@ -41010,8 +40921,6 @@ ALTER INDEX index_ci_runners_on_token_and_runner_type_when_token_not_null ATTACH
ALTER INDEX ci_runners_pkey ATTACH PARTITION group_type_ci_runners_pkey;
-ALTER INDEX p_ci_pipelines_ci_ref_id_id_idx ATTACH PARTITION idx_ci_pipelines_artifacts_locked;
-
ALTER INDEX index_uploads_9ba88c4165_on_checksum ATTACH PARTITION import_export_upload_uploads_checksum_idx;
ALTER INDEX index_uploads_9ba88c4165_on_model_uploader_created_at ATTACH PARTITION import_export_upload_uploads_model_id_model_type_uploader_c_idx;
@@ -41050,54 +40959,10 @@ ALTER INDEX index_ci_runners_on_organization_id ATTACH PARTITION index_a3343eff0
ALTER INDEX index_ci_runner_machines_on_executor_type ATTACH PARTITION index_aa3b4fe8c6;
-ALTER INDEX p_ci_pipelines_id_idx ATTACH PARTITION index_ci_pipelines_for_ondemand_dast_scans;
-
-ALTER INDEX p_ci_pipelines_auto_canceled_by_id_idx ATTACH PARTITION index_ci_pipelines_on_auto_canceled_by_id;
-
-ALTER INDEX p_ci_pipelines_ci_ref_id_id_source_status_idx ATTACH PARTITION index_ci_pipelines_on_ci_ref_id_and_more;
-
-ALTER INDEX p_ci_pipelines_external_pull_request_id_idx ATTACH PARTITION index_ci_pipelines_on_external_pull_request_id;
-
-ALTER INDEX p_ci_pipelines_merge_request_id_idx ATTACH PARTITION index_ci_pipelines_on_merge_request_id;
-
-ALTER INDEX p_ci_pipelines_pipeline_schedule_id_id_idx ATTACH PARTITION index_ci_pipelines_on_pipeline_schedule_id_and_id;
-
-ALTER INDEX p_ci_pipelines_project_id_id_idx ATTACH PARTITION index_ci_pipelines_on_project_id_and_id_desc;
-
-ALTER INDEX p_ci_pipelines_project_id_iid_partition_id_idx ATTACH PARTITION index_ci_pipelines_on_project_id_and_iid_and_partition_id;
-
-ALTER INDEX p_ci_pipelines_project_id_ref_status_id_idx ATTACH PARTITION index_ci_pipelines_on_project_id_and_ref_and_status_and_id;
-
-ALTER INDEX p_ci_pipelines_project_id_sha_idx ATTACH PARTITION index_ci_pipelines_on_project_id_and_sha;
-
-ALTER INDEX p_ci_pipelines_project_id_source_idx ATTACH PARTITION index_ci_pipelines_on_project_id_and_source;
-
-ALTER INDEX p_ci_pipelines_project_id_status_config_source_idx ATTACH PARTITION index_ci_pipelines_on_project_id_and_status_and_config_source;
-
-ALTER INDEX p_ci_pipelines_project_id_status_created_at_idx ATTACH PARTITION index_ci_pipelines_on_project_id_and_status_and_created_at;
-
-ALTER INDEX p_ci_pipelines_project_id_status_updated_at_idx ATTACH PARTITION index_ci_pipelines_on_project_id_and_status_and_updated_at;
-
-ALTER INDEX p_ci_pipelines_project_id_user_id_status_ref_idx ATTACH PARTITION index_ci_pipelines_on_project_id_and_user_id_and_status_and_ref;
-
-ALTER INDEX p_ci_pipelines_project_id_ref_id_idx ATTACH PARTITION index_ci_pipelines_on_project_idandrefandiddesc;
-
-ALTER INDEX p_ci_pipelines_status_id_idx ATTACH PARTITION index_ci_pipelines_on_status_and_id;
-
-ALTER INDEX p_ci_pipelines_user_id_created_at_config_source_idx ATTACH PARTITION index_ci_pipelines_on_user_id_and_created_at_and_config_source;
-
-ALTER INDEX p_ci_pipelines_user_id_created_at_source_idx ATTACH PARTITION index_ci_pipelines_on_user_id_and_created_at_and_source;
-
-ALTER INDEX p_ci_pipelines_user_id_id_idx ATTACH PARTITION index_ci_pipelines_on_user_id_and_id_and_cancelable_status;
-
-ALTER INDEX p_ci_pipelines_user_id_id_idx1 ATTACH PARTITION index_ci_pipelines_on_user_id_and_id_desc_and_user_not_verified;
-
ALTER INDEX index_ci_runner_machines_on_ip_address ATTACH PARTITION index_d2746151f0;
ALTER INDEX index_ci_runner_machines_on_executor_type ATTACH PARTITION index_d58435d85e;
-ALTER INDEX p_ci_pipelines_trigger_id_id_desc_idx ATTACH PARTITION index_d8ae6ea3f3;
-
ALTER INDEX index_ci_runner_machines_on_organization_id ATTACH PARTITION index_e4459c2bb7;
ALTER INDEX index_ci_runner_machines_on_ip_address ATTACH PARTITION index_ee7c87e634;
@@ -41488,8 +41353,6 @@ CREATE TRIGGER assign_zoekt_tasks_id_trigger BEFORE INSERT ON zoekt_tasks FOR EA
CREATE TRIGGER chat_names_loose_fk_trigger AFTER DELETE ON chat_names REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();
-CREATE TRIGGER ci_pipelines_loose_fk_trigger AFTER DELETE ON ci_pipelines REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records_override_table('p_ci_pipelines');
-
CREATE TRIGGER ci_runner_machines_loose_fk_trigger AFTER DELETE ON ci_runner_machines REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records_override_table('ci_runner_machines');
CREATE TRIGGER ci_runners_loose_fk_trigger AFTER DELETE ON ci_runners REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records_override_table('ci_runners');
diff --git a/doc/administration/appearance.md b/doc/administration/appearance.md
index c7aff152255..b31b0c68ab0 100644
--- a/doc/administration/appearance.md
+++ b/doc/administration/appearance.md
@@ -208,7 +208,7 @@ GitLab supports [Libravatar](https://www.libravatar.org) is for avatar images, b
{{< /details >}}
-To [change the default color theme](../user/profile/preferences.md#change-the-color-theme) for all new users:
+To [change the default navigation theme](../user/profile/preferences.md#change-the-navigation-theme) for all new users:
1. Add `gitlab_rails['gitlab_default_theme']` to your GitLab configuration file at `/etc/gitlab/gitlab.rb`:
diff --git a/doc/administration/dedicated/configure_instance/network_security.md b/doc/administration/dedicated/configure_instance/network_security.md
index bf3f07cc30d..723e7cffdaf 100644
--- a/doc/administration/dedicated/configure_instance/network_security.md
+++ b/doc/administration/dedicated/configure_instance/network_security.md
@@ -54,6 +54,12 @@ To set up DNS records for a custom hostname with GitLab Dedicated:
1. Save your changes and wait for the DNS changes to propagate.
+{{< alert type="note" >}}
+
+DNS records must stay in place as long as you use the BYOD feature.
+
+{{< /alert >}}
+
### DNS requirements for Let's Encrypt certificates
When using custom hostnames with GitLab Dedicated, your domain must be publicly resolvable
diff --git a/doc/administration/gitlab_duo_self_hosted/_index.md b/doc/administration/gitlab_duo_self_hosted/_index.md
index 73be773b342..b995df650fb 100644
--- a/doc/administration/gitlab_duo_self_hosted/_index.md
+++ b/doc/administration/gitlab_duo_self_hosted/_index.md
@@ -87,14 +87,14 @@ For more examples of a question you can ask, see
| -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ---------------------- |
| [Generate Commit Message](../../user/project/merge_requests/duo_in_merge_requests.md#generate-a-merge-commit-message) | {{< icon name="check-circle-filled" >}} Yes | GitLab 18.1 and later |
| [Summarize New Merge Request](../../user/project/merge_requests/duo_in_merge_requests.md#generate-a-description-by-summarizing-code-changes) | {{< icon name="check-circle-filled" >}} Yes | GitLab 18.1 and later |
-| [Code Review](../../user/project/merge_requests/duo_in_merge_requests.md#have-gitlab-duo-review-your-code) | {{< icon name="check-circle-filled" >}} Yes | Not applicable |
+| [Code Review](../../user/project/merge_requests/duo_in_merge_requests.md#have-gitlab-duo-review-your-code) | {{< icon name="dash-circle" >}} No | Not applicable |
| [Code Review Summary](../../user/project/merge_requests/duo_in_merge_requests.md#summarize-a-code-review) | {{< icon name="check-circle-filled" >}} Yes | GitLab 18.1 and later |
#### GitLab Duo in issues
| Feature | Available on GitLab Duo Self-Hosted | GitLab version |
| -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ---------------------- |
-| [Issue Description Generation](../../user/project/issues/managing_issues.md#populate-an-issue-with-issue-description-generation) | {{< icon name="check-circle-filled" >}} No | Not applicable |
+| [Issue Description Generation](../../user/project/issues/managing_issues.md#populate-an-issue-with-issue-description-generation) | {{< icon name="dash-circle" >}} No | Not applicable |
| [Issue Discussion Summary](../../user/discussions/_index.md#summarize-issue-discussions-with-duo-chat) | {{< icon name="check-circle-filled" >}} Yes | GitLab 18.1 and later |
#### Other features
diff --git a/doc/api/openapi/openapi_v2.yaml b/doc/api/openapi/openapi_v2.yaml
index 320b48de45d..2e6eb11032c 100644
--- a/doc/api/openapi/openapi_v2.yaml
+++ b/doc/api/openapi/openapi_v2.yaml
@@ -15091,7 +15091,7 @@ paths:
operationId: getApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisions
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}"
: delete:
- summary: Delete Recipe Revision
+ summary: Delete recipe revision
description: This feature was introduced in GitLab 18.1
produces:
- application/json
@@ -15133,7 +15133,7 @@ paths:
example: df28fd816be3a119de5ce4d374436b25
responses:
'204':
- description: Delete Recipe Revision
+ description: Delete recipe revision
'400':
description: Bad Request
'401':
@@ -15602,6 +15602,74 @@ paths:
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionPackagesConanPackageReferenceRevisions
+ ? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}/packages/{conan_package_reference}/revisions/{package_revision}"
+ : delete:
+ summary: Delete package revision
+ description: This feature was introduced in GitLab 18.1
+ produces:
+ - application/json
+ parameters:
+ - in: path
+ name: id
+ description: The ID or URL-encoded path of the project
+ type: string
+ required: true
+ - in: path
+ name: package_name
+ description: Package name
+ type: string
+ required: true
+ example: my-package
+ - in: path
+ name: package_version
+ description: Package version
+ type: string
+ required: true
+ example: '1.0'
+ - in: path
+ name: package_username
+ description: Package username
+ type: string
+ required: true
+ example: my-group+my-project
+ - in: path
+ name: package_channel
+ description: Package channel
+ type: string
+ required: true
+ example: stable
+ - in: path
+ name: recipe_revision
+ description: Recipe revision
+ type: string
+ required: true
+ example: df28fd816be3a119de5ce4d374436b25
+ - in: path
+ name: conan_package_reference
+ description: Package reference
+ type: string
+ required: true
+ example: 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
+ - in: path
+ name: package_revision
+ description: Package revision
+ type: string
+ required: true
+ example: 3bdd2d8c8e76c876ebd1ac0469a4e72c
+ responses:
+ '204':
+ description: Delete package revision
+ '400':
+ description: Bad Request
+ '401':
+ description: Unauthorized
+ '403':
+ description: Forbidden
+ '404':
+ description: Not Found
+ tags:
+ - conan_packages
+ operationId: deleteApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionPackagesConanPackageReferenceRevisionsPackageRevision
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}/packages/{conan_package_reference}/revisions/{package_revision}/files"
: get:
summary: List package files
diff --git a/doc/api/packages/conan_v2.md b/doc/api/packages/conan_v2.md
index 2a4b1f9dc40..81c07e70301 100644
--- a/doc/api/packages/conan_v2.md
+++ b/doc/api/packages/conan_v2.md
@@ -429,6 +429,31 @@ Example response:
}
```
+## Delete a package revision
+
+Deletes the package revision from the registry. If the package reference has only one package revision, the package reference is deleted as well.
+
+```plaintext
+DELETE /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision
+```
+
+| Attribute | Type | Required | Description |
+| ------------------------- | ------ | -------- | ------------------------------------------------------------------------------------------- |
+| `id` | string | yes | The project ID or full project path. |
+| `package_name` | string | yes | Name of a package. |
+| `package_version` | string | yes | Version of a package. |
+| `package_username` | string | yes | Conan username of a package. This attribute is the `+`-separated full path of your project. |
+| `package_channel` | string | yes | Channel of a package. |
+| `recipe_revision` | string | yes | Revision of the recipe. Does not accept a value of `0`. |
+| `conan_package_reference` | string | yes | Reference hash of a Conan package. Conan generates this value. |
+| `package_revision` | string | yes | Revision of the package. Does not accept a value of `0`. |
+
+```shell
+curl --request DELETE \
+ --header "Authorization: Bearer " \
+ --url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-group+my-project/stable/revisions/75151329520e7685dcf5da49ded2fec0/packages/103f6067a947f366ef91fc1b7da351c588d1827f/revisions/3bdd2d8c8e76c876ebd1ac0469a4e72c"
+```
+
## Get a package file
Gets a package file from the package registry.
diff --git a/doc/api/users.md b/doc/api/users.md
index 5e5404d9008..8cfdfe2f197 100644
--- a/doc/api/users.md
+++ b/doc/api/users.md
@@ -797,7 +797,7 @@ Supported attributes:
| `shared_runners_minutes_limit` | No | Can be set by administrators only. Maximum number of monthly compute minutes for this user. Can be `nil` (default; inherit system default), `0` (unlimited), or `> 0`. Premium and Ultimate only. |
| `skip_confirmation` | No | Skip confirmation - true or false (default) |
| `skype` | No | Skype ID |
-| `theme_id` | No | GitLab theme for the user (for more information, see the [user preference documentation](../user/profile/preferences.md#change-the-color-theme) for more information) |
+| `theme_id` | No | GitLab theme for the user (for more information, see the [user preference documentation](../user/profile/preferences.md#change-the-navigation-theme) for more information) |
| `twitter` | No | X (formerly Twitter) account |
| `discord` | No | Discord account |
| `github` | No | GitHub username |
@@ -863,7 +863,7 @@ Supported attributes:
| `shared_runners_minutes_limit` | No | Can be set by administrators only. Maximum number of monthly compute minutes for this user. Can be `nil` (default; inherit system default), `0` (unlimited) or `> 0`. Premium and Ultimate only. |
| `skip_reconfirmation` | No | Skip reconfirmation - true or false (default) |
| `skype` | No | Skype ID |
-| `theme_id` | No | GitLab theme for the user (for more information, see the [user preference documentation](../user/profile/preferences.md#change-the-color-theme) for more information) |
+| `theme_id` | No | GitLab theme for the user (for more information, see the [user preference documentation](../user/profile/preferences.md#change-the-navigation-theme) for more information) |
| `twitter` | No | X (formerly Twitter) account |
| `discord` | No | Discord account |
| `github` | No | GitHub username |
diff --git a/doc/ci/components/examples.md b/doc/ci/components/examples.md
index b27f796e039..80eae1b6c7d 100644
--- a/doc/ci/components/examples.md
+++ b/doc/ci/components/examples.md
@@ -246,8 +246,8 @@ compile:
{{< alert type="note" >}}
-You can also start with migrating one job, instead of all jobs. Follow the instructions below,
-and only migrate the `build` CI/CD job in the first iteration.
+For a more incremental approach, migrate one job at a time.
+Start with the `build` job, then repeat the steps for the `format` and `test` jobs.
{{< /alert >}}
diff --git a/doc/ci/jobs/fine_grained_permissions.md b/doc/ci/jobs/fine_grained_permissions.md
index cd73d00e5a6..661e3e7e966 100644
--- a/doc/ci/jobs/fine_grained_permissions.md
+++ b/doc/ci/jobs/fine_grained_permissions.md
@@ -140,7 +140,8 @@ The following endpoints are available for CI/CD job tokens.
| Packages: Read and write | `ADMIN_PACKAGES` | `DELETE /projects/:id/packages/:package_id/package_files/:package_file_id` | Delete a package file |
| Packages: Read and write | `ADMIN_PACKAGES` | `DELETE /projects/:id/packages/:package_id` | Delete a project package |
| Packages: Read and write | `ADMIN_PACKAGES` | `DELETE /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel` | Delete Package |
-| Packages: Read and write | `ADMIN_PACKAGES` | `DELETE /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision` | Delete Recipe Revision |
+| Packages: Read and write | `ADMIN_PACKAGES` | `DELETE /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision` | Delete package revision |
+| Packages: Read and write | `ADMIN_PACKAGES` | `DELETE /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision` | Delete recipe revision |
| Packages: Read and write | `ADMIN_PACKAGES` | `DELETE /projects/:id/packages/npm/-/package/*package_name/dist-tags/:tag` | Deletes the given tag |
| Packages: Read and write | `ADMIN_PACKAGES` | `POST /projects/:id/packages/composer` | Composer packages endpoint for registering packages |
| Packages: Read and write | `ADMIN_PACKAGES` | `POST /projects/:id/packages/pypi/authorize` | Authorize the PyPi package upload from workhorse |
diff --git a/doc/ci/mobile_devops/mobile_devops_tutorial_ios.md b/doc/ci/mobile_devops/mobile_devops_tutorial_ios.md
index 4ad4d9a835e..84e7a3e4936 100644
--- a/doc/ci/mobile_devops/mobile_devops_tutorial_ios.md
+++ b/doc/ci/mobile_devops/mobile_devops_tutorial_ios.md
@@ -178,12 +178,12 @@ beta_ios:
Congratulations! Your app is now set up for automated building, signing, and distribution. Try creating
a merge request to trigger your first pipeline.
-## Related topics
+## Sample projects
-See the sample reference projects below for complete build, sign, and release pipeline examples for various platforms.
-A list of all available projects can be found in [the Mobile DevOps Demo Projects group](https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/demo-projects/).
+Sample Mobile DevOps projects with pipelines configured to build, sign, and release mobile apps are available for:
-- [iOS Demo](https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/demo-projects/ios-demo)
-- [Flutter Demo](https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/demo-projects/flutter-demo)
+- Android
+- Flutter
+- iOS
-For additional reference materials, see the [DevOps section](https://about.gitlab.com/blog/categories/devops/) of the GitLab blog.
+View all projects in the [Mobile DevOps Demo Projects](https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/demo-projects/) group.
diff --git a/doc/ci/pipelines/_index.md b/doc/ci/pipelines/_index.md
index afd4cb98f9b..d952ee10395 100644
--- a/doc/ci/pipelines/_index.md
+++ b/doc/ci/pipelines/_index.md
@@ -228,7 +228,7 @@ You can do this straight from the pipeline graph. Select **Run** ({{< icon name=
For example, your pipeline can start automatically, but require a manual action to
[deploy to production](../environments/deployments.md#configure-manual-deployments).
-In the example below, the `production` stage has a job with a manual action:
+In the following example, the `production` stage has a job with a manual action:

diff --git a/doc/ci/pipelines/compute_minutes.md b/doc/ci/pipelines/compute_minutes.md
index 70755545318..a78c4a30361 100644
--- a/doc/ci/pipelines/compute_minutes.md
+++ b/doc/ci/pipelines/compute_minutes.md
@@ -116,7 +116,7 @@ Certain discounts apply based on the project type:
| Standard projects | [Based on runner type](#cost-factors-of-hosted-runners-for-gitlabcom) | 1 minute per (job duration / 60 × cost factor) |
| Public projects in [GitLab for Open Source program](../../subscriptions/community_programs.md#gitlab-for-open-source) | `0.5` | 1 minute per 2 minutes of job time |
| Public forks of [GitLab Open Source program projects](../../subscriptions/community_programs.md#gitlab-for-open-source) | `0.008` | 1 minute per 125 minutes of job time |
-| [Community contributions to GitLab projects](#community-contributions-to-gitlab-projects) | Dynamic discount | See below |
+| [Community contributions to GitLab projects](#community-contributions-to-gitlab-projects) | Dynamic discount | See the following section |
#### Community contributions to GitLab projects
diff --git a/doc/ci/pipelines/pipeline_architectures.md b/doc/ci/pipelines/pipeline_architectures.md
index d9249b68dad..60cb8f56d9b 100644
--- a/doc/ci/pipelines/pipeline_architectures.md
+++ b/doc/ci/pipelines/pipeline_architectures.md
@@ -125,7 +125,7 @@ you can use the [`needs` keyword](../yaml/needs.md) to define dependencies
between your jobs. When GitLab knows the dependencies between your jobs,
jobs can run as fast as possible, even starting earlier than other jobs in the same stage.
-In the example below, if `build_a` and `test_a` are much faster than `build_b` and
+In the following example, if `build_a` and `test_a` are much faster than `build_b` and
`test_b`, GitLab starts `deploy_a` even if `build_b` is still running.
```mermaid
diff --git a/doc/ci/testing/browser_performance_testing.md b/doc/ci/testing/browser_performance_testing.md
index 7a5cfcd4813..8270d9c64a8 100644
--- a/doc/ci/testing/browser_performance_testing.md
+++ b/doc/ci/testing/browser_performance_testing.md
@@ -127,7 +127,7 @@ browser_performance:
### Configuring degradation threshold
You can configure the sensitivity of degradation alerts to avoid getting alerts for minor drops in metrics.
-This is done by setting the `DEGRADATION_THRESHOLD` CI/CD variable. In the example below, the alert only shows up
+This is done by setting the `DEGRADATION_THRESHOLD` CI/CD variable. In the following example, the alert only shows up
if the `Total Score` metric degrades by 5 points or more:
```yaml
diff --git a/doc/ci/testing/code_coverage/jacoco.md b/doc/ci/testing/code_coverage/jacoco.md
index 2ca1dc50ac4..d386536c357 100644
--- a/doc/ci/testing/code_coverage/jacoco.md
+++ b/doc/ci/testing/code_coverage/jacoco.md
@@ -34,8 +34,6 @@ The JaCoCo coverage reports visualization supports:
To configure your pipeline to generate the coverage reports, add a job to your
`.gitlab-ci.yml` file. For example:
-Below is an example configuration:
-
```yaml
test-jdk11:
stage: test
diff --git a/doc/ci/testing/code_quality_codeclimate_scanning.md b/doc/ci/testing/code_quality_codeclimate_scanning.md
index 4951e8e426f..de33c21d06e 100644
--- a/doc/ci/testing/code_quality_codeclimate_scanning.md
+++ b/doc/ci/testing/code_quality_codeclimate_scanning.md
@@ -489,7 +489,7 @@ To ensure Code Quality jobs can run on a Kubernetes executor:
- If you're using TLS to communicate with the Docker daemon, the executor [must be running in privileged mode](https://docs.gitlab.com/runner/executors/kubernetes/#other-configtoml-settings). Additionally, the certificate directory must be [specified as a volume mount](../docker/using_docker_build.md#docker-in-docker-with-tls-enabled-in-kubernetes).
- It is possible that the DinD service doesn't start up fully before the Code Quality job starts. This is a limitation documented in
- [Troubleshooting the Kubernetes executor](https://docs.gitlab.com/runner/executors/kubernetes/troubleshooting.html#docker-cannot-connect-to-the-docker-daemon-at-tcpdocker2375-is-the-docker-daemon-running). To resolve the issue, use `before_script` to wait for the Docker daemon to fully boot up. For an example, see the configuration in the `.gitlab-ci.yml` file below.
+ [Troubleshooting the Kubernetes executor](https://docs.gitlab.com/runner/executors/kubernetes/troubleshooting.html#docker-cannot-connect-to-the-docker-daemon-at-tcpdocker2375-is-the-docker-daemon-running). To resolve the issue, use `before_script` to wait for the Docker daemon to fully boot up. For an example, see the configuration in the `.gitlab-ci.yml` file described in the following section.
#### Kubernetes
@@ -568,9 +568,9 @@ impact on [performance](https://docs.docker.com/storage/storagedriver/select-sto
{{< /alert >}}
-To configure permissions for the Docker daemon,
+To configure permissions for the Docker daemon:
-1. Create a file called `config.toml` with the configuration provided below. This configuration will be used to customized GitLab Runner generated `config.toml`:
+1. Create a `config.toml` file with this configuration template to customize the runner's configuration:
```toml
[[runners]]
diff --git a/doc/ci/testing/code_quality_troubleshooting.md b/doc/ci/testing/code_quality_troubleshooting.md
index 43f709c4e46..483da49ae23 100644
--- a/doc/ci/testing/code_quality_troubleshooting.md
+++ b/doc/ci/testing/code_quality_troubleshooting.md
@@ -123,8 +123,7 @@ You may need to [Configure Kubernetes or OpenShift runners for CodeClimate-based
## Error: `x509: certificate signed by unknown authority`
If you set the `CODE_QUALITY_IMAGE` to an image that is hosted in a Docker registry which uses a TLS
-certificate that is not trusted, such as a self-signed certificate, you can see errors like the one
-below:
+certificate that is not trusted, such as a self-signed certificate, you might see the following error:
```shell
$ docker pull --quiet "$CODE_QUALITY_IMAGE"
diff --git a/doc/development/contributing/design.md b/doc/development/contributing/design.md
index 09a840a6b7e..029a6d116bc 100644
--- a/doc/development/contributing/design.md
+++ b/doc/development/contributing/design.md
@@ -69,7 +69,7 @@ Check visual design properties using your browser's elements inspector ([Chrome]
or propose new ones according to [iconography](https://design.gitlab.com/product-foundations/iconography/)
and [illustration](https://design.gitlab.com/product-foundations/illustration/)
guidelines.
-- Optional: Consider dark mode. For more information, see [Change the appearance](../../user/profile/preferences.md#change-the-appearance).
+- Optional: Consider dark mode. For more information, see [Change the mode](../../user/profile/preferences.md#change-the-mode).
### Dark Mode
diff --git a/doc/development/fe_guide/dark_mode.md b/doc/development/fe_guide/dark_mode.md
index a94b55b2d5c..587e52f220c 100644
--- a/doc/development/fe_guide/dark_mode.md
+++ b/doc/development/fe_guide/dark_mode.md
@@ -5,7 +5,7 @@ info: Any user with at least the Maintainer role can merge updates to this conte
title: Dark mode
---
-This page is about developing dark mode for GitLab. For more information on how to enable dark mode, see [how to change the UI appearance](../../user/profile/preferences.md#change-the-appearance).
+This page is about developing dark mode for GitLab. For more information on how to enable dark mode, see [how to change the UI appearance](../../user/profile/preferences.md#change-the-mode).
## How dark mode works
diff --git a/doc/development/fe_guide/dashboard_layout_framework.md b/doc/development/fe_guide/dashboard_layout_framework.md
index a6c60157e9a..e14fbfd5a17 100644
--- a/doc/development/fe_guide/dashboard_layout_framework.md
+++ b/doc/development/fe_guide/dashboard_layout_framework.md
@@ -29,8 +29,8 @@ For more in depth details on the dashboard layout framework, see the [architectu
Try it in your browser using our interactive examples:
-- [dashboard_layout](https://gitlab-org.gitlab.io/gitlab/storybook/?path=/docs/vue-shared-components-dashboard-layout--docs)
-- [panels_base](https://gitlab-org.gitlab.io/gitlab/storybook/?path=/docs/vue-shared-components-panels-base--docs)
+- [dashboard_layout](https://gitlab-org.gitlab.io/gitlab/storybook/?path=/docs/vue-shared-components-customizable-dashboard-dashboard-layout--docs)
+- [panels_base](https://gitlab-org.gitlab.io/gitlab/storybook/?path=/docs/vue-shared-components-customizable-dashboard-panels-base--docs)
## When to use this component
diff --git a/doc/development/permissions.md b/doc/development/permissions.md
index 52f814d9ec2..0b1dc9c4727 100644
--- a/doc/development/permissions.md
+++ b/doc/development/permissions.md
@@ -13,3 +13,4 @@ anything that deals with permissions, all of them should be considered. For more
- [Naming and conventions](permissions/conventions.md): guidance on how to name new permissions and what should be included in policy classes.
- [Authorizations](permissions/authorizations.md): guidance on where to check permissions.
- [Custom roles](permissions/custom_roles.md): guidance on how to work on custom role, how to introduce a new ability for custom roles, how to refactor permissions.
+- [Job token guidelines](permissions/job_tokens.md): Guidance on requirements and contribution guidelines for new job token permissions.
diff --git a/doc/development/permissions/job_tokens.md b/doc/development/permissions/job_tokens.md
new file mode 100644
index 00000000000..fd2cdb0d067
--- /dev/null
+++ b/doc/development/permissions/job_tokens.md
@@ -0,0 +1,24 @@
+---
+stage: Software Supply Chain Security
+group: Authorization
+info: Any user with at least the Maintainer role can merge updates to this content. For details, see https://docs.gitlab.com/development/development_processes/#development-guidelines-review.
+title: Job token permission development guidelines
+---
+
+## Background
+
+Historically, job tokens have provided broad access to resources by default. With the introduction of
+fine-grained permissions for job tokens, we can enable granular access controls while adhering to the
+principle of least privilege.
+
+This topic provide guidance on the requirements and contribution guidelines for new job token permissions.
+
+## Requirements
+
+Before being accepted, all new job token permissions must:
+
+- Be opt-in and disabled by default.
+- Complete a review by the GitLab security team.
+ - Tag `@gitlab-com/gl-security/product-security/appsec` for review
+
+These requirements ensure that new permissions allow users to maintain explicit control over their security configuration, prevent unintended privilege escalation, and adhere to the principle of least privilege.
diff --git a/doc/user/enterprise_user/_index.md b/doc/user/enterprise_user/_index.md
index 6f71b36fa48..af845faf751 100644
--- a/doc/user/enterprise_user/_index.md
+++ b/doc/user/enterprise_user/_index.md
@@ -264,28 +264,22 @@ Allowing group Owners to change primary emails is proposed in [issue 412966](htt
{{< details >}}
-- Status: Beta
+- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
{{< /details >}}
{{< history >}}
-- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/161819) as a [beta](../../policy/development_stages_support.md#beta) in GitLab 17.0 [with flags](../../administration/feature_flags.md) named `web_ide_oauth` and `web_ide_extensions_marketplace`. Disabled by default.
+- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/161819) as a [beta](../../policy/development_stages_support.md#beta) in GitLab 17.4 [with flags](../../administration/feature_flags.md) named `web_ide_oauth` and `web_ide_extensions_marketplace`. Disabled by default.
- `web_ide_oauth` [enabled on GitLab.com, GitLab Self-Managed, and GitLab Dedicated](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/163181) in GitLab 17.4.
- `web_ide_extensions_marketplace` [enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/459028) in GitLab 17.4.
- `web_ide_oauth` [removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/167464) in GitLab 17.5.
- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/508996) the `vscode_extension_marketplace_settings` [feature flag](../../administration/feature_flags.md) in GitLab 17.10. Disabled by default.
-- `web_ide_extensions_marketplace` and `vscode_extension_marketplace_settings` [enabled on GitLab Self-Managed](https://gitlab.com/gitlab-org/gitlab/-/issues/459028) in GitLab 17.11.
+- `web_ide_extensions_marketplace` [enabled on GitLab Self-Managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/184662), and `vscode_extension_marketplace_settings` [enabled on GitLab.com and GitLab Self-Managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/184662) in GitLab 17.11.
+- [Generally available](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192659) in GitLab 18.1. Feature flags `web_ide_extensions_marketplace` and `vscode_extension_marketplace_settings` removed.
{{< /history >}}
-{{< alert type="flag" >}}
-
-The availability of this feature is controlled by a feature flag.
-For more information, see the history.
-
-{{< /alert >}}
-
Prerequisites:
- In the **Admin** area, a GitLab administrator must
diff --git a/doc/user/glql/fields.md b/doc/user/glql/fields.md
index c22a689c3b1..760aabb7cf6 100644
--- a/doc/user/glql/fields.md
+++ b/doc/user/glql/fields.md
@@ -47,6 +47,7 @@ format `field operator value`.
{{< history >}}
- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/491246) in GitLab 17.8.
+- Support for querying epics [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192680) in GitLab 18.1.
{{< /history >}}
@@ -58,17 +59,24 @@ format `field operator value`.
**Allowed value types**:
-- `Enum` (one of `Issue`, `Incident`, `TestCase`, `Requirement`, `Task`, `Ticket`, `Objective`,
- `KeyResult`, or `MergeRequest`)
+- `Enum`, one of:
+ - `Issue`
+ - `Incident`
+ - `Epic`
+ - `TestCase`
+ - `Requirement`
+ - `Task`
+ - `Ticket`
+ - `Objective`
+ - `KeyResult`
+ - `MergeRequest`
- `List` (containing one or more `enum` values)
-**Allowed in columns of a GLQL view**: Only for issue and work item types.
-
**Additional details**:
- If omitted when used inside a GLQL view, all issue and work item types are included by default.
-- Work item types (like `Issue`, `Task`, or `Objective`) cannot be used together with `MergeRequest` types.
-- The type field isn't allowed in columns of a GLQL view for `MergeRequest` types.
+- Certain work item types (like `Issue`, `Task`, or `Objective`) cannot be used together with `MergeRequest` and `Epic` types.
+- `type = Epic` queries can only be used together with the [group](#group) field.
**Examples**:
@@ -90,6 +98,12 @@ format `field operator value`.
type = MergeRequest and assignee = currentUser()
```
+- List all epics authored by the current user in the group `gitlab-org`
+
+ ```plaintext
+ group = "gitlab-org" and type = Epic and author = currentUser()
+ ```
+
### Approved by user
{{< history >}}
@@ -191,6 +205,12 @@ format `field operator value`.
### Author
+{{< history >}}
+
+- Support for querying epics by author [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192680) in GitLab 18.1.
+
+{{< /history >}}
+
**Description**: Query issues or merge request by their author.
**Field name**: `author`
@@ -205,6 +225,7 @@ format `field operator value`.
**Supported for object types**:
- `Issue`
+- `Epic`
- Work item types like `Task` or `Objective`
- `MergeRequest`
@@ -320,6 +341,12 @@ format `field operator value`.
### Confidential
+{{< history >}}
+
+- Support for querying epics by their confidentiality [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192680) in GitLab 18.1.
+
+{{< /history >}}
+
**Description**: Query issues by their visibility to project members.
**Field name**: `confidential`
@@ -333,6 +360,7 @@ format `field operator value`.
**Supported for object types**:
- `Issue`
+- `Epic`
- Work item types like `Task` or `Objective`
**Additional details**:
@@ -359,6 +387,7 @@ format `field operator value`.
- Aliases `createdAt`, `opened`, and `openedAt` [introduced](https://gitlab.com/gitlab-org/gitlab-query-language/glql-rust/-/merge_requests/137) in GitLab 18.0.
- Operators `>=` and `<=` [introduced](https://gitlab.com/gitlab-org/gitlab-query-language/glql-rust/-/work_items/58) in GitLab 18.0.
+- Support for querying epics by creation date [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192680) in GitLab 18.1.
{{< /history >}}
@@ -379,6 +408,7 @@ format `field operator value`.
**Supported for object types**:
- `Issue`
+- `Epic`
- Work item types like `Task` or `Objective`
- `MergeRequests`
@@ -571,6 +601,42 @@ format `field operator value`.
environment = "production"
```
+### Epic
+
+{{< history >}}
+
+- [Introduced](https://gitlab.com/gitlab-org/gitlab-query-language/glql-rust/-/issues/30) in GitLab 18.1.
+
+{{< /history >}}
+
+**Description**: Query issues by their parent epic ID or reference.
+
+**Field name**: `epic`
+
+**Allowed operators**: `=`
+
+**Allowed value types**:
+
+- `Number` (epic ID)
+- `String` (containing an epic reference like `&123`)
+- `Epic` (for example, `&123`, `gitlab-org&123`)
+
+**Supported for object types**: `Issue`
+
+**Examples**:
+
+- List all issues that have epic `&123` as their parent in project `gitlab-org/gitlab`:
+
+ ```plaintext
+ project = "gitlab-org/gitlab" and epic = &123
+ ```
+
+- List all issues that have epic `gitlab-com&123` as their parent in project `gitlab-org/gitlab`:
+
+ ```plaintext
+ project = "gitlab-org/gitlab" and epic = gitlab-com&123
+ ```
+
### Group
**Description**: Query issues or merge requests within all projects in a given group.
@@ -656,6 +722,7 @@ format `field operator value`.
{{< history >}}
- [Introduced](https://gitlab.com/gitlab-org/gitlab-query-language/glql-rust/-/merge_requests/92) in GitLab 17.8.
+- Support for querying epics by ID [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192680) in GitLab 18.1.
{{< /history >}}
@@ -673,6 +740,7 @@ format `field operator value`.
**Supported for object types**:
- `Issue`
+- `Epic`
- Work item types like `Task` or `Objective`
- `MergeRequest`
@@ -701,6 +769,7 @@ format `field operator value`.
{{< history >}}
- [Introduced](https://gitlab.com/gitlab-org/gitlab-query-language/glql-rust/-/merge_requests/106) in GitLab 17.10.
+- Support for this field to be used with epics [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192680) in GitLab 18.1.
{{< /history >}}
@@ -717,6 +786,7 @@ format `field operator value`.
**Supported for object types**:
- `Issue`
+- `Epic`
- Work item types like `Task` or `Objective`
- `MergeRequest`
@@ -810,6 +880,7 @@ format `field operator value`.
- Support for label value types [introduced](https://gitlab.com/gitlab-org/gitlab-query-language/glql-rust/-/merge_requests/79) in GitLab 17.8.
- Alias `labels` [introduced](https://gitlab.com/gitlab-org/gitlab-query-language/glql-rust/-/merge_requests/137) in GitLab 18.0.
+- Support for querying epics by labels [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192680) in GitLab 18.1.
{{< /history >}}
@@ -831,6 +902,7 @@ format `field operator value`.
**Supported for object types**:
- `Issue`
+- `Epic`
- Work item types like `Task` or `Objective`
- `MergeRequest`
@@ -967,6 +1039,7 @@ format `field operator value`.
{{< history >}}
- Support for milestone value types [introduced](https://gitlab.com/gitlab-org/gitlab-query-language/glql-rust/-/merge_requests/77) in GitLab 17.8.
+- Support for querying epics by milestone [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192680) in GitLab 18.1.
{{< /history >}}
@@ -986,6 +1059,7 @@ format `field operator value`.
**Supported for object types**:
- `Issue`
+- `Epic`
- Work item types like `Task` or `Objective`
- `MergeRequest`
@@ -1095,6 +1169,7 @@ format `field operator value`.
{{< history >}}
- [Introduced](https://gitlab.com/gitlab-org/gitlab-query-language/glql-rust/-/merge_requests/96) in GitLab 17.8.
+- Support for querying epics by state [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192680) in GitLab 18.1.
{{< /history >}}
@@ -1113,6 +1188,7 @@ format `field operator value`.
**Supported for object types**:
- `Issue`
+- `Epic`
- Work item types like `Task` or `Objective`
- `MergeRequest`
@@ -1463,6 +1539,14 @@ the state values can include `Open` or `Closed`. For merge requests, these inclu
**Supported for**: Issues, merge requests
+### Type
+
+**Description**: Displays the type of the work item listed in the view, for example Issue, Task, Objective, or Key Result.
+
+**Field name**: `type`
+
+**Supported for**: Issues
+
### Updated at
**Description**: Display relative time since today when an issue or a merge request listed in the view was last updated.
diff --git a/doc/user/profile/preferences.md b/doc/user/profile/preferences.md
index 5a7036462ba..6fb10afe29d 100644
--- a/doc/user/profile/preferences.md
+++ b/doc/user/profile/preferences.md
@@ -14,35 +14,42 @@ title: Profile preferences
You can update your preferences to change the look and feel of GitLab.
-## Change the appearance
+## Change the mode
{{< history >}}
- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28252) in GitLab 13.1.
- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/524846) from experiment to beta in GitLab 17.11.
+- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/470413) from **Appearance** to **Mode** in GitLab 18.1.
{{< /history >}}
-You can change the visual appearance of the interface to be light, dark, or automatically update based on device preferences.
+You can change the color mode of the interface to be light, dark, or automatically update based on device preferences.
To change the appearance:
1. On the left sidebar, select your avatar.
1. Select **Preferences**.
-1. In the **Appearance** section, select an option.
+1. In the **Mode** section, select an option.
1. Select **Save changes**.
-## Change the color theme
+## Change the navigation theme
-You can change the color theme of the GitLab UI. These colors are displayed on the left sidebar.
-Using individual color themes might help you differentiate between your different
+{{< history >}}
+
+- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/470413) from **Color theme** to **Navigation theme** in GitLab 18.1.
+
+{{< /history >}}
+
+You can change the navigation theme of the GitLab UI. These colors are displayed on the left sidebar.
+Using individual navigation themes might help you differentiate between your different
GitLab instances.
-To change the color theme:
+To change the navigation theme:
1. On the left sidebar, select your avatar.
1. Select **Preferences**.
-1. In the **Color theme** section, select a theme.
+1. In the **Navigation** section, select a theme.
## Change the syntax highlighting theme
@@ -58,7 +65,7 @@ To change the syntax highlighting theme:
1. On the left sidebar, select your avatar.
1. Select **Preferences**.
-1. In the **Syntax highlighting theme** section, select a theme.
+1. In the **Syntax highlights** section, select a theme.
1. Select **Save changes**.
To view the updated syntax highlighting theme, refresh your project's page.
@@ -76,7 +83,7 @@ To change the diff colors:
1. On the left sidebar, select your avatar.
1. Select **Preferences**.
-1. Go to the **Diff colors** section.
+1. Go to the **Diffs** section.
1. Select a color or enter a color code.
1. Select **Save changes**.
@@ -472,29 +479,23 @@ You must be the administrator of the GitLab instance to configure GitLab with So
{{< details >}}
-- Offering: GitLab.com
+- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
{{< /details >}}
{{< history >}}
-- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/161819) as a [beta](../../policy/development_stages_support.md#beta) in GitLab 17.0 [with flags](../../administration/feature_flags.md) named `web_ide_oauth` and `web_ide_extensions_marketplace`. Disabled by default.
+- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/151352) as a [beta](../../policy/development_stages_support.md#beta) in GitLab 17.0 [with flags](../../administration/feature_flags.md) named `web_ide_oauth` and `web_ide_extensions_marketplace`. Disabled by default.
- `web_ide_oauth` [enabled on GitLab.com, GitLab Self-Managed, and GitLab Dedicated](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/163181) in GitLab 17.4.
- `web_ide_extensions_marketplace` [enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/459028) in GitLab 17.4.
- `web_ide_oauth` [removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/167464) in GitLab 17.5.
- Enabled by default for [workspaces](../workspace/_index.md) in GitLab 17.6. Workspaces do not require any feature flags for the extension marketplace to be available.
- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/508996) the `vscode_extension_marketplace_settings` [feature flag](../../administration/feature_flags.md) in GitLab 17.10. Disabled by default.
-- `web_ide_extensions_marketplace` and `vscode_extension_marketplace_settings` [enabled on GitLab Self-Managed](https://gitlab.com/gitlab-org/gitlab/-/issues/459028) in GitLab 17.11.
+- `web_ide_extensions_marketplace` [enabled on GitLab Self-Managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/184662), and `vscode_extension_marketplace_settings` [enabled on GitLab.com and GitLab Self-Managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/184662) in GitLab 17.11.
+- [Generally available](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192659) in GitLab 18.1. Feature flags `web_ide_extensions_marketplace` and `vscode_extension_marketplace_settings` removed.
{{< /history >}}
-{{< alert type="flag" >}}
-
-The availability of this feature is controlled by a feature flag.
-For more information, see the history.
-
-{{< /alert >}}
-
You can use the extension marketplace to search and
[manage extensions](../project/web_ide/_index.md#manage-extensions) for the [Web IDE](../project/web_ide/_index.md) and [workspaces](../workspace/_index.md).
For third-party extensions, you must enable the marketplace in user preferences.
diff --git a/doc/user/project/web_ide/_index.md b/doc/user/project/web_ide/_index.md
index 86c7cbb7cac..4305427ba94 100644
--- a/doc/user/project/web_ide/_index.md
+++ b/doc/user/project/web_ide/_index.md
@@ -257,17 +257,11 @@ To view any notification you might have missed:
- `web_ide_extensions_marketplace` [enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/459028) in GitLab 17.4.
- `web_ide_oauth` [removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/167464) in GitLab 17.5.
- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/508996) the `vscode_extension_marketplace_settings` [feature flag](../../../administration/feature_flags.md) in GitLab 17.10. Disabled by default.
-- `web_ide_extensions_marketplace` and `vscode_extension_marketplace_settings` [enabled on GitLab Self-Managed](https://gitlab.com/gitlab-org/gitlab/-/issues/459028) in GitLab 17.11.
+- `web_ide_extensions_marketplace` [enabled on GitLab Self-Managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/184662), and `vscode_extension_marketplace_settings` [enabled on GitLab.com and GitLab Self-Managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/184662) in GitLab 17.11.
+- [Generally available](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192659) in GitLab 18.1. Feature flags `web_ide_extensions_marketplace` and `vscode_extension_marketplace_settings` removed.
{{< /history >}}
-{{< alert type="flag" >}}
-
-The availability of this feature is controlled by a feature flag.
-For more information, see the history.
-
-{{< /alert >}}
-
The VS Code Extension Marketplace provides you with access to extensions that enhance the
functionality of the Web IDE. By default, the GitLab Web IDE instance is configured to use the
[Open VSX Registry](https://open-vsx.org/).
diff --git a/lib/api/conan/v2/project_packages.rb b/lib/api/conan/v2/project_packages.rb
index 4bb4f5f4d2c..4e7acde59d2 100644
--- a/lib/api/conan/v2/project_packages.rb
+++ b/lib/api/conan/v2/project_packages.rb
@@ -27,10 +27,35 @@ module API
namespace: project.namespace)
end
+ def destroy_package_entity(entity, event_name)
+ track_conan_package_event(event_name)
+
+ entity.transaction do
+ ::Packages::MarkPackageFilesForDestructionService.new(entity.package_files).execute
+ destroy_conditionally!(entity) do
+ entity.destroy
+
+ # Conan cli expects 200 status code when deleting
+ status 200
+ end
+ end
+ end
+
def recipe_revision
package.conan_recipe_revisions.find_by_revision(params[:recipe_revision])
end
strong_memoize_attr :recipe_revision
+
+ def package_revisions
+ package.conan_package_revisions
+ .by_recipe_revision_and_package_reference(params[:recipe_revision],
+ params[:conan_package_reference])
+ end
+
+ def package_revision
+ package_revisions.find_by_revision(params[:package_revision])
+ end
+ strong_memoize_attr :package_revision
end
params do
@@ -108,7 +133,7 @@ module API
desc: 'Recipe revision', documentation: { example: 'df28fd816be3a119de5ce4d374436b25' }
end
namespace ':recipe_revision' do
- desc 'Delete Recipe Revision' do
+ desc 'Delete recipe revision' do
detail 'This feature was introduced in GitLab 18.1'
success code: 200
failure [
@@ -140,21 +165,11 @@ module API
status 200
end
else
- track_conan_package_event('delete_recipe_revision')
-
if recipe_revision.package_files.size > MAX_FILES_COUNT
unprocessable_entity! "Cannot delete more than #{MAX_FILES_COUNT} files"
end
- recipe_revision.transaction do
- ::Packages::MarkPackageFilesForDestructionService.new(recipe_revision.package_files).execute
- destroy_conditionally!(recipe_revision) do |recipe_revision|
- recipe_revision.destroy
-
- # Conan cli expects 200 status code when deleting a recipe revision
- status 200
- end
- end
+ destroy_package_entity(recipe_revision, 'delete_recipe_revision')
end
end
@@ -301,9 +316,7 @@ module API
get urgency: :low do
not_found!('Package') unless package
- revision = package.conan_package_revisions
- .by_recipe_revision_and_package_reference(params[:recipe_revision],
- params[:conan_package_reference]).order_by_id_desc.first
+ revision = package_revisions.order_by_id_desc.first
not_found!('Revision') unless revision.present?
@@ -328,16 +341,13 @@ module API
get urgency: :low do
not_found!('Package') unless package
- package_revisions = package
- .conan_package_revisions
- .by_recipe_revision_and_package_reference(params[:recipe_revision],
- params[:conan_package_reference])
+ revisions = package_revisions
.order_by_id_desc
.limit(MAX_PACKAGE_REVISIONS_COUNT)
package_reference = "#{package.conan_recipe}##{params[:recipe_revision]}:" \
"#{params[:conan_package_reference]}"
- present({ package_reference:, package_revisions: },
+ present({ package_reference: package_reference, package_revisions: revisions },
with: ::API::Entities::Packages::Conan::PackageRevisions)
end
@@ -346,6 +356,38 @@ module API
desc: 'Package revision', documentation: { example: '3bdd2d8c8e76c876ebd1ac0469a4e72c' }
end
namespace ':package_revision' do
+ desc 'Delete package revision' do
+ detail 'This feature was introduced in GitLab 18.1'
+ success code: 200
+ failure [
+ { code: 400, message: 'Bad Request' },
+ { code: 401, message: 'Unauthorized' },
+ { code: 403, message: 'Forbidden' },
+ { code: 404, message: 'Not Found' }
+ ]
+ tags %w[conan_packages]
+ end
+
+ route_setting :authentication, job_token_allowed: true, basic_auth_personal_access_token: true
+ route_setting :authorization, job_token_policies: :admin_packages
+
+ delete urgency: :low do
+ authorize_destroy_package!(project)
+
+ not_found!('Package') unless package
+
+ not_found!('Package Revision') unless package_revision
+
+ if package_revision.package_files.size > MAX_FILES_COUNT
+ unprocessable_entity! "Cannot delete more than #{MAX_FILES_COUNT} files"
+ end
+
+ if package_revisions.one?
+ destroy_package_entity(package_revision.package_reference, 'delete_package_reference')
+ else
+ destroy_package_entity(package_revision, 'delete_package_revision')
+ end
+ end
namespace 'files' do
desc 'List package files' do
detail 'This feature was introduced in GitLab 18.0'
diff --git a/lib/bulk_imports/groups/transformers/group_attributes_transformer.rb b/lib/bulk_imports/groups/transformers/group_attributes_transformer.rb
index 9afaf4f59ac..10028e8ecdb 100644
--- a/lib/bulk_imports/groups/transformers/group_attributes_transformer.rb
+++ b/lib/bulk_imports/groups/transformers/group_attributes_transformer.rb
@@ -25,7 +25,8 @@ module BulkImports
'lfs_enabled' => data['lfs_enabled'],
'emails_enabled' => !data['emails_disabled'],
'mentions_disabled' => data['mentions_disabled'],
- 'share_with_group_lock' => data['share_with_group_lock']
+ 'share_with_group_lock' => data['share_with_group_lock'],
+ 'importing' => true
}
if namespace.present?
diff --git a/lib/web_ide/extension_marketplace.rb b/lib/web_ide/extension_marketplace.rb
index 5791bede7b2..c6c0fd7ee21 100644
--- a/lib/web_ide/extension_marketplace.rb
+++ b/lib/web_ide/extension_marketplace.rb
@@ -2,32 +2,11 @@
module WebIde
module ExtensionMarketplace
- # Returns true if the extensions marketplace feature is enabled for any users
- #
- # @return [Boolean]
- def self.feature_enabled_for_any_user?
- # note: Intentionally pass `nil` here since we don't have a user in scope
- feature_enabled_from_application_settings?(user: nil) &&
- feature_flag_enabled_for_any_actor?(:web_ide_extensions_marketplace)
- end
-
- # Returns true if the extensions marketplace feature is enabled for the given user
- #
- # @param user [User]
- # @return [Boolean]
- def self.feature_enabled?(user:)
- feature_enabled_from_application_settings?(user: user) &&
- feature_enabled_from_flags?(user: user)
- end
-
# Returns true if the ExtensionMarketplace feature is enabled from application settings
#
- # @param user [User, nil] Current user for feature enablement context
# @return [Boolean]
- def self.feature_enabled_from_application_settings?(user:)
- return true unless should_use_application_settings?(user: user)
-
- Gitlab::CurrentSettings.vscode_extension_marketplace&.fetch('enabled', false)
+ def self.feature_enabled_from_application_settings?
+ Gitlab::CurrentSettings.vscode_extension_marketplace_enabled?
end
# This value is used when the end-user is accepting the third-party extension marketplace integration.
@@ -54,48 +33,7 @@ module WebIde
# @param [User] user The current user
# @return [Hash]
def self.webide_extension_marketplace_settings(user:)
- Settings.get_single_setting(
- :vscode_extension_marketplace_view_model,
- user: user,
- vscode_extension_marketplace_feature_flag_enabled: feature_enabled_from_flags?(user: user)
- )
+ Settings.get_single_setting(:vscode_extension_marketplace_view_model, user: user)
end
-
- # Returns true if the given flag is enabled for any actor
- #
- # @param [Symbol] flag
- # @return [Boolean]
- def self.feature_flag_enabled_for_any_actor?(flag)
- # Short circuit if we're globally enabled
- return true if Feature.enabled?(flag, nil)
-
- # The feature could be conditionally applied, so check if `!off?`
- # We also can't *just* check `!off?` because the ActiveRecord might not exist and be default enabled
- feature = Feature.get(flag) # rubocop:disable Gitlab/AvoidFeatureGet -- See above
- feature && !feature.off?
- end
-
- # Returns true if we should use `feature_enabled_from_application_settings?` to determine feature availability
- #
- # @param user [User, nil] Current user for feature enablement context
- # @return [Boolean]
- def self.should_use_application_settings?(user:)
- if user
- Feature.enabled?(:vscode_extension_marketplace_settings, user)
- else
- feature_flag_enabled_for_any_actor?(:vscode_extension_marketplace_settings)
- end
- end
-
- # This returns true if the extensions marketplace flags are enabled
- #
- # @param user [User]
- # @return [Boolean]
- def self.feature_enabled_from_flags?(user:)
- Feature.enabled?(:web_ide_extensions_marketplace, user)
- end
-
- private_class_method :feature_flag_enabled_for_any_actor?, :should_use_application_settings?,
- :feature_enabled_from_flags?
end
end
diff --git a/lib/web_ide/settings/extension_marketplace_generator.rb b/lib/web_ide/settings/extension_marketplace_generator.rb
index 47de4e9a054..3bbbe455b56 100644
--- a/lib/web_ide/settings/extension_marketplace_generator.rb
+++ b/lib/web_ide/settings/extension_marketplace_generator.rb
@@ -8,19 +8,13 @@ module WebIde
def self.generate(context)
return context unless context.fetch(:requested_setting_names).include?(:vscode_extension_marketplace)
- user = context.dig(:options, :user)
-
- context[:settings][:vscode_extension_marketplace] = extension_marketplace_from_application_settings(user)
+ context[:settings][:vscode_extension_marketplace] = extension_marketplace_from_application_settings
context
end
# @param [User, nil] user
# @return [Hash]
- def self.extension_marketplace_from_application_settings(user)
- unless Feature.enabled?(:vscode_extension_marketplace_settings, user)
- return ::WebIde::ExtensionMarketplacePreset.open_vsx.values
- end
-
+ def self.extension_marketplace_from_application_settings
settings = Gitlab::CurrentSettings.vscode_extension_marketplace
preset_key = settings.fetch("preset", ::WebIde::ExtensionMarketplacePreset.open_vsx.key)
diff --git a/lib/web_ide/settings/extension_marketplace_metadata_generator.rb b/lib/web_ide/settings/extension_marketplace_metadata_generator.rb
index fc53e9e1d06..d7c88186a16 100644
--- a/lib/web_ide/settings/extension_marketplace_metadata_generator.rb
+++ b/lib/web_ide/settings/extension_marketplace_metadata_generator.rb
@@ -29,16 +29,13 @@ module WebIde
vscode_extension_marketplace_home_url: String => marketplace_home_url,
}
}
- options_with_defaults = { user: nil, vscode_extension_marketplace_feature_flag_enabled: nil }.merge(options)
+ options_with_defaults = { user: nil }.merge(options)
options_with_defaults => {
- user: ::User | NilClass => user,
- vscode_extension_marketplace_feature_flag_enabled: TrueClass | FalseClass | NilClass =>
- extension_marketplace_feature_flag_enabled
+ user: ::User | NilClass => user
}
extension_marketplace_metadata = build_metadata(
user: user,
- flag_enabled: extension_marketplace_feature_flag_enabled,
marketplace_home_url: marketplace_home_url
)
@@ -49,12 +46,10 @@ module WebIde
# @param [User, nil] user
# @param [Boolean, nil] flag_enabled
# @return [Hash]
- def self.build_metadata(user:, flag_enabled:, marketplace_home_url:)
+ def self.build_metadata(user:, marketplace_home_url:)
return metadata_disabled(:no_user) unless user
- return metadata_disabled(:no_flag) if flag_enabled.nil?
- return metadata_disabled(:instance_disabled) unless flag_enabled
- unless ::WebIde::ExtensionMarketplace.feature_enabled_from_application_settings?(user: user)
+ unless ::WebIde::ExtensionMarketplace.feature_enabled_from_application_settings?
return metadata_disabled(:instance_disabled)
end
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 371e7841994..718f277e8c8 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -23871,6 +23871,9 @@ msgstr ""
msgid "Edit user: %{user_name}"
msgstr ""
+msgid "Edit value"
+msgstr ""
+
msgid "Edit video description"
msgstr ""
@@ -46489,16 +46492,19 @@ msgstr ""
msgid "Preferences|%{link_start}List of keyboard shortcuts%{link_end}"
msgstr ""
-msgid "Preferences|Appearance"
-msgstr ""
-
msgid "Preferences|Automatically add new list items"
msgstr ""
msgid "Preferences|Behavior"
msgstr ""
-msgid "Preferences|Choose the appearance of the application."
+msgid "Preferences|Choose a color mode."
+msgstr ""
+
+msgid "Preferences|Choose a color scheme for removed and added lines in diffs."
+msgstr ""
+
+msgid "Preferences|Choose a highlight color scheme for viewing and editing code."
msgstr ""
msgid "Preferences|Choose the default editor for writing content. You can switch editors temporarily when editing."
@@ -46507,9 +46513,6 @@ msgstr ""
msgid "Preferences|Choose the navigation theme."
msgstr ""
-msgid "Preferences|Choose the syntax highlighting theme used when viewing or editing code in GitLab."
-msgstr ""
-
msgid "Preferences|Choose what content you want to see by default on your homepage."
msgstr ""
@@ -46540,13 +46543,10 @@ msgstr ""
msgid "Preferences|Customize the behavior of the system layout and default views."
msgstr ""
-msgid "Preferences|Customize the colors of removed and added lines in diffs."
-msgstr ""
-
msgid "Preferences|Default text editor"
msgstr ""
-msgid "Preferences|Diff colors"
+msgid "Preferences|Diffs"
msgstr ""
msgid "Preferences|Enable %{link_start}Code Suggestions%{link_end} for the following groups.%{br_tag}Only groups that have purchased the Code Suggestion add-on and have available seats are listed here.%{br_tag} If you were expecting to see a group and it is missing from the list, please contact the group owner."
@@ -46603,10 +46603,13 @@ msgstr ""
msgid "Preferences|Layout width"
msgstr ""
+msgid "Preferences|Mode"
+msgstr ""
+
msgid "Preferences|Must be a number between %{min} and %{max}"
msgstr ""
-msgid "Preferences|Navigation theme"
+msgid "Preferences|Navigation"
msgstr ""
msgid "Preferences|Preview"
@@ -46633,7 +46636,7 @@ msgstr ""
msgid "Preferences|Surround text selection when typing quotes or brackets"
msgstr ""
-msgid "Preferences|Syntax highlighting theme"
+msgid "Preferences|Syntax highlights"
msgstr ""
msgid "Preferences|Tab width"
@@ -54698,6 +54701,9 @@ msgstr ""
msgid "Secrets|Are you sure you want to delete secret %{secretName}? This action cannot be undone, and the secret cannot be recovered."
msgstr ""
+msgid "Secrets|Are you sure you want to update secret %{secretName}? Saving these changes can cause disruptions, such as loss of access to connected services or failed deployments."
+msgstr ""
+
msgid "Secrets|Created"
msgstr ""
@@ -54707,7 +54713,7 @@ msgstr ""
msgid "Secrets|Delete secret"
msgstr ""
-msgid "Secrets|Edit %{id}"
+msgid "Secrets|Edit %{name}"
msgstr ""
msgid "Secrets|Enable the Secrets Manager to securely store and manage sensitive information for this project."
@@ -54752,6 +54758,9 @@ msgstr ""
msgid "Secrets|Secret %{secretName} has been deleted."
msgstr ""
+msgid "Secrets|Secret %{secretName} was successfully updated."
+msgstr ""
+
msgid "Secrets|Secret manager user permissions"
msgstr ""
@@ -70610,6 +70619,9 @@ msgstr ""
msgid "Workspaces|Connected"
msgstr ""
+msgid "Workspaces|Could not load agents. Refresh the page to try again."
+msgstr ""
+
msgid "Workspaces|Could not load available agents. Refresh the page to try again."
msgstr ""
@@ -74339,6 +74351,9 @@ msgstr[1] ""
msgid "repository:"
msgstr ""
+msgid "requirement"
+msgstr ""
+
msgid "rule"
msgid_plural "rules"
msgstr[0] ""
@@ -74553,6 +74568,9 @@ msgstr ""
msgid "this document"
msgstr ""
+msgid "ticket"
+msgstr ""
+
msgid "to"
msgstr ""
diff --git a/spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb b/spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb
index c0075f8c66b..a037ddc177f 100644
--- a/spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb
+++ b/spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb
@@ -65,9 +65,7 @@ RSpec.describe Groups::DependencyProxyForContainersController, feature_category:
let_it_be(:token) { create(:personal_access_token, user: user, scopes: [Gitlab::Auth::READ_API_SCOPE]) }
let_it_be(:jwt) { build_jwt(token) }
- context 'not under the group' do
- it { is_expected.to have_gitlab_http_status(:not_found) }
- end
+ it { is_expected.to have_gitlab_http_status(:not_found) }
context 'with sufficient scopes, but not active' do
%i[expired revoked].each do |status|
@@ -82,20 +80,6 @@ RSpec.describe Groups::DependencyProxyForContainersController, feature_category:
end
end
end
-
- context 'with insufficient scopes' do
- it { is_expected.to have_gitlab_http_status(:not_found) }
-
- # TODO: Cleanup code related to packages_dependency_proxy_containers_scope_check
- # https://gitlab.com/gitlab-org/gitlab/-/issues/520321
- context 'packages_dependency_proxy_containers_scope_check disabled' do
- before do
- stub_feature_flags(packages_dependency_proxy_containers_scope_check: false)
- end
-
- it { is_expected.to have_gitlab_http_status(:not_found) }
- end
- end
end
context 'with deploy token from a different group,' do
diff --git a/spec/db/schema_spec.rb b/spec/db/schema_spec.rb
index 1a710224bdb..20e199edaf2 100644
--- a/spec/db/schema_spec.rb
+++ b/spec/db/schema_spec.rb
@@ -79,7 +79,6 @@ RSpec.describe 'Database schema',
ci_pipeline_metadata: %w[partition_id],
ci_pipeline_schedule_variables: %w[project_id],
ci_pipelines_config: %w[partition_id project_id],
- ci_pipelines: %w[partition_id auto_canceled_by_partition_id project_id user_id merge_request_id trigger_id], # LFKs are defined on the routing table
ci_secure_file_states: %w[project_id],
ci_unit_test_failures: %w[project_id],
ci_resources: %w[project_id],
@@ -263,7 +262,6 @@ RSpec.describe 'Database schema',
let(:ignored_tables_with_too_many_indexes) do
{
approval_merge_request_rules: 17,
- ci_pipelines: 24,
ci_runners: 17,
deployments: 18,
epics: 19,
diff --git a/spec/factories/work_items/parent_links.rb b/spec/factories/work_items/parent_links.rb
index b0237771b74..8f907c6ea05 100644
--- a/spec/factories/work_items/parent_links.rb
+++ b/spec/factories/work_items/parent_links.rb
@@ -7,6 +7,19 @@ FactoryBot.define do
work_item_parent { nil }
end
+ trait :with_epic_issue do
+ after(:create) do |link, _evaluator|
+ issue = Issue.find(link.work_item_id)
+
+ create(:epic_issue,
+ epic: link.work_item_parent.synced_epic,
+ issue: issue,
+ work_item_parent_link: link,
+ relative_position: link.relative_position
+ )
+ end
+ end
+
after(:build) do |link, evaluator|
link.work_item = evaluator.work_item if evaluator.work_item
link.work_item_parent = evaluator.work_item_parent if evaluator.work_item_parent
diff --git a/spec/features/ide_spec.rb b/spec/features/ide_spec.rb
index 46d1ee96e12..8e6dfb63b0e 100644
--- a/spec/features/ide_spec.rb
+++ b/spec/features/ide_spec.rb
@@ -11,11 +11,6 @@ RSpec.describe 'IDE', :js, :with_current_organization, feature_category: :web_id
let(:user) { create(:user, organizations: [current_organization]) }
before do
- # TODO - We need to be able to handle requests to https://*.cdn.web-ide.gitlab-static.net
- # in order to support `web_ide_extensions_marketplace` in our feature specs.
- # https://gitlab.com/gitlab-org/gitlab/-/issues/478626
- stub_feature_flags(web_ide_extensions_marketplace: false)
-
project.add_maintainer(user)
sign_in(user)
end
diff --git a/spec/features/profiles/user_search_settings_spec.rb b/spec/features/profiles/user_search_settings_spec.rb
index af40a532c13..9944ad8f7d5 100644
--- a/spec/features/profiles/user_search_settings_spec.rb
+++ b/spec/features/profiles/user_search_settings_spec.rb
@@ -23,6 +23,6 @@ RSpec.describe 'User searches their settings', :js, feature_category: :user_prof
visit profile_preferences_path
end
- it_behaves_like 'can search settings', 'Syntax highlighting theme', 'Behavior'
+ it_behaves_like 'can search settings', 'Syntax highlights', 'Behavior'
end
end
diff --git a/spec/frontend/ci/runner/admin_runner_show/admin_runner_show_app_spec.js b/spec/frontend/ci/runner/admin_runner_show/admin_runner_show_app_spec.js
index 1ea2786afce..4105fc716f8 100644
--- a/spec/frontend/ci/runner/admin_runner_show/admin_runner_show_app_spec.js
+++ b/spec/frontend/ci/runner/admin_runner_show/admin_runner_show_app_spec.js
@@ -1,6 +1,6 @@
import { shallowMount } from '@vue/test-utils';
import AdminRunnerShowApp from '~/ci/runner/admin_runner_show/admin_runner_show_app.vue';
-import RunnerDetailsTabs from '~/ci/runner/components/runner_details_tabs.vue';
+import RunnerShow from '~/ci/runner/components/runner_show.vue';
const mockRunnerId = '1';
const mockRunnersPath = '/runners';
@@ -9,7 +9,7 @@ const mockEditPath = '/runners/1/edit';
describe('AdminRunnerShowApp', () => {
let wrapper;
- const findRunnerDetailsTabs = () => wrapper.findComponent(RunnerDetailsTabs);
+ const findRunnerShow = () => wrapper.findComponent(RunnerShow);
beforeEach(() => {
wrapper = shallowMount(AdminRunnerShowApp, {
@@ -22,7 +22,7 @@ describe('AdminRunnerShowApp', () => {
});
it('passes the correct props', () => {
- expect(findRunnerDetailsTabs().props()).toMatchObject({
+ expect(findRunnerShow().props()).toMatchObject({
runnerId: mockRunnerId,
runnersPath: mockRunnersPath,
editPath: mockEditPath,
diff --git a/spec/frontend/ci/runner/components/runner_details_tabs_spec.js b/spec/frontend/ci/runner/components/runner_show_spec.js
similarity index 97%
rename from spec/frontend/ci/runner/components/runner_details_tabs_spec.js
rename to spec/frontend/ci/runner/components/runner_show_spec.js
index b18149ff0f0..14590095313 100644
--- a/spec/frontend/ci/runner/components/runner_details_tabs_spec.js
+++ b/spec/frontend/ci/runner/components/runner_show_spec.js
@@ -21,7 +21,7 @@ import RunnerHeaderActions from '~/ci/runner/components/runner_header_actions.vu
import RunnerDetails from '~/ci/runner/components/runner_details.vue';
import RunnerJobs from '~/ci/runner/components/runner_jobs.vue';
-import RunnerDetailsTabs from '~/ci/runner/components/runner_details_tabs.vue';
+import RunnerShow from '~/ci/runner/components/runner_show.vue';
import { runnerData } from '../mock_data';
@@ -38,7 +38,7 @@ const mockRunnersPath = '/runners';
const mockEditPath = '/runners/1/edit';
const mockRunner = runnerData.data.runner;
-describe('RunnerDetailsTabs', () => {
+describe('RunnerShow', () => {
let wrapper;
let mockApollo;
let routerPush;
@@ -54,7 +54,7 @@ describe('RunnerDetailsTabs', () => {
const createComponent = ({ props = {}, mountFn = shallowMountExtended } = {}) => {
mockApollo = createMockApollo([[runnerQuery, runnerQueryHandler]]);
- wrapper = mountFn(RunnerDetailsTabs, {
+ wrapper = mountFn(RunnerShow, {
apolloProvider: mockApollo,
propsData: {
runnerId: mockRunnerId,
@@ -121,7 +121,7 @@ describe('RunnerDetailsTabs', () => {
});
expect(captureException).toHaveBeenCalledWith({
error,
- component: 'RunnerDetailsTabs',
+ component: 'RunnerShow',
});
});
diff --git a/spec/frontend/ci/runner/group_runner_show/group_runner_show_app_spec.js b/spec/frontend/ci/runner/group_runner_show/group_runner_show_app_spec.js
index ca810986202..d52829d9eb8 100644
--- a/spec/frontend/ci/runner/group_runner_show/group_runner_show_app_spec.js
+++ b/spec/frontend/ci/runner/group_runner_show/group_runner_show_app_spec.js
@@ -1,6 +1,6 @@
import { shallowMount } from '@vue/test-utils';
import GroupRunnerShowApp from '~/ci/runner/group_runner_show/group_runner_show_app.vue';
-import RunnerDetailsTabs from '~/ci/runner/components/runner_details_tabs.vue';
+import RunnerShow from '~/ci/runner/components/runner_show.vue';
const mockRunnerId = '1';
const mockRunnersPath = '/runners';
@@ -9,7 +9,7 @@ const mockEditPath = '/runners/1/edit';
describe('GroupRunnerShowApp', () => {
let wrapper;
- const findRunnerDetailsTabs = () => wrapper.findComponent(RunnerDetailsTabs);
+ const findRunnerShow = () => wrapper.findComponent(RunnerShow);
beforeEach(() => {
wrapper = shallowMount(GroupRunnerShowApp, {
@@ -22,7 +22,7 @@ describe('GroupRunnerShowApp', () => {
});
it('passes the correct props', () => {
- expect(findRunnerDetailsTabs().props()).toEqual({
+ expect(findRunnerShow().props()).toEqual({
runnerId: mockRunnerId,
runnersPath: mockRunnersPath,
editPath: mockEditPath,
diff --git a/spec/frontend/ci/runner/project_runner_show/project_runner_show_app_spec.js b/spec/frontend/ci/runner/project_runner_show/project_runner_show_app_spec.js
index cd295457b30..12c5ce463ef 100644
--- a/spec/frontend/ci/runner/project_runner_show/project_runner_show_app_spec.js
+++ b/spec/frontend/ci/runner/project_runner_show/project_runner_show_app_spec.js
@@ -1,6 +1,6 @@
import { shallowMount } from '@vue/test-utils';
import ProjectRunnerShowApp from '~/ci/runner/project_runner_show/project_runner_show_app.vue';
-import RunnerDetailsTabs from '~/ci/runner/components/runner_details_tabs.vue';
+import RunnerShow from '~/ci/runner/components/runner_show.vue';
const mockRunnerId = '1';
const mockRunnersPath = '/runners';
@@ -9,7 +9,7 @@ const mockEditPath = '/runners/1/edit';
describe('ProjectRunnerShowApp', () => {
let wrapper;
- const findRunnerDetailsTabs = () => wrapper.findComponent(RunnerDetailsTabs);
+ const findRunnerShow = () => wrapper.findComponent(RunnerShow);
beforeEach(() => {
wrapper = shallowMount(ProjectRunnerShowApp, {
@@ -22,7 +22,7 @@ describe('ProjectRunnerShowApp', () => {
});
it('passes the correct props', () => {
- expect(findRunnerDetailsTabs().props()).toEqual({
+ expect(findRunnerShow().props()).toEqual({
runnerId: mockRunnerId,
runnersPath: mockRunnersPath,
editPath: mockEditPath,
diff --git a/spec/frontend/sidebar/components/time_tracking/create_timelog_form_spec.js b/spec/frontend/sidebar/components/time_tracking/create_timelog_form_spec.js
index bc28dc4c966..2c249b0f44e 100644
--- a/spec/frontend/sidebar/components/time_tracking/create_timelog_form_spec.js
+++ b/spec/frontend/sidebar/components/time_tracking/create_timelog_form_spec.js
@@ -13,6 +13,27 @@ import { TYPENAME_ISSUE, TYPENAME_MERGE_REQUEST } from '~/graphql_shared/constan
import updateWorkItemMutation from '~/work_items/graphql/update_work_item.mutation.graphql';
import { updateWorkItemMutationResponse } from 'jest/work_items/mock_data';
+import {
+ WORK_ITEM_TYPE_NAME_EPIC,
+ WORK_ITEM_TYPE_NAME_INCIDENT,
+ WORK_ITEM_TYPE_NAME_ISSUE,
+ WORK_ITEM_TYPE_NAME_KEY_RESULT,
+ WORK_ITEM_TYPE_NAME_OBJECTIVE,
+ WORK_ITEM_TYPE_NAME_REQUIREMENTS,
+ WORK_ITEM_TYPE_NAME_TASK,
+ WORK_ITEM_TYPE_NAME_TEST_CASE,
+ WORK_ITEM_TYPE_NAME_TICKET,
+} from '~/work_items/constants';
+
+import {
+ TYPE_ISSUE,
+ TYPE_EPIC,
+ TYPE_MERGE_REQUEST,
+ TYPE_ALERT,
+ TYPE_INCIDENT,
+ TYPE_TEST_CASE,
+} from '~/issues/constants';
+
const mockMutationErrorMessage = 'Example error message';
const resolvedMutationWithoutErrorsMock = jest.fn().mockResolvedValue({
@@ -258,6 +279,51 @@ describe('Create Timelog Form', () => {
});
});
+ describe('when type is coming from legacy issues type', () => {
+ it.each`
+ type | typeDescription
+ ${TYPE_ISSUE} | ${'issue'}
+ ${TYPE_EPIC} | ${'epic'}
+ ${TYPE_MERGE_REQUEST} | ${'merge request'}
+ ${TYPE_ALERT} | ${'alert'}
+ ${TYPE_INCIDENT} | ${'incident'}
+ ${TYPE_TEST_CASE} | ${'test case'}
+ `('the description mentions the correct issuable type', ({ type, typeDescription }) => {
+ mountComponent({
+ providedProps: { issuableType: type },
+ });
+
+ expect(wrapper.text()).toContain(`Track time spent on this ${typeDescription}.`);
+ });
+ });
+
+ describe('when type is coming from workItemType', () => {
+ it.each`
+ type | typeDescription
+ ${TYPE_ISSUE} | ${'issue'}
+ ${TYPE_EPIC} | ${'epic'}
+ ${TYPE_ALERT} | ${'alert'}
+ ${TYPE_INCIDENT} | ${'incident'}
+ ${TYPE_TEST_CASE} | ${'test case'}
+ ${WORK_ITEM_TYPE_NAME_EPIC} | ${'epic'}
+ ${WORK_ITEM_TYPE_NAME_INCIDENT} | ${'incident'}
+ ${WORK_ITEM_TYPE_NAME_ISSUE} | ${'issue'}
+ ${WORK_ITEM_TYPE_NAME_KEY_RESULT} | ${'key result'}
+ ${WORK_ITEM_TYPE_NAME_OBJECTIVE} | ${'objective'}
+ ${WORK_ITEM_TYPE_NAME_REQUIREMENTS} | ${'requirement'}
+ ${WORK_ITEM_TYPE_NAME_TASK} | ${'task'}
+ ${WORK_ITEM_TYPE_NAME_TEST_CASE} | ${'test case'}
+ ${WORK_ITEM_TYPE_NAME_TICKET} | ${'ticket'}
+ `('the description mentions the correct work item type', ({ type, typeDescription }) => {
+ mountComponent({
+ props: { workItemId: 'gid://gitlab/WorkItem/1', workItemType: type },
+ providedProps: { issuableType: null },
+ });
+
+ expect(wrapper.text()).toContain(`Track time spent on this ${typeDescription}.`);
+ });
+ });
+
describe('with work item task', () => {
beforeEach(() => {
mountComponent({
@@ -266,10 +332,6 @@ describe('Create Timelog Form', () => {
});
});
- it('mentions the correct work item type', () => {
- expect(wrapper.text()).toContain('Track time spent on this task.');
- });
-
it('calls mutation to update work item when adding time entry when to spent at is not provided', async () => {
findGlFormInput().vm.$emit('input', '2d');
submitForm();
diff --git a/spec/frontend/sidebar/components/time_tracking/set_time_estimate_form_spec.js b/spec/frontend/sidebar/components/time_tracking/set_time_estimate_form_spec.js
index cb21a83da94..388bcb37759 100644
--- a/spec/frontend/sidebar/components/time_tracking/set_time_estimate_form_spec.js
+++ b/spec/frontend/sidebar/components/time_tracking/set_time_estimate_form_spec.js
@@ -12,6 +12,27 @@ import issueSetTimeEstimateMutation from '~/sidebar/queries/issue_set_time_estim
import updateWorkItemMutation from '~/work_items/graphql/update_work_item.mutation.graphql';
import { updateWorkItemMutationResponse } from 'jest/work_items/mock_data';
+import {
+ WORK_ITEM_TYPE_NAME_EPIC,
+ WORK_ITEM_TYPE_NAME_INCIDENT,
+ WORK_ITEM_TYPE_NAME_ISSUE,
+ WORK_ITEM_TYPE_NAME_KEY_RESULT,
+ WORK_ITEM_TYPE_NAME_OBJECTIVE,
+ WORK_ITEM_TYPE_NAME_REQUIREMENTS,
+ WORK_ITEM_TYPE_NAME_TASK,
+ WORK_ITEM_TYPE_NAME_TEST_CASE,
+ WORK_ITEM_TYPE_NAME_TICKET,
+} from '~/work_items/constants';
+
+import {
+ TYPE_ISSUE,
+ TYPE_EPIC,
+ TYPE_MERGE_REQUEST,
+ TYPE_ALERT,
+ TYPE_INCIDENT,
+ TYPE_TEST_CASE,
+} from '~/issues/constants';
+
const mockProjectFullPath = 'group/project';
const mockMutationErrorMessage = setIssueTimeEstimateWithErrors.errors[0].message;
const mockIssuableIid = '1';
@@ -420,6 +441,51 @@ describe('Set Time Estimate Form', () => {
});
});
+ describe('when type is coming from legacy issues type', () => {
+ it.each`
+ type | typeDescription
+ ${TYPE_ISSUE} | ${'issue'}
+ ${TYPE_EPIC} | ${'epic'}
+ ${TYPE_MERGE_REQUEST} | ${'merge request'}
+ ${TYPE_ALERT} | ${'alert'}
+ ${TYPE_INCIDENT} | ${'incident'}
+ ${TYPE_TEST_CASE} | ${'test case'}
+ `('the description mentions the correct issuable type', ({ type, typeDescription }) => {
+ mountComponent({
+ providedProps: { issuableType: type },
+ });
+
+ expect(wrapper.text()).toContain(`Set estimated time to complete this ${typeDescription}.`);
+ });
+ });
+
+ describe('when type is coming from workItemType', () => {
+ it.each`
+ type | typeDescription
+ ${TYPE_ISSUE} | ${'issue'}
+ ${TYPE_EPIC} | ${'epic'}
+ ${TYPE_ALERT} | ${'alert'}
+ ${TYPE_INCIDENT} | ${'incident'}
+ ${TYPE_TEST_CASE} | ${'test case'}
+ ${WORK_ITEM_TYPE_NAME_EPIC} | ${'epic'}
+ ${WORK_ITEM_TYPE_NAME_INCIDENT} | ${'incident'}
+ ${WORK_ITEM_TYPE_NAME_ISSUE} | ${'issue'}
+ ${WORK_ITEM_TYPE_NAME_KEY_RESULT} | ${'key result'}
+ ${WORK_ITEM_TYPE_NAME_OBJECTIVE} | ${'objective'}
+ ${WORK_ITEM_TYPE_NAME_REQUIREMENTS} | ${'requirement'}
+ ${WORK_ITEM_TYPE_NAME_TASK} | ${'task'}
+ ${WORK_ITEM_TYPE_NAME_TEST_CASE} | ${'test case'}
+ ${WORK_ITEM_TYPE_NAME_TICKET} | ${'ticket'}
+ `('the description mentions the correct work item type', ({ type, typeDescription }) => {
+ mountComponent({
+ props: { workItemId: 'gid://gitlab/WorkItem/1', workItemType: type },
+ providedProps: { issuableType: null },
+ });
+
+ expect(wrapper.text()).toContain(`Set estimated time to complete this ${typeDescription}.`);
+ });
+ });
+
describe('docs link message', () => {
it('is present', async () => {
await mountComponent();
@@ -437,10 +503,6 @@ describe('Set Time Estimate Form', () => {
});
});
- it('mentions the correct work item type', () => {
- expect(wrapper.text()).toContain('Set estimated time to complete this task.');
- });
-
it('calls mutation to update work item when setting estimate', async () => {
findGlFormInput().vm.$emit('input', '2d');
triggerSave();
diff --git a/spec/helpers/application_settings_helper_spec.rb b/spec/helpers/application_settings_helper_spec.rb
index 5833a674e81..8849601ef17 100644
--- a/spec/helpers/application_settings_helper_spec.rb
+++ b/spec/helpers/application_settings_helper_spec.rb
@@ -480,33 +480,21 @@ RSpec.describe ApplicationSettingsHelper, feature_category: :shared do
let(:vscode_extension_marketplace) { { "enabled" => false } }
before do
- stub_feature_flags(vscode_extension_marketplace_settings: feature_flag)
-
application_setting.vscode_extension_marketplace = vscode_extension_marketplace
helper.instance_variable_set(:@application_setting, application_setting)
end
- context 'with flag on' do
- it 'returns hash of view properties' do
- expect(helper.vscode_extension_marketplace_settings_view).to match({
- title: _('VS Code Extension Marketplace'),
- description: _('Enable VS Code Extension Marketplace and configure the extensions registry for Web IDE.'),
- view_model: {
- initialSettings: vscode_extension_marketplace,
- presets: [
- hash_including("key" => "open_vsx")
- ]
- }
- })
- end
- end
-
- context 'with flag off' do
- let(:feature_flag) { false }
-
- it 'returns nil' do
- expect(helper.vscode_extension_marketplace_settings_view).to be_nil
- end
+ it 'returns hash of view properties' do
+ expect(helper.vscode_extension_marketplace_settings_view).to match({
+ title: _('VS Code Extension Marketplace'),
+ description: _('Enable VS Code Extension Marketplace and configure the extensions registry for Web IDE.'),
+ view_model: {
+ initialSettings: vscode_extension_marketplace,
+ presets: [
+ hash_including("key" => "open_vsx")
+ ]
+ }
+ })
end
end
end
diff --git a/spec/helpers/preferences_helper_spec.rb b/spec/helpers/preferences_helper_spec.rb
index acc24554db9..613afcef5ed 100644
--- a/spec/helpers/preferences_helper_spec.rb
+++ b/spec/helpers/preferences_helper_spec.rb
@@ -269,11 +269,6 @@ RSpec.describe PreferencesHelper, feature_category: :shared do
context 'when Web IDE Extension Marketplace feature is enabled' do
before do
allow(::WebIde::ExtensionMarketplace).to receive(:feature_enabled_from_application_settings?)
- .with(user: user)
- .and_return(true)
-
- allow(::WebIde::ExtensionMarketplace).to receive(:feature_enabled?)
- .with(user: user)
.and_return(true)
end
diff --git a/spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb b/spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb
index 0db2893227a..6dfdd4ecbbc 100644
--- a/spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb
+++ b/spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb
@@ -7,19 +7,20 @@ RSpec.describe BulkImports::Groups::Pipelines::GroupPipeline, feature_category:
let_it_be(:user) { create(:user) }
let_it_be(:parent) { create(:group) }
let_it_be(:bulk_import) { create(:bulk_import, user: user) }
+ let_it_be(:destination_slug) { 'my-destination-group' }
- let_it_be(:entity) do
+ let_it_be_with_reload(:entity) do
create(
:bulk_import_entity,
bulk_import: bulk_import,
source_full_path: 'source/full/path',
- destination_slug: 'my-destination-group',
+ destination_slug: destination_slug,
destination_namespace: parent.full_path
)
end
- let_it_be(:tracker) { create(:bulk_import_tracker, entity: entity) }
- let_it_be(:context) { BulkImports::Pipeline::Context.new(tracker) }
+ let_it_be_with_reload(:tracker) { create(:bulk_import_tracker, entity: entity) }
+ let(:context) { BulkImports::Pipeline::Context.new(tracker) }
let(:group_data) do
{
@@ -48,15 +49,13 @@ RSpec.describe BulkImports::Groups::Pipelines::GroupPipeline, feature_category:
end
it 'imports new group into destination group' do
- group_path = 'my-destination-group'
-
subject.run
- imported_group = Group.find_by_path(group_path)
+ imported_group = Group.find_by_path(destination_slug)
expect(imported_group).not_to be_nil
expect(imported_group.parent).to eq(parent)
- expect(imported_group.path).to eq(group_path)
+ expect(imported_group.path).to eq(destination_slug)
expect(imported_group.description).to eq(group_data['description'])
expect(imported_group.visibility).to eq(group_data['visibility'])
expect(imported_group.project_creation_level).to eq(Gitlab::Access.project_creation_string_options[group_data['project_creation_level']])
@@ -66,10 +65,23 @@ RSpec.describe BulkImports::Groups::Pipelines::GroupPipeline, feature_category:
expect(imported_group.mentions_disabled?).to eq(group_data['mentions_disabled'])
end
- it 'skips duplicates on pipeline rerun', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/509519' do
+ it 'skips duplicates on pipeline rerun' do
expect { subject.run }.to change { Group.count }.by(1)
expect { subject.run }.not_to change { Group.count }
end
+
+ it 'does not send an email to owner on group creation' do
+ group_data['emails_disabled'] = false
+ allow(Notify).to receive(:member_access_granted_email).and_call_original
+
+ subject.run
+
+ imported_group_owner = Group.find_by_path(destination_slug).all_owner_members.first
+
+ expect(Notify)
+ .not_to have_received(:member_access_granted_email)
+ .with(imported_group_owner.real_source_type, imported_group_owner.id)
+ end
end
describe 'pipeline parts' do
diff --git a/spec/lib/bulk_imports/groups/transformers/group_attributes_transformer_spec.rb b/spec/lib/bulk_imports/groups/transformers/group_attributes_transformer_spec.rb
index 44e3819e74c..a1b07bd54b4 100644
--- a/spec/lib/bulk_imports/groups/transformers/group_attributes_transformer_spec.rb
+++ b/spec/lib/bulk_imports/groups/transformers/group_attributes_transformer_spec.rb
@@ -57,7 +57,8 @@ RSpec.describe BulkImports::Groups::Transformers::GroupAttributesTransformer, fe
'share_with_group_lock' => false,
'require_two_factor_authentication' => false,
'two_factor_grace_period' => 100,
- 'request_access_enabled' => false
+ 'request_access_enabled' => false,
+ 'importing' => true
})
end
@@ -80,7 +81,8 @@ RSpec.describe BulkImports::Groups::Transformers::GroupAttributesTransformer, fe
'share_with_group_lock' => nil,
'emails_enabled' => true,
'lfs_enabled' => nil,
- 'mentions_disabled' => nil
+ 'mentions_disabled' => nil,
+ 'importing' => true
})
end
end
diff --git a/spec/lib/gitlab/background_migration/backfill_upstream_pipeline_partition_id_on_p_ci_builds_spec.rb b/spec/lib/gitlab/background_migration/backfill_upstream_pipeline_partition_id_on_p_ci_builds_spec.rb
deleted file mode 100644
index c1b313dc720..00000000000
--- a/spec/lib/gitlab/background_migration/backfill_upstream_pipeline_partition_id_on_p_ci_builds_spec.rb
+++ /dev/null
@@ -1,63 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Gitlab::BackgroundMigration::BackfillUpstreamPipelinePartitionIdOnPCiBuilds,
- :suppress_partitioning_routing_analyzer,
- feature_category: :continuous_integration do
- let(:pipelines_table) { table(:ci_pipelines, primary_key: :id, database: :ci) }
-
- let(:jobs_table) { partitioned_table(:p_ci_builds, database: :ci) }
-
- let!(:pipeline_1) { pipelines_table.create!(id: 1, partition_id: 100, project_id: 1) }
- let!(:pipeline_2) { pipelines_table.create!(id: 2, partition_id: 100, project_id: 1) }
- let!(:pipeline_3) { pipelines_table.create!(id: 3, partition_id: 100, project_id: 1) }
-
- let!(:job_1) { jobs_table.create!(commit_id: pipeline_1.id, partition_id: pipeline_1.partition_id, project_id: 1) }
- let!(:job_2) { jobs_table.create!(commit_id: pipeline_2.id, partition_id: pipeline_2.partition_id, project_id: 1) }
- let!(:job_3) { jobs_table.create!(commit_id: pipeline_2.id, partition_id: pipeline_2.partition_id, project_id: 1) }
-
- let(:migration_attrs) do
- {
- start_id: jobs_table.minimum(:upstream_pipeline_id),
- end_id: jobs_table.maximum(:upstream_pipeline_id),
- batch_table: :p_ci_builds,
- batch_column: :upstream_pipeline_id,
- sub_batch_size: 2,
- pause_ms: 0,
- connection: connection
- }
- end
-
- let!(:migration) { described_class.new(**migration_attrs) }
- let(:connection) { Ci::ApplicationRecord.connection }
-
- around do |example|
- connection.transaction do
- connection.execute(<<~SQL)
- ALTER TABLE ci_pipelines DISABLE TRIGGER ALL;
- SQL
-
- example.run
-
- connection.execute(<<~SQL)
- ALTER TABLE ci_pipelines ENABLE TRIGGER ALL;
- SQL
- end
- end
-
- describe '#perform' do
- before do
- job_2.update!(upstream_pipeline_id: pipeline_1.id)
- job_3.update!(upstream_pipeline_id: pipeline_3.id)
- pipeline_3.update!(partition_id: 101)
- end
-
- it 'backfills upstream_pipeline_partition_id' do
- expect { migration.perform }
- .to not_change { job_1.reload.upstream_pipeline_partition_id }
- .and change { job_2.reload.upstream_pipeline_partition_id }.from(nil).to(100)
- .and change { job_3.reload.upstream_pipeline_partition_id }.from(nil).to(101)
- end
- end
-end
diff --git a/spec/lib/gitlab/database/decomposition/migrate_spec.rb b/spec/lib/gitlab/database/decomposition/migrate_spec.rb
index a095e2ef413..af5e89ab6b6 100644
--- a/spec/lib/gitlab/database/decomposition/migrate_spec.rb
+++ b/spec/lib/gitlab/database/decomposition/migrate_spec.rb
@@ -104,7 +104,7 @@ RSpec.describe Gitlab::Database::Decomposition::Migrate, :delete, query_analyzer
process
ci_milestones = ci_connection.execute("SELECT COUNT(*) FROM milestones").getvalue(0, 0)
- ci_pipelines = ci_connection.execute("SELECT COUNT(*) FROM ci_pipelines").getvalue(0, 0)
+ ci_pipelines = ci_connection.execute("SELECT COUNT(*) FROM p_ci_pipelines").getvalue(0, 0)
expect(ci_milestones).to be(Milestone.count)
expect(ci_pipelines).to be(Ci::Pipeline.count)
diff --git a/spec/lib/gitlab/database/dictionary_spec.rb b/spec/lib/gitlab/database/dictionary_spec.rb
index 08b88d68fd7..34da4af5b42 100644
--- a/spec/lib/gitlab/database/dictionary_spec.rb
+++ b/spec/lib/gitlab/database/dictionary_spec.rb
@@ -81,7 +81,7 @@ RSpec.describe Gitlab::Database::Dictionary, feature_category: :database do
describe '.any_entry' do
it 'loads an entry from any scope' do
- expect(described_class.any_entry('ci_pipelines')).to be_present # Regular table
+ expect(described_class.any_entry('p_ci_pipelines')).to be_present # Regular table
expect(described_class.any_entry('audit_events_archived')).to be_present # Deleted table
expect(described_class.any_entry('postgres_constraints')).to be_present # View
expect(described_class.any_entry('not_a_table_ever')).to be_nil
@@ -90,7 +90,7 @@ RSpec.describe Gitlab::Database::Dictionary, feature_category: :database do
describe '.entry' do
it 'loads an Entry from the given scope' do
- expect(described_class.entry('ci_pipelines')).to be_present # Regular table
+ expect(described_class.entry('p_ci_pipelines')).to be_present # Regular table
expect(described_class.entry('audit_events_archived')).not_to be_present # Deleted table
expect(described_class.entry('postgres_constraints')).not_to be_present # Deleted table
expect(described_class.entry('audit_events_archived', 'deleted_tables')).to be_present # Deleted table
@@ -182,11 +182,11 @@ RSpec.describe Gitlab::Database::Dictionary, feature_category: :database do
end
describe '#desired_sharding_key_migration_job_name' do
- let(:file_path) { 'db/docs/work_item_progresses.yml' }
+ let(:file_path) { 'db/docs/issue_assignees.yml' }
it 'returns the name of the migration that backfills the desired sharding key' do
expect(database_dictionary.desired_sharding_key_migration_job_name)
- .to eq('BackfillWorkItemProgressesNamespaceId')
+ .to eq('BackfillIssueAssigneesNamespaceId')
end
end
diff --git a/spec/lib/web_ide/extension_marketplace_spec.rb b/spec/lib/web_ide/extension_marketplace_spec.rb
index 19f69a3926b..e7ca71cad80 100644
--- a/spec/lib/web_ide/extension_marketplace_spec.rb
+++ b/spec/lib/web_ide/extension_marketplace_spec.rb
@@ -24,54 +24,20 @@ RSpec.describe WebIde::ExtensionMarketplace, feature_category: :web_ide do
let_it_be_with_reload(:current_user) { create(:user) }
- describe 'feature enabled methods' do
- where(:web_ide_extensions_marketplace, :vscode_extension_marketplace_settings, :app_setting,
- :expectation) do
- ref(:current_user) | false | {} | true
- ref(:current_user) | true | {} | false
- ref(:current_user) | true | { enabled: true } | true
- false | false | { enabled: true } | false
- end
-
- with_them do
- before do
- stub_feature_flags(
- web_ide_extensions_marketplace: web_ide_extensions_marketplace,
- vscode_extension_marketplace_settings: vscode_extension_marketplace_settings
- )
-
- stub_application_setting(vscode_extension_marketplace: app_setting)
- end
-
- describe '#feature_enabled?' do
- it { expect(described_class.feature_enabled?(user: current_user)).to be(expectation) }
- end
-
- describe '#feature_enabled_for_any_user?' do
- it { expect(described_class.feature_enabled_for_any_user?).to be(expectation) }
- end
- end
- end
-
describe '#feature_enabled_from_application_settings?' do
- where(:vscode_extension_marketplace_settings, :app_setting, :user_arg, :expectation) do
- false | {} | ref(:current_user) | true
- false | { enabled: true } | ref(:current_user) | true
- false | { enabled: true } | nil | true
- ref(:current_user) | { enabled: true } | nil | true
- ref(:current_user) | { enabled: true } | ref(:current_user) | true
- ref(:current_user) | {} | ref(:current_user) | false
- ref(:current_user) | { enabled: false } | ref(:current_user) | false
+ where(:app_setting, :expectation) do
+ { enabled: true } | true
+ { enabled: false } | false
+ {} | false
end
subject(:enabled) do
- described_class.feature_enabled_from_application_settings?(user: user_arg)
+ described_class.feature_enabled_from_application_settings?
end
with_them do
before do
- stub_feature_flags(vscode_extension_marketplace_settings: vscode_extension_marketplace_settings)
- stub_application_setting(vscode_extension_marketplace: app_setting)
+ Gitlab::CurrentSettings.update!(vscode_extension_marketplace: app_setting)
end
it { is_expected.to be(expectation) }
@@ -79,11 +45,10 @@ RSpec.describe WebIde::ExtensionMarketplace, feature_category: :web_ide do
end
describe '#marketplace_home_url' do
- where(:vscode_extension_marketplace_settings, :app_setting, :expectation) do
- false | {} | "https://open-vsx.org"
- true | {} | "https://open-vsx.org"
- true | ref(:custom_app_setting) | "https://example.com:8444"
- true | ref(:open_vsx_app_setting) | "https://open-vsx.org"
+ where(:app_setting, :expectation) do
+ {} | "https://open-vsx.org"
+ ref(:open_vsx_app_setting) | "https://open-vsx.org"
+ ref(:custom_app_setting) | "https://example.com:8444"
end
subject(:marketplace_home_url) do
@@ -92,8 +57,7 @@ RSpec.describe WebIde::ExtensionMarketplace, feature_category: :web_ide do
with_them do
before do
- stub_feature_flags(vscode_extension_marketplace_settings: vscode_extension_marketplace_settings)
- stub_application_setting(vscode_extension_marketplace: app_setting)
+ Gitlab::CurrentSettings.update!(vscode_extension_marketplace: app_setting)
end
it { is_expected.to eq(expectation) }
@@ -107,30 +71,21 @@ RSpec.describe WebIde::ExtensionMarketplace, feature_category: :web_ide do
end
describe '#webide_extension_marketplace_settings' do
- # rubocop:disable Layout/LineLength -- last parameter extens past line but is preferable to rubocop's suggestion
- where(:web_ide_extensions_marketplace, :vscode_extension_marketplace_settings, :app_setting, :opt_in_status, :opt_in_url, :expectation) do
- # web_ide_extensions_marketplace | vscode_extension_marketplace_settings | app_setting | opt_in_status | opt_in_url | expectation
- true | false | {} | :enabled | nil | lazy { { enabled: true, vscode_settings: ::WebIde::ExtensionMarketplacePreset.open_vsx.values } }
- true | false | {} | :unset | nil | lazy { { enabled: false, reason: :opt_in_unset, help_url: /#{help_url}/, user_preferences_url: /#{user_preferences_url}/ } }
- true | false | {} | :disabled | nil | lazy { { enabled: false, reason: :opt_in_disabled, help_url: /#{help_url}/, user_preferences_url: /#{user_preferences_url}/ } }
- false | false | {} | :enabled | nil | lazy { { enabled: false, reason: :instance_disabled, help_url: /#{help_url}/ } }
- true | true | {} | :enabled | nil | lazy { { enabled: false, reason: :instance_disabled, help_url: /#{help_url}/ } }
- true | true | { enabled: false } | :enabled | nil | lazy { { enabled: false, reason: :instance_disabled, help_url: /#{help_url}/ } }
- true | true | ref(:custom_app_setting) | :enabled | nil | lazy { { enabled: false, reason: :opt_in_unset, help_url: /#{help_url}/, user_preferences_url: /#{user_preferences_url}/ } }
- true | true | ref(:custom_app_setting) | :enabled | ref(:custom_home_url) | lazy { { enabled: true, vscode_settings: custom_app_setting[:custom_values] } }
- true | true | ref(:open_vsx_app_setting) | :enabled | nil | lazy { { enabled: true, vscode_settings: ::WebIde::ExtensionMarketplacePreset.open_vsx.values } }
+ # rubocop:disable Layout/LineLength -- last parameter extends past line but is preferable to rubocop's suggestion
+ where(:app_setting, :opt_in_status, :opt_in_url, :expectation) do
+ # app_setting | opt_in_status | opt_in_url | expectation
+ {} | :enabled | nil | lazy { { enabled: false, reason: :instance_disabled, help_url: /#{help_url}/ } }
+ { enabled: false } | :enabled | nil | lazy { { enabled: false, reason: :instance_disabled, help_url: /#{help_url}/ } }
+ ref(:custom_app_setting) | :enabled | nil | lazy { { enabled: false, reason: :opt_in_unset, help_url: /#{help_url}/, user_preferences_url: /#{user_preferences_url}/ } }
+ ref(:custom_app_setting) | :enabled | ref(:custom_home_url) | lazy { { enabled: true, vscode_settings: custom_app_setting[:custom_values] } }
+ ref(:open_vsx_app_setting) | :enabled | nil | lazy { { enabled: true, vscode_settings: ::WebIde::ExtensionMarketplacePreset.open_vsx.values } }
end
# rubocop:enable Layout/LineLength
subject(:webide_settings) { described_class.webide_extension_marketplace_settings(user: current_user) }
before do
- stub_feature_flags(
- vscode_extension_marketplace_settings: vscode_extension_marketplace_settings,
- web_ide_extensions_marketplace: web_ide_extensions_marketplace
- )
-
- stub_application_setting(vscode_extension_marketplace: app_setting)
+ Gitlab::CurrentSettings.update!(vscode_extension_marketplace: app_setting)
current_user.update!(
extensions_marketplace_opt_in_status: opt_in_status,
diff --git a/spec/lib/web_ide/settings/extension_marketplace_generator_spec.rb b/spec/lib/web_ide/settings/extension_marketplace_generator_spec.rb
index 89140020496..faaf72504a0 100644
--- a/spec/lib/web_ide/settings/extension_marketplace_generator_spec.rb
+++ b/spec/lib/web_ide/settings/extension_marketplace_generator_spec.rb
@@ -41,18 +41,16 @@ RSpec.describe WebIde::Settings::ExtensionMarketplaceGenerator, feature_category
subject(:result) { described_class.generate(context)[:settings][:vscode_extension_marketplace] }
before do
- allow(Feature).to receive(:enabled?).with(:vscode_extension_marketplace_settings, user).and_return(settings_flag)
- allow(Gitlab::CurrentSettings).to receive(:vscode_extension_marketplace).and_return(app_setting)
+ allow(Gitlab::CurrentSettings).to receive(:method_missing).and_return(app_setting)
end
describe 'default (with setting requested)' do
- where(:settings_flag, :app_setting, :expectation) do
- false | {} | ::WebIde::ExtensionMarketplacePreset.open_vsx.values
- true | {} | ::WebIde::ExtensionMarketplacePreset.open_vsx.values
- true | { "preset" => 'open_vsx' } | ::WebIde::ExtensionMarketplacePreset.open_vsx.values
- true | ref(:custom_app_settings) | { item_url: "abc", service_url: "def", resource_url_template: "ghi" }
+ where(:app_setting, :expectation) do
+ {} | ::WebIde::ExtensionMarketplacePreset.open_vsx.values
+ { "preset" => 'open_vsx' } | ::WebIde::ExtensionMarketplacePreset.open_vsx.values
+ ref(:custom_app_settings) | { item_url: "abc", service_url: "def", resource_url_template: "ghi" }
# This should never happen, but lets test it anyways
- true | { "preset" => 'DNE' } | nil
+ { "preset" => 'DNE' } | nil
end
with_them do
diff --git a/spec/lib/web_ide/settings/extension_marketplace_metadata_generator_spec.rb b/spec/lib/web_ide/settings/extension_marketplace_metadata_generator_spec.rb
index aae02ae3f6f..0c9ce448760 100644
--- a/spec/lib/web_ide/settings/extension_marketplace_metadata_generator_spec.rb
+++ b/spec/lib/web_ide/settings/extension_marketplace_metadata_generator_spec.rb
@@ -46,26 +46,17 @@ RSpec.describe WebIde::Settings::ExtensionMarketplaceMetadataGenerator, feature_
where(
:user_exists,
:opt_in_status,
- :flag_exists,
- :flag_enabled,
:app_settings_enabled,
:expected_vscode_extension_marketplace_metadata
) do
# @formatter:off - Turn off RubyMine autoformatting
-
- # rubocop:disable Layout/LineLength -- Parameterized rows overflow and its better than the alternative
- # user exists | opt_in_status | flag exists | flag_enabled | app_settings_enabled | expected_settings
- false | :undefined | false | :undefined | true | { enabled: false, disabled_reason: :no_user }
- false | :undefined | true | true | true | { enabled: false, disabled_reason: :no_user }
- true | :unset | false | :undefined | true | { enabled: false, disabled_reason: :no_flag }
- true | :unset | true | false | true | { enabled: false, disabled_reason: :instance_disabled }
- true | :unset | true | true | true | { enabled: false, disabled_reason: :opt_in_unset }
- true | :disabled | true | true | true | { enabled: false, disabled_reason: :opt_in_disabled }
- true | :enabled | true | true | false | { enabled: false, disabled_reason: :instance_disabled }
- true | :enabled | true | true | true | { enabled: true }
- true | :invalid | true | true | true | RuntimeError
- # rubocop:enable Layout/LineLength
-
+ # user exists | opt_in_status | app_settings_enabled | expected_settings
+ false | :undefined | true | { enabled: false, disabled_reason: :no_user }
+ true | :unset | true | { enabled: false, disabled_reason: :opt_in_unset }
+ true | :disabled | true | { enabled: false, disabled_reason: :opt_in_disabled }
+ true | :enabled | false | { enabled: false, disabled_reason: :instance_disabled }
+ true | :enabled | true | { enabled: true }
+ true | :invalid | true | RuntimeError
# @formatter:on
end
@@ -87,7 +78,6 @@ RSpec.describe WebIde::Settings::ExtensionMarketplaceMetadataGenerator, feature_
let(:options) do
options = {}
options[:user] = user if user_exists
- options[:vscode_extension_marketplace_feature_flag_enabled] = flag_enabled if flag_exists
options
end
@@ -100,7 +90,6 @@ RSpec.describe WebIde::Settings::ExtensionMarketplaceMetadataGenerator, feature_
allow(user).to receive(:enterprise_user?).and_return(false)
allow(enums).to receive(:statuses).and_return({ unset: :unset, enabled: :enabled, disabled: :disabled })
allow(::WebIde::ExtensionMarketplace).to receive(:feature_enabled_from_application_settings?)
- .with(user: user)
.and_return(app_settings_enabled)
end
diff --git a/spec/migrations/move_ci_pipelines_to_dynamic_schema_spec.rb b/spec/migrations/move_ci_pipelines_to_dynamic_schema_spec.rb
new file mode 100644
index 00000000000..f6e2beaec10
--- /dev/null
+++ b/spec/migrations/move_ci_pipelines_to_dynamic_schema_spec.rb
@@ -0,0 +1,83 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+require_migration!
+
+RSpec.describe MoveCiPipelinesToDynamicSchema, :migration, feature_category: :continuous_integration do
+ let(:migration) { described_class.new }
+ let(:table_name) { described_class::TABLE_NAME }
+ let(:identifier) { "#{described_class::DYNAMIC_SCHEMA}.#{table_name}" }
+
+ describe '#up' do
+ it 'moves the table into the dynamic schema' do
+ expect(table_exists?(table_name)).to be_truthy
+
+ migration.up
+
+ expect(table_exists?(table_name)).to be_falsey
+ expect(table_exists?(identifier)).to be_truthy
+ end
+ end
+
+ describe '#down' do
+ context 'when the partition exists in the dynamic schema' do
+ before do
+ migration.up
+
+ drop_partition("#{identifier}_100")
+ drop_partition("#{identifier}_101")
+ drop_partition("#{identifier}_102")
+
+ ApplicationRecord.connection.execute(<<~SQL)
+ CREATE TABLE IF NOT EXISTS #{identifier} PARTITION OF p_#{table_name} FOR VALUES IN (100, 101, 102);
+ SQL
+ end
+
+ it 'moves the table into the current schema' do
+ expect(table_exists?(identifier)).to be_truthy
+
+ migration.down
+
+ expect(table_exists?(table_name)).to be_truthy
+ end
+ end
+
+ context 'when the partition does not exist in the dynamic schema' do
+ before do
+ migration.up
+
+ drop_partition(identifier)
+
+ ApplicationRecord.connection.execute(<<~SQL)
+ CREATE TABLE IF NOT EXISTS #{identifier}_100 PARTITION OF p_#{table_name} FOR VALUES IN (100);
+ CREATE TABLE IF NOT EXISTS #{identifier}_101 PARTITION OF p_#{table_name} FOR VALUES IN (101);
+ CREATE TABLE IF NOT EXISTS #{identifier}_102 PARTITION OF p_#{table_name} FOR VALUES IN (102);
+ SQL
+ end
+
+ it 'creates the table into the current schema' do
+ expect(table_exists?(identifier)).to be_falsey
+ expect(table_exists?("#{identifier}_100")).to be_truthy
+ expect(table_exists?("#{identifier}_101")).to be_truthy
+ expect(table_exists?("#{identifier}_102")).to be_truthy
+
+ migration.down
+
+ expect(table_exists?(table_name)).to be_truthy
+ end
+ end
+ end
+
+ def table_exists?(name)
+ ApplicationRecord.connection.table_exists?(name)
+ end
+
+ def drop_partition(name)
+ return unless table_exists?(name)
+
+ ApplicationRecord.connection.execute(<<~SQL)
+ ALTER TABLE p_#{table_name} DETACH PARTITION #{name};
+ DROP TABLE IF EXISTS #{name};
+ SQL
+ end
+end
diff --git a/spec/models/container_repository_spec.rb b/spec/models/container_repository_spec.rb
index a1bf98b3634..7b67464bc67 100644
--- a/spec/models/container_repository_spec.rb
+++ b/spec/models/container_repository_spec.rb
@@ -1259,119 +1259,29 @@ RSpec.describe ContainerRepository, :aggregate_failures, feature_category: :cont
describe '#protected_from_delete_by_tag_rules?' do
let_it_be_with_refind(:project) { create(:project, path: 'test') }
- let_it_be(:user) { create(:user) }
- let(:has_tags) { true }
+ let_it_be(:current_user) { create(:user) }
- subject { repository.protected_from_delete_by_tag_rules?(user) }
+ subject { repository.protected_from_delete_by_tag_rules?(current_user) }
- before do
- allow(repository).to receive(:has_tags?).and_return(has_tags)
- end
+ it_behaves_like 'checking mutable tag rules on a container repository'
- shared_examples 'checking for mutable tag protection rules' do
- context 'for admin' do
- before do
- allow(user).to receive(:can_admin_all_resources?).and_return(true)
- end
-
- it { is_expected.to be_falsey }
+ context 'when the project has immutable tag protection rules' do
+ before_all do
+ create(
+ :container_registry_protection_tag_rule,
+ :immutable,
+ tag_name_pattern: 'i',
+ project: project
+ )
end
- context 'when the user has a lower access level' do
- before_all do
- project.add_maintainer(user)
- end
-
- it { is_expected.to be_truthy }
-
- context 'when the container repository does not have tags' do
- let(:has_tags) { false }
-
- it { is_expected.to be_falsey }
- end
- end
-
- context 'when the user meets the minimum access level' do
- before_all do
- project.add_owner(user)
- end
-
- it { is_expected.to be_falsey }
- end
- end
-
- context 'when the project does not have tag protection rules' do
- it { is_expected.to be_falsey }
+ it_behaves_like 'checking mutable tag rules on a container repository'
end
context 'when the user is nil' do
- let(:user) { nil }
+ let(:current_user) { nil }
it { is_expected.to be_truthy }
end
-
- context 'when the project only has mutable tag protection rules' do
- before_all do
- create(
- :container_registry_protection_tag_rule,
- project: project,
- minimum_access_level_for_delete: Gitlab::Access::OWNER
- )
- end
-
- it_behaves_like 'checking for mutable tag protection rules'
- end
-
- context 'when the project has immutable tag protection rule only' do
- before_all do
- create(
- :container_registry_protection_tag_rule,
- :immutable,
- project: project
- )
- end
-
- it { is_expected.to be_truthy }
-
- context 'when the container repository does not have tags' do
- let(:has_tags) { false }
-
- it { is_expected.to be_falsey }
- end
-
- context 'when the feature container_registry_immutable_tags is disabled' do
- before do
- stub_feature_flags(container_registry_immutable_tags: false)
- end
-
- it { is_expected.to be_falsey }
- end
- end
-
- context 'when the project has both immutable and mutable tags' do
- before_all do
- create(
- :container_registry_protection_tag_rule,
- :immutable,
- project: project
- )
- create(
- :container_registry_protection_tag_rule,
- project: project,
- tag_name_pattern: 'mutable',
- minimum_access_level_for_delete: Gitlab::Access::OWNER
- )
- end
-
- it { is_expected.to be_truthy }
-
- context 'when the feature container_registry_immutable_tags is disabled' do
- before do
- stub_feature_flags(container_registry_immutable_tags: false)
- end
-
- it_behaves_like 'checking for mutable tag protection rules'
- end
- end
end
end
diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb
index 114b514f806..450776feb85 100644
--- a/spec/models/group_spec.rb
+++ b/spec/models/group_spec.rb
@@ -1875,6 +1875,10 @@ RSpec.describe Group, feature_category: :groups_and_projects do
describe '#add_user' do
let(:user) { create(:user) }
+ before do
+ allow(Notify).to receive(:member_access_granted_email).and_call_original
+ end
+
it 'adds the user' do
expect_next_instance_of(GroupMember) do |member|
expect(member).to receive(:refresh_member_authorized_projects).and_call_original
@@ -1884,6 +1888,38 @@ RSpec.describe Group, feature_category: :groups_and_projects do
expect(group.group_members.maintainers.map(&:user)).to include(user)
end
+
+ it 'notifies the user of membership' do
+ member = group.add_member(user, GroupMember::MAINTAINER)
+
+ expect(Notify)
+ .to have_received(:member_access_granted_email)
+ .with(member.real_source_type, member.id)
+ end
+
+ context 'when importing' do
+ let(:owner) { create(:user, owner_of: group) }
+
+ before do
+ group.importing = true
+ end
+
+ it 'does not notify the user of membership' do
+ member = group.add_member(user, GroupMember::MAINTAINER)
+
+ expect(Notify)
+ .not_to have_received(:member_access_granted_email)
+ .with(member.real_source_type, member.id)
+ end
+
+ it 'notifies the user when invited by a user regardless of importing status' do
+ member = group.add_member(user, GroupMember::MAINTAINER, current_user: owner)
+
+ expect(Notify)
+ .to have_received(:member_access_granted_email)
+ .with(member.real_source_type, member.id)
+ end
+ end
end
describe '#add_users' do
diff --git a/spec/models/member_spec.rb b/spec/models/member_spec.rb
index e7ca19b6245..539f0505df3 100644
--- a/spec/models/member_spec.rb
+++ b/spec/models/member_spec.rb
@@ -1774,6 +1774,20 @@ RSpec.describe Member, feature_category: :groups_and_projects do
it_behaves_like 'performs all the common hooks'
end
end
+
+ context 'when importing' do
+ let(:member) { create(:group_member, source: source, importing: true) }
+
+ it 'does not invoke a notification' do
+ allow(Notify).to receive(:member_access_granted_email).and_call_original
+
+ create_member
+
+ expect(Notify)
+ .not_to have_received(:member_access_granted_email)
+ .with(member.real_source_type, member.id)
+ end
+ end
end
context 'when after_create :update_two_factor_requirement' do
diff --git a/spec/policies/container_repository_policy_spec.rb b/spec/policies/container_repository_policy_spec.rb
index 42c2059f900..08ed946dc45 100644
--- a/spec/policies/container_repository_policy_spec.rb
+++ b/spec/policies/container_repository_policy_spec.rb
@@ -42,14 +42,14 @@ RSpec.describe ContainerRepositoryPolicy, feature_category: :container_registry
project.send(:"add_#{user_role}", user)
end
- it { expect_disallowed(:destroy_container_image) }
+ it { expect_allowed(:destroy_container_image) }
end
end
context 'when the current user is an admin', :enable_admin_mode do
let(:user) { build_stubbed(:admin) }
- it { expect_disallowed(:destroy_container_image) }
+ it { expect_allowed(:destroy_container_image) }
end
end
diff --git a/spec/requests/api/conan/v2/project_packages_spec.rb b/spec/requests/api/conan/v2/project_packages_spec.rb
index 139f4042566..90162282cce 100644
--- a/spec/requests/api/conan/v2/project_packages_spec.rb
+++ b/spec/requests/api/conan/v2/project_packages_spec.rb
@@ -18,11 +18,11 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
message: "404 'conan_package_revisions_support' feature flag is disabled Not Found"
end
- shared_examples 'package without recipe_revision returns revision not found' do
+ shared_examples 'package without revisions returns not found' do |resource: 'Revision'|
let_it_be(:package) { create(:conan_package, project: project, without_revisions: true) }
it_behaves_like 'returning response status with message', status: :not_found,
- message: '404 Revision Not Found'
+ message: "404 #{resource} Not Found"
end
shared_examples 'triggers an internal event' do |event:|
@@ -362,7 +362,7 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
it_behaves_like 'conan FIPS mode'
it_behaves_like 'package not found'
it_behaves_like 'project not found by project id'
- it_behaves_like 'package without recipe_revision returns revision not found'
+ it_behaves_like 'package without revisions returns not found'
end
describe 'DELETE /api/v4/projects/:id/packages/conan/v2/conans/:package_name/package_version/:package_username/' \
@@ -392,7 +392,7 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
it_behaves_like 'triggers an internal event', event: 'delete_recipe_revision_from_registry'
it_behaves_like 'package not found'
- it_behaves_like 'package without recipe_revision returns revision not found'
+ it_behaves_like 'package without revisions returns not found'
it_behaves_like 'handling empty values for username and channel', success_status: :ok
it 'deletes the package with specific revision' do
expect { request }.to change { package.conan_recipe_revisions.count }.by(-1)
@@ -411,13 +411,6 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
it { expect { request }.to change { ::Packages::Package.pending_destruction.count }.by(1) }
end
- context 'with non-existing recipe revision' do
- let_it_be(:recipe_revision) { OpenSSL::Digest.hexdigest('MD5', 'non_existing') }
-
- it_behaves_like 'returning response status with message', status: :not_found,
- message: '404 Revision Not Found'
- end
-
context 'when the number of files to delete is greater than the maximum allowed' do
before do
stub_const("#{described_class}::MAX_FILES_COUNT", 1)
@@ -631,4 +624,76 @@ RSpec.describe API::Conan::V2::ProjectPackages, feature_category: :package_regis
it_behaves_like 'project not found by project id'
it_behaves_like 'conan package revisions feature flag check'
end
+
+ describe 'DELETE /api/v4/projects/:id/packages/conan/v2/conans/:package_name/package_version/:package_username/' \
+ ':package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision' do
+ let_it_be_with_reload(:package) { create(:conan_package, project: project) }
+ let_it_be(:recipe_revision) { package.conan_recipe_revisions.first.revision }
+ let_it_be(:package_revision) { package.conan_package_revisions.first.revision }
+ let_it_be(:package_reference) { package.conan_package_references.first.reference }
+ let_it_be(:package_revision_files_ids) { package.conan_package_revisions.first.package_files.ids }
+ let(:recipe_path) { package.conan_recipe_path }
+
+ let(:url_suffix) do
+ "#{recipe_path}/revisions/#{recipe_revision}/packages/#{conan_package_reference}/revisions/" \
+ "#{package_revision}"
+ end
+
+ subject(:request) { delete api(url), headers: headers }
+
+ it_behaves_like 'conan package revisions feature flag check'
+ it_behaves_like 'packages feature check'
+ it_behaves_like 'conan FIPS mode'
+ it_behaves_like 'rejects invalid recipe'
+ it_behaves_like 'project not found by project id'
+ it_behaves_like 'returning response status with message', status: :forbidden,
+ message: '403 Forbidden'
+
+ context 'with delete permissions' do
+ before do
+ project.add_maintainer(user)
+ end
+
+ it_behaves_like 'package not found'
+ it_behaves_like 'package without revisions returns not found', resource: 'Package Revision'
+ it_behaves_like 'handling empty values for username and channel', success_status: :ok
+
+ context 'with multiple package revisions' do
+ let_it_be(:additional_package_revision) { create(:conan_package_revision, package: package) }
+
+ it_behaves_like 'triggers an internal event', event: 'delete_package_revision_from_registry'
+
+ it 'deletes the package_revision and not the package reference' do
+ expect { request }.to change { package.conan_package_revisions.count }.by(-1)
+ .and not_change { package.conan_package_references.count }
+
+ expect(response).to have_gitlab_http_status(:ok)
+ expect(package.conan_package_revisions).to match_array([additional_package_revision])
+ expect(package.package_files.where(id: package_revision_files_ids)).to all(be_pending_destruction)
+ end
+ end
+
+ context 'with only one package_revision' do
+ it_behaves_like 'triggers an internal event', event: 'delete_package_reference_from_registry'
+
+ it_behaves_like 'returning response status', :ok
+ it 'deletes the package_reference' do
+ expect { request }.to change { package.conan_package_revisions.count }.by(-1)
+ .and change { package.conan_package_references.count }.by(-1)
+
+ expect(response).to have_gitlab_http_status(:ok)
+ expect(package.package_files.where(id: package_revision_files_ids)).to all(be_pending_destruction)
+ end
+ end
+
+ context 'when the number of files to delete is greater than the maximum allowed' do
+ before do
+ stub_const("#{described_class}::MAX_FILES_COUNT", 1)
+ end
+
+ it_behaves_like 'returning response status with message', status: :unprocessable_entity,
+ message: 'Cannot delete more than 1 files'
+ end
+ end
+ end
end
diff --git a/spec/requests/api/graphql/mutations/user_preferences/update_spec.rb b/spec/requests/api/graphql/mutations/user_preferences/update_spec.rb
index 85be19c0027..f8f6f61d7e3 100644
--- a/spec/requests/api/graphql/mutations/user_preferences/update_spec.rb
+++ b/spec/requests/api/graphql/mutations/user_preferences/update_spec.rb
@@ -26,7 +26,7 @@ RSpec.describe Mutations::UserPreferences::Update, feature_category: :user_profi
let(:mutation_response) { graphql_mutation_response(:userPreferencesUpdate) }
before do
- stub_application_setting(vscode_extension_marketplace: {
+ Gitlab::CurrentSettings.update!(vscode_extension_marketplace: {
enabled: false,
preset: 'custom',
custom_values: {
diff --git a/spec/requests/jwt_controller_spec.rb b/spec/requests/jwt_controller_spec.rb
index b31de408f6b..cbd5d1e686a 100644
--- a/spec/requests/jwt_controller_spec.rb
+++ b/spec/requests/jwt_controller_spec.rb
@@ -343,28 +343,10 @@ RSpec.describe JwtController, feature_category: :system_access do
it_behaves_like 'with valid credentials'
it_behaves_like 'a token that expires today'
- # TODO: Cleanup code related to packages_dependency_proxy_containers_scope_check
- # https://gitlab.com/gitlab-org/gitlab/-/issues/520321
- context 'packages_dependency_proxy_containers_scope_check disabled' do
- before do
- stub_feature_flags(packages_dependency_proxy_containers_scope_check: false)
- end
-
- it_behaves_like 'with valid credentials'
- end
-
context 'without the required scopes' do
let(:credential_password) { personal_access_token_without_required_scopes.token }
- # TODO: Cleanup code related to packages_dependency_proxy_containers_scope_check
- # https://gitlab.com/gitlab-org/gitlab/-/issues/520321
- context 'packages_dependency_proxy_containers_scope_check disabled' do
- before do
- stub_feature_flags(packages_dependency_proxy_containers_scope_check: false)
- end
-
- it_behaves_like 'returning response status', :forbidden
- end
+ it_behaves_like 'returning response status', :forbidden
end
end
@@ -379,20 +361,14 @@ RSpec.describe JwtController, feature_category: :system_access do
let(:credential_user) { group_access_token.user.username }
let(:credential_password) { group_access_token.token }
+ before_all do
+ group.add_guest(bot_user)
+ end
+
context 'with the required scopes' do
it_behaves_like 'with valid credentials'
it_behaves_like 'a token that expires today'
- # TODO: Cleanup code related to packages_dependency_proxy_containers_scope_check
- # https://gitlab.com/gitlab-org/gitlab/-/issues/520321
- context 'packages_dependency_proxy_containers_scope_check disabled' do
- before do
- stub_feature_flags(packages_dependency_proxy_containers_scope_check: false)
- end
-
- it_behaves_like 'with valid credentials'
- end
-
context 'revoked' do
before do
group_access_token.update!(revoked: true)
@@ -416,16 +392,6 @@ RSpec.describe JwtController, feature_category: :system_access do
end
it_behaves_like 'returning response status', :forbidden
-
- # TODO: Cleanup code related to packages_dependency_proxy_containers_scope_check
- # https://gitlab.com/gitlab-org/gitlab/-/issues/520321
- context 'packages_dependency_proxy_containers_scope_check disabled' do
- before do
- stub_feature_flags(packages_dependency_proxy_containers_scope_check: false)
- end
-
- it_behaves_like 'with valid credentials'
- end
end
end
@@ -443,16 +409,6 @@ RSpec.describe JwtController, feature_category: :system_access do
let(:credential_password) { job.token }
it_behaves_like 'with valid credentials'
-
- # TODO: Cleanup code related to packages_dependency_proxy_containers_scope_check
- # https://gitlab.com/gitlab-org/gitlab/-/issues/520321
- context 'packages_dependency_proxy_containers_scope_check disabled' do
- before do
- stub_feature_flags(packages_dependency_proxy_containers_scope_check: false)
- end
-
- it_behaves_like 'with valid credentials'
- end
end
context 'with project deploy token' do
diff --git a/spec/services/auth/dependency_proxy_authentication_service_spec.rb b/spec/services/auth/dependency_proxy_authentication_service_spec.rb
index dcc6dec5c5f..fa0eb85ffa4 100644
--- a/spec/services/auth/dependency_proxy_authentication_service_spec.rb
+++ b/spec/services/auth/dependency_proxy_authentication_service_spec.rb
@@ -64,59 +64,35 @@ RSpec.describe Auth::DependencyProxyAuthenticationService, feature_category: :vi
it_behaves_like 'returning', status: 403, message: 'access forbidden'
- context 'with packages_dependency_proxy_containers_scope_check disabled' do
- before do
- stub_feature_flags(packages_dependency_proxy_containers_scope_check: false)
- end
+ [described_class::REQUIRED_USER_ABILITIES, described_class::REQUIRED_CI_ABILITIES].each do |abilities|
+ context "with #{abilities}" do
+ let(:authentication_abilities) { abilities }
- it_behaves_like 'returning', status: 403, message: 'access forbidden'
-
- [described_class::REQUIRED_USER_ABILITIES,
- described_class::REQUIRED_CI_ABILITIES].each do |abilities|
- context "with #{abilities}" do
- let(:authentication_abilities) { abilities }
-
- it_behaves_like 'returning', status: 403, message: 'access forbidden'
- end
+ it_behaves_like 'returning', status: 403, message: 'access forbidden'
end
end
end
context 'with a group deploy token' do
- let_it_be(:deploy_token_with_dependency_proxy_scopes) { create(:deploy_token, :group, :dependency_proxy_scopes) }
- let_it_be(:deploy_token_with_missing_scopes) { create(:deploy_token, :group, read_registry: false) }
+ let_it_be(:group_deploy_token) { create(:deploy_token, :group, :dependency_proxy_scopes) }
+ let(:params) { { deploy_token: group_deploy_token } }
let(:user) { nil }
- context 'with sufficient scopes' do
- let(:params) { { deploy_token: deploy_token_with_dependency_proxy_scopes } }
+ it_behaves_like 'returning', status: 403, message: 'access forbidden'
- it_behaves_like 'returning a token with an encoded field', 'deploy_token'
+ context 'with the required abilities' do
+ let(:authentication_abilities) { described_class::REQUIRED_USER_ABILITIES }
- context 'with packages_dependency_proxy_containers_scope_check disabled' do
- before do
- stub_feature_flags(packages_dependency_proxy_containers_scope_check: false)
+ [described_class::REQUIRED_USER_ABILITIES, described_class::REQUIRED_CI_ABILITIES].each do |abilities|
+ context "with #{abilities}" do
+ let(:authentication_abilities) { abilities }
+
+ it_behaves_like 'returning a token with an encoded field', 'deploy_token'
end
-
- it_behaves_like 'returning', status: 403, message: 'access forbidden'
-
- [described_class::REQUIRED_USER_ABILITIES,
- described_class::REQUIRED_CI_ABILITIES].each do |abilities|
- context "with #{abilities}" do
- let(:authentication_abilities) { abilities }
-
- it_behaves_like 'returning a token with an encoded field', 'deploy_token'
- end
- end
end
end
- context 'with insufficient scopes' do
- let(:params) { { deploy_token: deploy_token_with_missing_scopes } }
-
- it_behaves_like 'returning', status: 403, message: 'access forbidden'
- end
-
context 'when the the deploy token is restricted with external_authorization' do
before do
allow(Gitlab::ExternalAuthorization).to receive(:allow_deploy_tokens_and_deploy_keys?).and_return(false)
@@ -127,14 +103,22 @@ RSpec.describe Auth::DependencyProxyAuthenticationService, feature_category: :vi
end
context 'with a human user' do
- it_behaves_like 'returning a token with an encoded field', 'user_id'
+ context 'without the required abilities' do
+ it_behaves_like 'returning', status: 403, message: 'access forbidden'
+ end
- context "when the deploy token is restricted with external_authorization" do
- before do
- allow(Gitlab::ExternalAuthorization).to receive(:allow_deploy_tokens_and_deploy_keys?).and_return(false)
- end
+ context 'with the required abilities' do
+ let(:authentication_abilities) { described_class::REQUIRED_USER_ABILITIES }
it_behaves_like 'returning a token with an encoded field', 'user_id'
+
+ context "when the deploy token is restricted with external_authorization" do
+ before do
+ allow(Gitlab::ExternalAuthorization).to receive(:allow_deploy_tokens_and_deploy_keys?).and_return(false)
+ end
+
+ it_behaves_like 'returning a token with an encoded field', 'user_id'
+ end
end
end
@@ -142,18 +126,8 @@ RSpec.describe Auth::DependencyProxyAuthenticationService, feature_category: :vi
let_it_be_with_reload(:token) { create(:personal_access_token, user: user) }
let(:params) { { raw_token: token.token } }
- it_behaves_like 'returning a token with an encoded field', 'personal_access_token'
-
context 'with insufficient authentication abilities' do
- # TODO: Cleanup code related to packages_dependency_proxy_containers_scope_check
- # https://gitlab.com/gitlab-org/gitlab/-/issues/520321
- context 'with packages_dependency_proxy_containers_scope_check disabled' do
- before do
- stub_feature_flags(packages_dependency_proxy_containers_scope_check: false)
- end
-
- it_behaves_like 'returning', status: 403, message: 'access forbidden'
- end
+ it_behaves_like 'returning', status: 403, message: 'access forbidden'
end
context 'with sufficient authentication abilities' do
@@ -181,16 +155,6 @@ RSpec.describe Auth::DependencyProxyAuthenticationService, feature_category: :vi
context 'with insufficient authentication abilities' do
it_behaves_like 'returning', status: 403, message: 'access forbidden'
-
- # TODO: Cleanup code related to packages_dependency_proxy_containers_scope_check
- # https://gitlab.com/gitlab-org/gitlab/-/issues/520321
- context 'packages_dependency_proxy_containers_scope_check disabled' do
- before do
- stub_feature_flags(packages_dependency_proxy_containers_scope_check: false)
- end
-
- it_behaves_like 'returning', status: 403, message: 'access forbidden'
- end
end
context 'with sufficient authentication abilities' do
@@ -203,22 +167,6 @@ RSpec.describe Auth::DependencyProxyAuthenticationService, feature_category: :vi
subject { service.execute(authentication_abilities: authentication_abilities) }
it_behaves_like 'returning a token with an encoded field', 'group_access_token'
-
- context 'revoked' do
- before do
- token.revoke!
- end
-
- it_behaves_like 'returning', status: 403, message: 'access forbidden'
- end
-
- context 'expired' do
- before do
- token.update_column(:expires_at, 1.day.ago)
- end
-
- it_behaves_like 'returning', status: 403, message: 'access forbidden'
- end
end
end
end
@@ -227,11 +175,25 @@ RSpec.describe Auth::DependencyProxyAuthenticationService, feature_category: :vi
context 'all other user types' do
User::USER_TYPES.except(:human, :project_bot).each_value do |user_type|
context "with user_type #{user_type}" do
+ let_it_be_with_reload(:token) { create(:personal_access_token, user: user) }
+
before do
user.update!(user_type: user_type)
end
- it_behaves_like 'returning a token with an encoded field', 'user_id'
+ it_behaves_like 'returning', status: 403, message: 'access forbidden'
+
+ context 'with the required authentication abilities' do
+ [described_class::REQUIRED_USER_ABILITIES,
+ described_class::REQUIRED_CI_ABILITIES].each do |abilities|
+ context "with #{abilities}" do
+ let(:authentication_abilities) { abilities }
+ let(:params) { { raw_token: token.token } }
+
+ it_behaves_like 'returning a token with an encoded field', 'user_id'
+ end
+ end
+ end
end
end
end
diff --git a/spec/support/shared_examples/container_registry_protection_tag_rules_examples.rb b/spec/support/shared_examples/container_registry_protection_tag_rules_examples.rb
index c0259c7c5b1..78b047899c9 100644
--- a/spec/support/shared_examples/container_registry_protection_tag_rules_examples.rb
+++ b/spec/support/shared_examples/container_registry_protection_tag_rules_examples.rb
@@ -53,3 +53,54 @@ RSpec.shared_examples 'checking for mutable tag rules' do
it { is_expected.to be(false) }
end
end
+
+RSpec.shared_examples 'checking mutable tag rules on a container repository' do
+ let(:has_tags) { true }
+ before do
+ allow(repository).to receive(:has_tags?).and_return(has_tags)
+ end
+
+ context 'when the project has mutable tag protection rules' do
+ before_all do
+ create(
+ :container_registry_protection_tag_rule,
+ project: project,
+ minimum_access_level_for_delete: Gitlab::Access::OWNER
+ )
+ end
+
+ context 'for admin' do
+ before do
+ allow(current_user).to receive(:can_admin_all_resources?).and_return(true)
+ end
+
+ it { is_expected.to be(false) }
+ end
+
+ context 'when the user has a lower access level' do
+ before_all do
+ project.add_maintainer(current_user)
+ end
+
+ it { is_expected.to be(true) }
+
+ context 'when the container repository does not have tags' do
+ let(:has_tags) { false }
+
+ it { is_expected.to be(false) }
+ end
+ end
+
+ context 'when the user meets the minimum access level' do
+ before_all do
+ project.add_owner(current_user)
+ end
+
+ it { is_expected.to be(false) }
+ end
+ end
+
+ context 'when the project does not have mutable tag protection rules' do
+ it { is_expected.to be(false) }
+ end
+end
diff --git a/spec/tasks/gitlab/feature_categories_rake_spec.rb b/spec/tasks/gitlab/feature_categories_rake_spec.rb
index 4b65a0b9fe3..daaca12b748 100644
--- a/spec/tasks/gitlab/feature_categories_rake_spec.rb
+++ b/spec/tasks/gitlab/feature_categories_rake_spec.rb
@@ -30,7 +30,7 @@ RSpec.describe 'gitlab:feature_categories:index', :silence_stdout, feature_categ
)
),
'database_tables' => a_hash_including(
- 'continuous_integration' => a_collection_including('ci_pipelines'),
+ 'continuous_integration' => a_collection_including('p_ci_pipelines'),
'user_profile' => a_collection_including('users')
)
}
diff --git a/spec/views/admin/application_settings/_extension_marketplace.html.haml_spec.rb b/spec/views/admin/application_settings/_extension_marketplace.html.haml_spec.rb
index c4379ad581d..1bf46b5be20 100644
--- a/spec/views/admin/application_settings/_extension_marketplace.html.haml_spec.rb
+++ b/spec/views/admin/application_settings/_extension_marketplace.html.haml_spec.rb
@@ -3,8 +3,6 @@
require 'spec_helper'
RSpec.describe 'admin/application_settings/_extension_marketplace', feature_category: :web_ide do
- let(:feature_available) { true }
-
subject(:page) do
# We use `view.render`, because just `render` throws a "no implicit conversion of nil into String" exception
# https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53093#note_499060593
@@ -14,50 +12,36 @@ RSpec.describe 'admin/application_settings/_extension_marketplace', feature_cate
rendered && Nokogiri::HTML.parse(rendered)
end
- before do
- stub_feature_flags(vscode_extension_marketplace_settings: feature_available)
+ it 'renders settings' do
+ settings = page.at('#js-extension-marketplace-settings')
+
+ expect(settings).not_to be_nil
+ expect(settings).to have_text(_('VS Code Extension Marketplace'))
+ expect(settings).to have_text(
+ _('Enable VS Code Extension Marketplace and configure the extensions registry for Web IDE.')
+ )
end
- context 'when feature available' do
- it 'renders settings' do
- settings = page.at('#js-extension-marketplace-settings')
-
- expect(settings).not_to be_nil
- expect(settings).to have_text(_('VS Code Extension Marketplace'))
- expect(settings).to have_text(
- _('Enable VS Code Extension Marketplace and configure the extensions registry for Web IDE.')
- )
- end
-
- it 'renders data-view-model for vue app' do
- vue_app = page.at('#js-extension-marketplace-settings-app')
- expected_presets = ::WebIde::ExtensionMarketplacePreset.all.map do |x|
- {
- key: x.key,
- name: x.name,
- values: {
- serviceUrl: x.values[:service_url],
- itemUrl: x.values[:item_url],
- resourceUrlTemplate: x.values[:resource_url_template]
- }
+ it 'renders data-view-model for vue app' do
+ vue_app = page.at('#js-extension-marketplace-settings-app')
+ expected_presets = ::WebIde::ExtensionMarketplacePreset.all.map do |x|
+ {
+ key: x.key,
+ name: x.name,
+ values: {
+ serviceUrl: x.values[:service_url],
+ itemUrl: x.values[:item_url],
+ resourceUrlTemplate: x.values[:resource_url_template]
}
- end
-
- expected_json = {
- presets: expected_presets,
- initialSettings: { enabled: false }
- }.to_json
-
- expect(vue_app).not_to be_nil
- expect(vue_app['data-view-model']).to eq(expected_json)
+ }
end
- end
- context 'when feature not available' do
- let(:feature_available) { false }
+ expected_json = {
+ presets: expected_presets,
+ initialSettings: { enabled: false }
+ }.to_json
- it 'renders nothing' do
- expect(page).to be_nil
- end
+ expect(vue_app).not_to be_nil
+ expect(vue_app['data-view-model']).to eq(expected_json)
end
end