diff --git a/.gitlab/ci/review-apps/main.gitlab-ci.yml b/.gitlab/ci/review-apps/main.gitlab-ci.yml index 42897cfc0a1..ccfac6365f2 100644 --- a/.gitlab/ci/review-apps/main.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/main.gitlab-ci.yml @@ -67,7 +67,7 @@ review-build-cng: GITLAB_IMAGE_REPOSITORY: "registry.gitlab.com/gitlab-org/build/cng-mirror" GITLAB_IMAGE_SUFFIX: "ee" GITLAB_REVIEW_APP_BASE_CONFIG_FILE: "scripts/review_apps/base-config.yaml" - GITLAB_HELM_CHART_REF: "c91feed6983b24a1b0dbacaf5050ca5c59af3d46" # 7.8.0: https://gitlab.com/gitlab-org/charts/gitlab/-/commit/c91feed6983b24a1b0dbacaf5050ca5c59af3d46 + GITLAB_HELM_CHART_REF: "1ec3db1320cfe5a5e96881e53b92a0644aaa149e" # 7.9.1: https://gitlab.com/gitlab-org/charts/gitlab/-/commit/1ec3db1320cfe5a5e96881e53b92a0644aaa149e environment: name: review/${CI_COMMIT_REF_SLUG}${SCHEDULE_TYPE} # No separator for SCHEDULE_TYPE so it's compatible as before and looks nice without it url: https://gitlab-${CI_ENVIRONMENT_SLUG}.${REVIEW_APPS_DOMAIN} diff --git a/.rubocop_todo/database/avoid_using_pluck_without_limit.yml b/.rubocop_todo/database/avoid_using_pluck_without_limit.yml index 5f95f3ea156..659b6a33d56 100644 --- a/.rubocop_todo/database/avoid_using_pluck_without_limit.yml +++ b/.rubocop_todo/database/avoid_using_pluck_without_limit.yml @@ -98,7 +98,6 @@ Database/AvoidUsingPluckWithoutLimit: - 'ee/app/finders/namespaces/free_user_cap/users_without_added_members_finder.rb' - 'ee/app/models/ai/ai_resource/concerns/noteable.rb' - 'ee/app/models/allowed_email_domain.rb' - - 'ee/app/models/analytics/issues_analytics.rb' - 'ee/app/models/approval_wrapped_rule.rb' - 'ee/app/models/concerns/audit_events/streaming/streamable_event_type_filter.rb' - 'ee/app/models/concerns/ee/ci/artifactable.rb' diff --git a/.rubocop_todo/performance/flat_map.yml b/.rubocop_todo/performance/flat_map.yml index 376a0b59a64..cdc059ce9f4 100644 --- a/.rubocop_todo/performance/flat_map.yml +++ b/.rubocop_todo/performance/flat_map.yml @@ -10,7 +10,6 @@ Performance/FlatMap: - 'ee/app/services/elastic/process_bookkeeping_service.rb' - 'ee/lib/elastic/latest/issue_class_proxy.rb' - 'ee/spec/lib/elastic/latest/user_class_proxy_spec.rb' - - 'ee/spec/models/analytics/issues_analytics_spec.rb' - 'ee/spec/requests/api/members_spec.rb' - 'ee/spec/support/helpers/license_scanning_report_helpers.rb' - 'ee/spec/support/shared_examples/finders/security/findings_finder_shared_examples.rb' diff --git a/.rubocop_todo/performance/map_compact.yml b/.rubocop_todo/performance/map_compact.yml index 4a3395ba823..74ab3a9d145 100644 --- a/.rubocop_todo/performance/map_compact.yml +++ b/.rubocop_todo/performance/map_compact.yml @@ -74,7 +74,6 @@ Performance/MapCompact: - 'ee/lib/gitlab/ci/reports/license_scanning/report.rb' - 'ee/lib/gitlab/ci/reports/metrics/reports_comparer.rb' - 'ee/lib/gitlab/search/aggregation_parser.rb' - - 'ee/spec/models/analytics/issues_analytics_spec.rb' - 'ee/spec/models/ee/member_spec.rb' - 'ee/spec/requests/api/audit_events_spec.rb' - 'ee/spec/requests/api/search_spec.rb' diff --git a/.rubocop_todo/rspec/feature_category.yml b/.rubocop_todo/rspec/feature_category.yml index 41fe33ffcf7..d9c399a6f2f 100644 --- a/.rubocop_todo/rspec/feature_category.yml +++ b/.rubocop_todo/rspec/feature_category.yml @@ -917,7 +917,6 @@ RSpec/FeatureCategory: - 'ee/spec/models/analytics/cycle_analytics/aggregation_context_spec.rb' - 'ee/spec/models/analytics/devops_adoption/enabled_namespace_spec.rb' - 'ee/spec/models/analytics/devops_adoption/snapshot_spec.rb' - - 'ee/spec/models/analytics/issues_analytics_spec.rb' - 'ee/spec/models/analytics/language_trend/repository_language_spec.rb' - 'ee/spec/models/app_sec/fuzzing/api/ci_configuration_spec.rb' - 'ee/spec/models/app_sec/fuzzing/coverage/corpus_spec.rb' diff --git a/.rubocop_todo/rspec/named_subject.yml b/.rubocop_todo/rspec/named_subject.yml index 8ff4ee8b544..01f3b37c9a9 100644 --- a/.rubocop_todo/rspec/named_subject.yml +++ b/.rubocop_todo/rspec/named_subject.yml @@ -540,7 +540,6 @@ RSpec/NamedSubject: - 'ee/spec/models/analytics/cycle_analytics/group_level_spec.rb' - 'ee/spec/models/analytics/forecasting/deployment_frequency_forecast_spec.rb' - 'ee/spec/models/analytics/forecasting/forecast_spec.rb' - - 'ee/spec/models/analytics/issues_analytics_spec.rb' - 'ee/spec/models/application_setting_spec.rb' - 'ee/spec/models/approval_merge_request_rule_spec.rb' - 'ee/spec/models/approval_project_rule_spec.rb' diff --git a/.rubocop_todo/style/class_and_module_children.yml b/.rubocop_todo/style/class_and_module_children.yml index 914d27aa893..7f85893e3c0 100644 --- a/.rubocop_todo/style/class_and_module_children.yml +++ b/.rubocop_todo/style/class_and_module_children.yml @@ -430,7 +430,6 @@ Style/ClassAndModuleChildren: - 'ee/app/models/analytics/devops_adoption.rb' - 'ee/app/models/analytics/devops_adoption/enabled_namespace.rb' - 'ee/app/models/analytics/devops_adoption/snapshot.rb' - - 'ee/app/models/analytics/issues_analytics.rb' - 'ee/app/models/analytics/language_trend.rb' - 'ee/app/models/analytics/language_trend/repository_language.rb' - 'ee/app/models/concerns/geo/replicable_registry.rb' diff --git a/app/assets/javascripts/ide/init_gitlab_web_ide.js b/app/assets/javascripts/ide/init_gitlab_web_ide.js index f5fb4c8be2f..e36ffaef798 100644 --- a/app/assets/javascripts/ide/init_gitlab_web_ide.js +++ b/app/assets/javascripts/ide/init_gitlab_web_ide.js @@ -81,6 +81,9 @@ export const initGitlabWebIDE = async (el) => { userPreferences: el.dataset.userPreferencesPath, signIn: el.dataset.signInPath, }, + featureFlags: { + settingsSync: gon.features.webIdeSettingsSync || false, + }, editorFont, codeSuggestionsEnabled, handleTracking, diff --git a/app/controllers/ide_controller.rb b/app/controllers/ide_controller.rb index 474593cdace..418722ca508 100644 --- a/app/controllers/ide_controller.rb +++ b/app/controllers/ide_controller.rb @@ -12,6 +12,7 @@ class IdeController < ApplicationController before_action do push_frontend_feature_flag(:build_service_proxy) push_frontend_feature_flag(:reject_unsigned_commits_by_gitlab) + push_frontend_feature_flag(:web_ide_settings_sync, current_user) end feature_category :web_ide diff --git a/app/workers/all_queues.yml b/app/workers/all_queues.yml index 0f70bf295d3..2a32dc72b56 100644 --- a/app/workers/all_queues.yml +++ b/app/workers/all_queues.yml @@ -570,6 +570,15 @@ :weight: 1 :idempotent: true :tags: [] +- :name: cronjob:gitlab_performance_bar_stats + :worker_name: GitlabPerformanceBarStatsWorker + :feature_category: :metrics + :has_external_dependencies: false + :urgency: :low + :resource_boundary: :cpu + :weight: 1 + :idempotent: true + :tags: [] - :name: cronjob:gitlab_service_ping :worker_name: GitlabServicePingWorker :feature_category: :service_ping @@ -3126,15 +3135,6 @@ :weight: 1 :idempotent: false :tags: [] -- :name: gitlab_performance_bar_stats - :worker_name: GitlabPerformanceBarStatsWorker - :feature_category: :metrics - :has_external_dependencies: false - :urgency: :low - :resource_boundary: :cpu - :weight: 1 - :idempotent: true - :tags: [] - :name: google_cloud_create_cloudsql_instance :worker_name: GoogleCloud::CreateCloudsqlInstanceWorker :feature_category: :not_owned diff --git a/app/workers/gitlab_performance_bar_stats_worker.rb b/app/workers/gitlab_performance_bar_stats_worker.rb index 0b31c159726..11e63c4c5de 100644 --- a/app/workers/gitlab_performance_bar_stats_worker.rb +++ b/app/workers/gitlab_performance_bar_stats_worker.rb @@ -2,24 +2,23 @@ class GitlabPerformanceBarStatsWorker include ApplicationWorker + include CronjobQueue # rubocop:disable Scalability/CronWorkerContext -- context is not needed data_consistency :always worker_resource_boundary :cpu sidekiq_options retry: 3 - LEASE_KEY = 'gitlab:performance_bar_stats' - LEASE_TIMEOUT = 600 - WORKER_DELAY = 120 STATS_KEY = 'performance_bar_stats:pending_request_ids' STATS_KEY_EXPIRE = 30.minutes.to_i feature_category :metrics idempotent! - def perform(lease_uuid) + # _uuid is kept for backward compatibility, but it's not used anymore + def perform(_uuid = nil) with_redis do |redis| - request_ids = fetch_request_ids(redis, lease_uuid) + request_ids = fetch_request_ids(redis) stats = Gitlab::PerformanceBar::Stats.new(redis) request_ids.each do |id| @@ -34,10 +33,9 @@ class GitlabPerformanceBarStatsWorker Gitlab::Redis::Cache.with(&block) # rubocop:disable CodeReuse/ActiveRecord end - def fetch_request_ids(redis, lease_uuid) + def fetch_request_ids(redis) ids = redis.smembers(STATS_KEY) redis.del(STATS_KEY) - Gitlab::ExclusiveLease.cancel(LEASE_KEY, lease_uuid) ids end diff --git a/config/feature_flags/development/bulk_add_on_assignment_refresh_worker.yml b/config/feature_flags/development/bulk_add_on_assignment_refresh_worker.yml index b87026cb2df..8d8b5325b84 100644 --- a/config/feature_flags/development/bulk_add_on_assignment_refresh_worker.yml +++ b/config/feature_flags/development/bulk_add_on_assignment_refresh_worker.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/134223 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/428258 milestone: '16.5' type: development -group: group::purchase +group: group::subscription management default_enabled: false diff --git a/config/feature_flags/development/code_suggestions_user_assignments.yml b/config/feature_flags/development/code_suggestions_user_assignments.yml index d37ea80140a..e436cc4d821 100644 --- a/config/feature_flags/development/code_suggestions_user_assignments.yml +++ b/config/feature_flags/development/code_suggestions_user_assignments.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/134034 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/428574 milestone: '16.5' type: development -group: group::purchase +group: group::subscription management default_enabled: false diff --git a/config/feature_flags/development/enable_add_on_users_filtering.yml b/config/feature_flags/development/enable_add_on_users_filtering.yml index 35ddeac538d..69d66c57744 100644 --- a/config/feature_flags/development/enable_add_on_users_filtering.yml +++ b/config/feature_flags/development/enable_add_on_users_filtering.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/136858 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/431365 milestone: '16.7' type: development -group: group::purchase +group: group::subscription management default_enabled: false diff --git a/config/feature_flags/development/hamilton_seat_management.yml b/config/feature_flags/development/hamilton_seat_management.yml index 15ac8e07f68..08d855b546e 100644 --- a/config/feature_flags/development/hamilton_seat_management.yml +++ b/config/feature_flags/development/hamilton_seat_management.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/126964 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/419175 milestone: '16.3' type: development -group: group::purchase +group: group::subscription management default_enabled: false diff --git a/config/feature_flags/development/overage_members_modal.yml b/config/feature_flags/development/overage_members_modal.yml index 16810f1acd2..71df2961515 100644 --- a/config/feature_flags/development/overage_members_modal.yml +++ b/config/feature_flags/development/overage_members_modal.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79644/ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350265 milestone: '14.8' type: development -group: group::purchase +group: group::subscription management default_enabled: false diff --git a/config/feature_flags/development/self_managed_code_suggestions.yml b/config/feature_flags/development/self_managed_code_suggestions.yml index ccde3fbc75f..db4b7bb7fca 100644 --- a/config/feature_flags/development/self_managed_code_suggestions.yml +++ b/config/feature_flags/development/self_managed_code_suggestions.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138490 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432983 milestone: '16.7' type: development -group: group::purchase +group: group::subscription management default_enabled: true diff --git a/config/feature_flags/gitlab_com_derisk/web_ide_settings_sync.yml b/config/feature_flags/gitlab_com_derisk/web_ide_settings_sync.yml new file mode 100644 index 00000000000..29f469e88ce --- /dev/null +++ b/config/feature_flags/gitlab_com_derisk/web_ide_settings_sync.yml @@ -0,0 +1,9 @@ +--- +name: web_ide_settings_sync +feature_issue_url: https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/282 +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/146061 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/443652 +milestone: '16.10' +group: group::ide +type: gitlab_com_derisk +default_enabled: false diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index 4556657274f..9b4c5f3c83d 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -709,6 +709,9 @@ Settings.cron_jobs['ci_catalog_resources_process_sync_events_worker']['job_class Settings.cron_jobs['namespaces_process_outdated_namespace_descendants_cron_worker'] ||= {} Settings.cron_jobs['namespaces_process_outdated_namespace_descendants_cron_worker']['cron'] ||= '*/1 * * * *' Settings.cron_jobs['namespaces_process_outdated_namespace_descendants_cron_worker']['job_class'] = 'Namespaces::ProcessOutdatedNamespaceDescendantsCronWorker' +Settings.cron_jobs['performance_bar_stats'] ||= {} +Settings.cron_jobs['performance_bar_stats']['cron'] ||= '*/2 * * * *' +Settings.cron_jobs['performance_bar_stats']['job_class'] = 'GitlabPerformanceBarStatsWorker' Gitlab.ee do Settings.cron_jobs['analytics_devops_adoption_create_all_snapshots_worker'] ||= {} diff --git a/config/metrics/counts_28d/20210901221932_p_ci_templates_serverless_monthly.yml b/config/metrics/counts_28d/20210901221932_p_ci_templates_serverless_monthly.yml index 8dbd1225aeb..867bd5252a1 100644 --- a/config/metrics/counts_28d/20210901221932_p_ci_templates_serverless_monthly.yml +++ b/config/metrics/counts_28d/20210901221932_p_ci_templates_serverless_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_serverless_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: removed milestone: '14.3' diff --git a/config/metrics/counts_28d/20210901221941_p_ci_templates_go_monthly.yml b/config/metrics/counts_28d/20210901221941_p_ci_templates_go_monthly.yml index 7519e296bcb..7891ef85d55 100644 --- a/config/metrics/counts_28d/20210901221941_p_ci_templates_go_monthly.yml +++ b/config/metrics/counts_28d/20210901221941_p_ci_templates_go_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_go_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_28d/20210901221950_p_ci_templates_scala_monthly.yml b/config/metrics/counts_28d/20210901221950_p_ci_templates_scala_monthly.yml index bf00ce648f6..556c394c9a4 100644 --- a/config/metrics/counts_28d/20210901221950_p_ci_templates_scala_monthly.yml +++ b/config/metrics/counts_28d/20210901221950_p_ci_templates_scala_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_scala_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_28d/20210901221958_p_ci_templates_latex_monthly.yml b/config/metrics/counts_28d/20210901221958_p_ci_templates_latex_monthly.yml index 89b82f0a5ba..9d6969a0140 100644 --- a/config/metrics/counts_28d/20210901221958_p_ci_templates_latex_monthly.yml +++ b/config/metrics/counts_28d/20210901221958_p_ci_templates_latex_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_latex_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_28d/20210901222007_p_ci_templates_android_monthly.yml b/config/metrics/counts_28d/20210901222007_p_ci_templates_android_monthly.yml index 894316bdf03..af300129067 100644 --- a/config/metrics/counts_28d/20210901222007_p_ci_templates_android_monthly.yml +++ b/config/metrics/counts_28d/20210901222007_p_ci_templates_android_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_android_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_28d/20210901222016_p_ci_templates_indeni_cloudrail_monthly.yml b/config/metrics/counts_28d/20210901222016_p_ci_templates_indeni_cloudrail_monthly.yml index 9dabc5324f6..f4144fe2488 100644 --- a/config/metrics/counts_28d/20210901222016_p_ci_templates_indeni_cloudrail_monthly.yml +++ b/config/metrics/counts_28d/20210901222016_p_ci_templates_indeni_cloudrail_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_indeni_cloudrail_monthl description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_28d/20210901222025_p_ci_templates_deploy_ecs_monthly.yml b/config/metrics/counts_28d/20210901222025_p_ci_templates_deploy_ecs_monthly.yml index 639496b9dc3..c5de6f812ab 100644 --- a/config/metrics/counts_28d/20210901222025_p_ci_templates_deploy_ecs_monthly.yml +++ b/config/metrics/counts_28d/20210901222025_p_ci_templates_deploy_ecs_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_deploy_ecs_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_28d/20210901222033_p_ci_templates_aws_cf_provision_and_deploy_ec2_monthly.yml b/config/metrics/counts_28d/20210901222033_p_ci_templates_aws_cf_provision_and_deploy_ec2_monthly.yml index 15bb141e3d4..5f2179bb68d 100644 --- a/config/metrics/counts_28d/20210901222033_p_ci_templates_aws_cf_provision_and_deploy_ec2_monthly.yml +++ b/config/metrics/counts_28d/20210901222033_p_ci_templates_aws_cf_provision_and_deploy_ec2_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_aws_cf_provision_and_de description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_28d/20210901222042_p_ci_templates_gradle_monthly.yml b/config/metrics/counts_28d/20210901222042_p_ci_templates_gradle_monthly.yml index 34890a93278..989abe05eec 100644 --- a/config/metrics/counts_28d/20210901222042_p_ci_templates_gradle_monthly.yml +++ b/config/metrics/counts_28d/20210901222042_p_ci_templates_gradle_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_gradle_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_28d/20210901222051_p_ci_templates_chef_monthly.yml b/config/metrics/counts_28d/20210901222051_p_ci_templates_chef_monthly.yml index 2b5eb9be232..1ab5b6b66a0 100644 --- a/config/metrics/counts_28d/20210901222051_p_ci_templates_chef_monthly.yml +++ b/config/metrics/counts_28d/20210901222051_p_ci_templates_chef_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_chef_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_28d/20210901222331_p_ci_templates_terraform_latest_monthly.yml b/config/metrics/counts_28d/20210901222331_p_ci_templates_terraform_latest_monthly.yml index 1208176e89b..c4a178afddb 100644 --- a/config/metrics/counts_28d/20210901222331_p_ci_templates_terraform_latest_monthly.yml +++ b/config/metrics/counts_28d/20210901222331_p_ci_templates_terraform_latest_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_terraform_latest_monthl description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_28d/20210901222341_p_ci_templates_swift_monthly.yml b/config/metrics/counts_28d/20210901222341_p_ci_templates_swift_monthly.yml index 0e3a161dacb..c9a04386cae 100644 --- a/config/metrics/counts_28d/20210901222341_p_ci_templates_swift_monthly.yml +++ b/config/metrics/counts_28d/20210901222341_p_ci_templates_swift_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_swift_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' 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 index 69dd65a91e5..1caa4e2c919 100644 --- a/config/metrics/counts_28d/20210901223421_p_ci_templates_dart_monthly.yml +++ b/config/metrics/counts_28d/20210901223421_p_ci_templates_dart_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_dart_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' 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 index 8cc5d9861cf..462d703af0e 100644 --- a/config/metrics/counts_28d/20210901223430_p_ci_templates_docker_monthly.yml +++ b/config/metrics/counts_28d/20210901223430_p_ci_templates_docker_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_docker_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' 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 index f860cc65e1c..d3dc2bcaed2 100644 --- a/config/metrics/counts_28d/20210901223439_p_ci_templates_julia_monthly.yml +++ b/config/metrics/counts_28d/20210901223439_p_ci_templates_julia_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_julia_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' 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 index 48d833b8b36..b2e99015910 100644 --- a/config/metrics/counts_28d/20210901223447_p_ci_templates_npm_monthly.yml +++ b/config/metrics/counts_28d/20210901223447_p_ci_templates_npm_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_npm_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' 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 index 2be20e8915c..0abb09ec093 100644 --- 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 @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_dotnet_core_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' 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 index e3c904eb379..f633526f048 100644 --- 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 @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_5_minute_production_app description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' 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 index b90e11ecd33..0c34665ced1 100644 --- a/config/metrics/counts_28d/20210901223514_p_ci_templates_ruby_monthly.yml +++ b/config/metrics/counts_28d/20210901223514_p_ci_templates_ruby_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_ruby_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' 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 index 4a7ee8d1292..c3e4ea690bb 100644 --- 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 @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_android_latest_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: "14.3" 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 index eebad4ce41f..651b1005428 100644 --- 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 @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_liquibase_monthly description: "" product_section: "" product_stage: "" -product_group: "" +product_group: pipeline_authoring value_type: number status: active milestone: "14.9" 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 index 26a51a0b7f9..c55d6eff4fe 100644 --- a/config/metrics/counts_28d/20220310184327_p_ci_templates_matlab_monthly.yml +++ b/config/metrics/counts_28d/20220310184327_p_ci_templates_matlab_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_matlab_monthly description: "" product_section: "" product_stage: "" -product_group: "" +product_group: pipeline_authoring value_type: number status: active milestone: "14.10" 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 index 921dbb2a7ed..18a5331a2a3 100644 --- a/config/metrics/counts_28d/20220407125907_p_ci_templates_themekit_monthly.yml +++ b/config/metrics/counts_28d/20220407125907_p_ci_templates_themekit_monthly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_themekit_monthly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: "14.10" diff --git a/config/metrics/counts_7d/20210901221928_p_ci_templates_serverless_weekly.yml b/config/metrics/counts_7d/20210901221928_p_ci_templates_serverless_weekly.yml index 83929a5ff83..90a645d51bd 100644 --- a/config/metrics/counts_7d/20210901221928_p_ci_templates_serverless_weekly.yml +++ b/config/metrics/counts_7d/20210901221928_p_ci_templates_serverless_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_serverless_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: removed milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901221936_p_ci_templates_go_weekly.yml b/config/metrics/counts_7d/20210901221936_p_ci_templates_go_weekly.yml index 292a5d6a0e0..83691c6c41b 100644 --- a/config/metrics/counts_7d/20210901221936_p_ci_templates_go_weekly.yml +++ b/config/metrics/counts_7d/20210901221936_p_ci_templates_go_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_go_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901221945_p_ci_templates_scala_weekly.yml b/config/metrics/counts_7d/20210901221945_p_ci_templates_scala_weekly.yml index 5b81fbf7911..890681f824c 100644 --- a/config/metrics/counts_7d/20210901221945_p_ci_templates_scala_weekly.yml +++ b/config/metrics/counts_7d/20210901221945_p_ci_templates_scala_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_scala_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901221954_p_ci_templates_latex_weekly.yml b/config/metrics/counts_7d/20210901221954_p_ci_templates_latex_weekly.yml index d43e4dabf23..bed299a0ca3 100644 --- a/config/metrics/counts_7d/20210901221954_p_ci_templates_latex_weekly.yml +++ b/config/metrics/counts_7d/20210901221954_p_ci_templates_latex_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_latex_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901222003_p_ci_templates_android_weekly.yml b/config/metrics/counts_7d/20210901222003_p_ci_templates_android_weekly.yml index 536ac4f3215..0d257db8c94 100644 --- a/config/metrics/counts_7d/20210901222003_p_ci_templates_android_weekly.yml +++ b/config/metrics/counts_7d/20210901222003_p_ci_templates_android_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_android_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901222011_p_ci_templates_indeni_cloudrail_weekly.yml b/config/metrics/counts_7d/20210901222011_p_ci_templates_indeni_cloudrail_weekly.yml index cb492c65d2f..32fbe076d2b 100644 --- a/config/metrics/counts_7d/20210901222011_p_ci_templates_indeni_cloudrail_weekly.yml +++ b/config/metrics/counts_7d/20210901222011_p_ci_templates_indeni_cloudrail_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_indeni_cloudrail_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901222020_p_ci_templates_deploy_ecs_weekly.yml b/config/metrics/counts_7d/20210901222020_p_ci_templates_deploy_ecs_weekly.yml index f79d5d9ae90..e28c57cff30 100644 --- a/config/metrics/counts_7d/20210901222020_p_ci_templates_deploy_ecs_weekly.yml +++ b/config/metrics/counts_7d/20210901222020_p_ci_templates_deploy_ecs_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_deploy_ecs_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901222029_p_ci_templates_aws_cf_provision_and_deploy_ec2_weekly.yml b/config/metrics/counts_7d/20210901222029_p_ci_templates_aws_cf_provision_and_deploy_ec2_weekly.yml index ae5529149a4..dd7aa51fa52 100644 --- a/config/metrics/counts_7d/20210901222029_p_ci_templates_aws_cf_provision_and_deploy_ec2_weekly.yml +++ b/config/metrics/counts_7d/20210901222029_p_ci_templates_aws_cf_provision_and_deploy_ec2_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_aws_cf_provision_and_de description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901222038_p_ci_templates_gradle_weekly.yml b/config/metrics/counts_7d/20210901222038_p_ci_templates_gradle_weekly.yml index c264b754d40..4fda25715ae 100644 --- a/config/metrics/counts_7d/20210901222038_p_ci_templates_gradle_weekly.yml +++ b/config/metrics/counts_7d/20210901222038_p_ci_templates_gradle_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_gradle_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901222046_p_ci_templates_chef_weekly.yml b/config/metrics/counts_7d/20210901222046_p_ci_templates_chef_weekly.yml index f347141b4b5..cd0aafc126e 100644 --- a/config/metrics/counts_7d/20210901222046_p_ci_templates_chef_weekly.yml +++ b/config/metrics/counts_7d/20210901222046_p_ci_templates_chef_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_chef_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901222327_p_ci_templates_terraform_latest_weekly.yml b/config/metrics/counts_7d/20210901222327_p_ci_templates_terraform_latest_weekly.yml index aa51bb8357e..2ca8d6a4047 100644 --- a/config/metrics/counts_7d/20210901222327_p_ci_templates_terraform_latest_weekly.yml +++ b/config/metrics/counts_7d/20210901222327_p_ci_templates_terraform_latest_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_terraform_latest_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901222336_p_ci_templates_swift_weekly.yml b/config/metrics/counts_7d/20210901222336_p_ci_templates_swift_weekly.yml index bc2d67b0e66..51bb4741ef9 100644 --- a/config/metrics/counts_7d/20210901222336_p_ci_templates_swift_weekly.yml +++ b/config/metrics/counts_7d/20210901222336_p_ci_templates_swift_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_swift_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901223416_p_ci_templates_dart_weekly.yml b/config/metrics/counts_7d/20210901223416_p_ci_templates_dart_weekly.yml index b4c256d7642..2d029adb8d0 100644 --- a/config/metrics/counts_7d/20210901223416_p_ci_templates_dart_weekly.yml +++ b/config/metrics/counts_7d/20210901223416_p_ci_templates_dart_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_dart_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901223425_p_ci_templates_docker_weekly.yml b/config/metrics/counts_7d/20210901223425_p_ci_templates_docker_weekly.yml index c8428c46d2c..772c4cb0674 100644 --- a/config/metrics/counts_7d/20210901223425_p_ci_templates_docker_weekly.yml +++ b/config/metrics/counts_7d/20210901223425_p_ci_templates_docker_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_docker_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901223434_p_ci_templates_julia_weekly.yml b/config/metrics/counts_7d/20210901223434_p_ci_templates_julia_weekly.yml index 3c9206498aa..9c44319336a 100644 --- a/config/metrics/counts_7d/20210901223434_p_ci_templates_julia_weekly.yml +++ b/config/metrics/counts_7d/20210901223434_p_ci_templates_julia_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_julia_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901223443_p_ci_templates_npm_weekly.yml b/config/metrics/counts_7d/20210901223443_p_ci_templates_npm_weekly.yml index 03d885facf3..22a08586b23 100644 --- a/config/metrics/counts_7d/20210901223443_p_ci_templates_npm_weekly.yml +++ b/config/metrics/counts_7d/20210901223443_p_ci_templates_npm_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_npm_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901223452_p_ci_templates_dotnet_core_weekly.yml b/config/metrics/counts_7d/20210901223452_p_ci_templates_dotnet_core_weekly.yml index 9497aaff0c4..a5a33b784ac 100644 --- a/config/metrics/counts_7d/20210901223452_p_ci_templates_dotnet_core_weekly.yml +++ b/config/metrics/counts_7d/20210901223452_p_ci_templates_dotnet_core_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_dotnet_core_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901223501_p_ci_templates_5_minute_production_app_weekly.yml b/config/metrics/counts_7d/20210901223501_p_ci_templates_5_minute_production_app_weekly.yml index eee672af685..187e9c85d4d 100644 --- a/config/metrics/counts_7d/20210901223501_p_ci_templates_5_minute_production_app_weekly.yml +++ b/config/metrics/counts_7d/20210901223501_p_ci_templates_5_minute_production_app_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_5_minute_production_app description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210901223510_p_ci_templates_ruby_weekly.yml b/config/metrics/counts_7d/20210901223510_p_ci_templates_ruby_weekly.yml index 9e2fc0a599f..c46ffa16532 100644 --- a/config/metrics/counts_7d/20210901223510_p_ci_templates_ruby_weekly.yml +++ b/config/metrics/counts_7d/20210901223510_p_ci_templates_ruby_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_ruby_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: '14.3' diff --git a/config/metrics/counts_7d/20210908093503_p_ci_templates_android_latest_weekly.yml b/config/metrics/counts_7d/20210908093503_p_ci_templates_android_latest_weekly.yml index b3b3f4edfe6..88ff86a082b 100644 --- a/config/metrics/counts_7d/20210908093503_p_ci_templates_android_latest_weekly.yml +++ b/config/metrics/counts_7d/20210908093503_p_ci_templates_android_latest_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_android_latest_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: "14.3" diff --git a/config/metrics/counts_7d/20220307150854_p_ci_templates_database_liquibase_weekly.yml b/config/metrics/counts_7d/20220307150854_p_ci_templates_database_liquibase_weekly.yml index b00923c21ea..6589f82ace3 100644 --- a/config/metrics/counts_7d/20220307150854_p_ci_templates_database_liquibase_weekly.yml +++ b/config/metrics/counts_7d/20220307150854_p_ci_templates_database_liquibase_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_liquibase_weekly description: "" product_section: "" product_stage: "" -product_group: "" +product_group: pipeline_authoring value_type: number status: active milestone: "14.9" diff --git a/config/metrics/counts_7d/20220310184320_p_ci_templates_matlab_weekly.yml b/config/metrics/counts_7d/20220310184320_p_ci_templates_matlab_weekly.yml index 7f6c1d24617..aace87f773f 100644 --- a/config/metrics/counts_7d/20220310184320_p_ci_templates_matlab_weekly.yml +++ b/config/metrics/counts_7d/20220310184320_p_ci_templates_matlab_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_matlab_weekly description: "" product_section: "" product_stage: "" -product_group: "" +product_group: pipeline_authoring value_type: number status: active milestone: "14.10" diff --git a/config/metrics/counts_7d/20220407125901_p_ci_templates_themekit_weekly.yml b/config/metrics/counts_7d/20220407125901_p_ci_templates_themekit_weekly.yml index a13c9d88d28..4b4dd913647 100644 --- a/config/metrics/counts_7d/20220407125901_p_ci_templates_themekit_weekly.yml +++ b/config/metrics/counts_7d/20220407125901_p_ci_templates_themekit_weekly.yml @@ -3,7 +3,7 @@ key_path: redis_hll_counters.ci_templates.p_ci_templates_themekit_weekly description: '' product_section: '' product_stage: '' -product_group: '' +product_group: pipeline_authoring value_type: number status: active milestone: "14.10" diff --git a/config/sidekiq_queues.yml b/config/sidekiq_queues.yml index 6bfac8782f5..730dda4bfc4 100644 --- a/config/sidekiq_queues.yml +++ b/config/sidekiq_queues.yml @@ -333,8 +333,6 @@ - 1 - - github_importer - 1 -- - gitlab_performance_bar_stats - - 1 - - gitlab_subscriptions_add_on_purchases_bulk_refresh_user_assignments - 1 - - gitlab_subscriptions_add_on_purchases_cleanup_user_add_on_assignment diff --git a/danger/architecture/Dangerfile b/danger/architecture/Dangerfile index a8cfbab394f..e5d79f18b47 100644 --- a/danger/architecture/Dangerfile +++ b/danger/architecture/Dangerfile @@ -15,7 +15,7 @@ BLUEPRINT_LONG_MESSAGE = <<~MSG #{BLUEPRINT_SHORT_MESSAGE} -Following files, that may require the additional review, have been changed: +The following files, which might require the additional review, have been changed: #{helper.markdown_list(blueprint_changes.to_set)} MSG diff --git a/danger/documentation/Dangerfile b/danger/documentation/Dangerfile index f7fa0d9fcf2..88b214d9abb 100644 --- a/danger/documentation/Dangerfile +++ b/danger/documentation/Dangerfile @@ -13,8 +13,9 @@ docs_paths_to_review = helper.changes_by_category[:docs] # Some docs do not need a review from a Technical Writer. # In these cases, we'll output a message specific to the section. sections_with_no_tw_review = { - 'doc/solutions' => [], - 'doc/development' => [] + 'doc/architecture' => [], + 'doc/development' => [], + 'doc/solutions' => [] }.freeze # One exception to the exceptions above: Technical Writing docs should get a TW review. @@ -36,12 +37,12 @@ def add_labels(labels) helper.labels_to_add.concat(%w[documentation type::maintenance maintenance::refactor] + labels) end -SOLUTIONS_MESSAGE = <<~MSG -This MR contains docs in the /solutions directory and should be reviewed by a Solutions Architect approver. You do not need tech writer review. +ANY_MAINTAINER_CAN_MERGE_MESSAGE = <<~MSG +This MR contains docs in the /%s directory, but any Maintainer (other than the author) can merge. You do not need tech writer review. MSG -DEVELOPMENT_MESSAGE = <<~MSG -This MR contains docs in the /development directory. Any Maintainer, other than the author, can merge. You do not need tech writer review. +SOLUTIONS_MESSAGE = <<~MSG +This MR contains docs in the /doc/solutions directory and should be reviewed by a Solutions Architect approver. You do not need tech writer review. MSG # For regular pages, prompt for a TW review @@ -76,14 +77,18 @@ MSG # Output messages warn(DOCUMENTATION_UPDATE_MISSING) if docs_paths_to_review.empty? && feature_mr? -if sections_with_no_tw_review["doc/solutions"].any? - add_labels(SOLUTIONS_LABELS) - message(SOLUTIONS_MESSAGE) +if sections_with_no_tw_review["doc/architecture"].any? + message(format(ANY_MAINTAINER_CAN_MERGE_MESSAGE, directory: 'doc/architecture')) end if sections_with_no_tw_review["doc/development"].any? add_labels(DEVELOPMENT_LABELS) - message(DEVELOPMENT_MESSAGE) + message(format(ANY_MAINTAINER_CAN_MERGE_MESSAGE, directory: 'doc/development')) +end + +if sections_with_no_tw_review["doc/solutions"].any? + add_labels(SOLUTIONS_LABELS) + message(SOLUTIONS_MESSAGE) end unless docs_paths_to_review.empty? diff --git a/db/docs/subscription_add_ons.yml b/db/docs/subscription_add_ons.yml index 93730f80a99..51594664b23 100644 --- a/db/docs/subscription_add_ons.yml +++ b/db/docs/subscription_add_ons.yml @@ -7,4 +7,4 @@ feature_categories: - subscription_management classes: - GitlabSubscriptions::AddOn -gitlab_schema: gitlab_main +gitlab_schema: gitlab_main_clusterwide diff --git a/doc/architecture/blueprints/ai_gateway/index.md b/doc/architecture/blueprints/ai_gateway/index.md index f88d89c8e83..eebaafdcb77 100644 --- a/doc/architecture/blueprints/ai_gateway/index.md +++ b/doc/architecture/blueprints/ai_gateway/index.md @@ -129,13 +129,18 @@ endpoint, while several features that summarize issues or merge requests could use the same endpoint but make the distinction on what information is provided in the payload. -The end goal is to build an API that exposes AI for building -features without having to touch the AI-gateway. This is analogous to -how we built Gitaly, adding features to Gitaly where it was needed, -and reusing existing endpoints when that was possible. We had some -cost to pay up-front in the case where we needed to implement a new -endpoint (RPC), but pays off in the long run when most of the required -functionality is implemented. +Our goal is to minimize code that we can't update on a customer's behalf, which means avoiding hard-coding AI-related logic in the GitLab monolith codebase: + +- We want to minimize the time required for customers to adopt our latest features, and +- We want to retain the flexibility to make changes in our product without breaking support for a long-tail of older instances. +- We want to be able to serve all GitLab distributions (.com SaaS, Self-managed, and Dedicated) with minimal complexity. +- We want to isolate AI capabilities to reduce risk and have a unified control plane. +- We want to provide a unified implementation that can support our "best-in-class" multi-model ensemble approach allowing us to easily support many AI models and AI vendors. +- We want a single point for controlling and measuring cost. +- As much as possible, we want to track metrics (usage statistics, failures to respond, usage pattern, question categories, etc.) in the gateway rather than distributed across many points. (Of course some metrics can only be captured on the client side.) + +Having the business logic in GitLab-Rails requires customers to upgrade their GitLab instances, which affects the first point. Some of the on-premises users can't upgrade their instances immediately due to their company policy. +For example, if we had a bug in a prompt template in GitLab-Rails and fixed it in 16.6, and customers are using 16.5 and the next upgrade is scheduled in 3 months, they have to use the buggy feature for 3 months. **This does not mean that prompts need to be built inside the AI-gateway.** But if prompts are part of the payload to a single diff --git a/lib/gitlab/performance_bar/redis_adapter_when_peek_enabled.rb b/lib/gitlab/performance_bar/redis_adapter_when_peek_enabled.rb index 4eeed8825ff..820c8a08fb4 100644 --- a/lib/gitlab/performance_bar/redis_adapter_when_peek_enabled.rb +++ b/lib/gitlab/performance_bar/redis_adapter_when_peek_enabled.rb @@ -16,39 +16,27 @@ module Gitlab # schedules a job which parses peek profile data and adds them # to a structured log # rubocop:disable Gitlab/ModuleWithInstanceVariables + # rubocop:disable CodeReuse/ActiveRecord -- needed because of `.exists?` method + # usage (which is actually not AR method) def enqueue_stats_job(request_id) return unless Feature.enabled?(:performance_bar_stats, type: :ops) + cache_existed = @client.exists?(GitlabPerformanceBarStatsWorker::STATS_KEY) @client.sadd?(GitlabPerformanceBarStatsWorker::STATS_KEY, request_id) - # We skip transaction check as the transaction check fails the system spec for - # spec/features/user_can_display_performance_bar_spec.rb. - # See issue: https://gitlab.com/gitlab-org/gitlab/-/issues/441535 - uuid = Gitlab::ExclusiveLease.skipping_transaction_check do - Gitlab::ExclusiveLease.new( - GitlabPerformanceBarStatsWorker::LEASE_KEY, - timeout: GitlabPerformanceBarStatsWorker::LEASE_TIMEOUT - ).try_obtain - end - - return unless uuid + return if cache_existed # stats key should be periodically processed and deleted by # GitlabPerformanceBarStatsWorker but if it doesn't happen for # some reason, we set expiration for the stats key to avoid # keeping millions of request ids which would be already expired # anyway - # rubocop:disable Gitlab/ModuleWithInstanceVariables @client.expire( GitlabPerformanceBarStatsWorker::STATS_KEY, GitlabPerformanceBarStatsWorker::STATS_KEY_EXPIRE ) - - GitlabPerformanceBarStatsWorker.perform_in( - GitlabPerformanceBarStatsWorker::WORKER_DELAY, - uuid - ) end + # rubocop:enable CodeReuse/ActiveRecord # rubocop:enable Gitlab/ModuleWithInstanceVariables end end diff --git a/qa/Gemfile b/qa/Gemfile index 82bbf49761c..81d98bf869d 100644 --- a/qa/Gemfile +++ b/qa/Gemfile @@ -26,7 +26,7 @@ gem 'rspec-parameterized', '~> 1.0.0' gem 'octokit', '~> 8.1.0' gem "faraday-retry", "~> 2.2" gem 'zeitwerk', '~> 2.6', '>= 2.6.13' -gem 'influxdb-client', '~> 3.0' +gem 'influxdb-client', '~> 3.1' gem 'terminal-table', '~> 3.0.2', require: false gem 'slack-notifier', '~> 2.4', require: false gem 'fog-google', '~> 1.19', require: false diff --git a/qa/Gemfile.lock b/qa/Gemfile.lock index e6795d54ae2..13b69c8dae8 100644 --- a/qa/Gemfile.lock +++ b/qa/Gemfile.lock @@ -185,7 +185,7 @@ GEM httpclient (2.8.3) i18n (1.14.1) concurrent-ruby (~> 1.0) - influxdb-client (3.0.0) + influxdb-client (3.1.0) jwt (2.5.0) knapsack (4.0.0) rake @@ -361,7 +361,7 @@ DEPENDENCIES gitlab-qa (~> 14, >= 14.2.1) gitlab-utils! gitlab_quality-test_tooling (~> 1.11.0) - influxdb-client (~> 3.0) + influxdb-client (~> 3.1) knapsack (~> 4.0) nokogiri (~> 1.16, >= 1.16.2) octokit (~> 8.1.0) diff --git a/spec/frontend/ide/init_gitlab_web_ide_spec.js b/spec/frontend/ide/init_gitlab_web_ide_spec.js index d7a16bec1c3..b8157dc01c6 100644 --- a/spec/frontend/ide/init_gitlab_web_ide_spec.js +++ b/spec/frontend/ide/init_gitlab_web_ide_spec.js @@ -87,6 +87,7 @@ describe('ide/init_gitlab_web_ide', () => { beforeEach(() => { gon.current_username = TEST_USERNAME; + gon.features = { webIdeSettingsSync: true }; process.env.GITLAB_WEB_IDE_PUBLIC_PATH = TEST_GITLAB_WEB_IDE_PUBLIC_PATH; confirmAction.mockImplementation( @@ -134,6 +135,9 @@ describe('ide/init_gitlab_web_ide', () => { feedbackIssue: GITLAB_WEB_IDE_FEEDBACK_ISSUE, signIn: TEST_SIGN_IN_PATH, }, + featureFlags: { + settingsSync: gon.features.webIdeSettingsSync, + }, editorFont: { fallbackFontFamily: 'monospace', fontFaces: [ diff --git a/spec/lib/gitlab/performance_bar/redis_adapter_when_peek_enabled_spec.rb b/spec/lib/gitlab/performance_bar/redis_adapter_when_peek_enabled_spec.rb index d42cef8bcba..a8ec532c5a5 100644 --- a/spec/lib/gitlab/performance_bar/redis_adapter_when_peek_enabled_spec.rb +++ b/spec/lib/gitlab/performance_bar/redis_adapter_when_peek_enabled_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::PerformanceBar::RedisAdapterWhenPeekEnabled do +RSpec.describe Gitlab::PerformanceBar::RedisAdapterWhenPeekEnabled, feature_category: :metrics do include ExclusiveLeaseHelpers let(:peek_adapter) do @@ -28,8 +28,7 @@ RSpec.describe Gitlab::PerformanceBar::RedisAdapterWhenPeekEnabled do end it 'stores request id and enqueues stats job' do - expect_to_obtain_exclusive_lease(GitlabPerformanceBarStatsWorker::LEASE_KEY, uuid) - expect(GitlabPerformanceBarStatsWorker).to receive(:perform_in).with(GitlabPerformanceBarStatsWorker::WORKER_DELAY, uuid) + expect(client).to receive(:exists?).with(GitlabPerformanceBarStatsWorker::STATS_KEY).and_return(false) expect(client).to receive(:sadd?).with(GitlabPerformanceBarStatsWorker::STATS_KEY, uuid) expect(client).to receive(:expire).with(GitlabPerformanceBarStatsWorker::STATS_KEY, GitlabPerformanceBarStatsWorker::STATS_KEY_EXPIRE) @@ -42,24 +41,10 @@ RSpec.describe Gitlab::PerformanceBar::RedisAdapterWhenPeekEnabled do end it 'ignores stats processing for the request' do - expect(GitlabPerformanceBarStatsWorker).not_to receive(:perform_in) expect(client).not_to receive(:sadd) peek_adapter.new(client).save('foo') end end - - context 'when exclusive lease has been already taken' do - before do - stub_exclusive_lease_taken(GitlabPerformanceBarStatsWorker::LEASE_KEY) - end - - it 'stores request id but does not enqueue any job' do - expect(GitlabPerformanceBarStatsWorker).not_to receive(:perform_in) - expect(client).to receive(:sadd?).with(GitlabPerformanceBarStatsWorker::STATS_KEY, uuid) - - peek_adapter.new(client).save('foo') - end - end end end diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml index fbc94e42e66..8f011046195 100644 --- a/spec/support/rspec_order_todo.yml +++ b/spec/support/rspec_order_todo.yml @@ -1487,7 +1487,6 @@ - './ee/spec/models/analytics/cycle_analytics/group_level_spec.rb' - './ee/spec/models/analytics/devops_adoption/enabled_namespace_spec.rb' - './ee/spec/models/analytics/devops_adoption/snapshot_spec.rb' -- './ee/spec/models/analytics/issues_analytics_spec.rb' - './ee/spec/models/analytics/language_trend/repository_language_spec.rb' - './ee/spec/models/application_setting_spec.rb' - './ee/spec/models/approval_merge_request_rule_spec.rb' diff --git a/spec/workers/gitlab_performance_bar_stats_worker_spec.rb b/spec/workers/gitlab_performance_bar_stats_worker_spec.rb index 45fb58826ba..7915b96b230 100644 --- a/spec/workers/gitlab_performance_bar_stats_worker_spec.rb +++ b/spec/workers/gitlab_performance_bar_stats_worker_spec.rb @@ -9,11 +9,9 @@ RSpec.describe GitlabPerformanceBarStatsWorker, feature_category: :metrics do describe '#perform' do let(:redis) { double(Gitlab::Redis::SharedState) } - let(:uuid) { 1 } before do expect(Gitlab::Redis::Cache).to receive(:with).and_yield(redis) - expect_to_cancel_exclusive_lease(GitlabPerformanceBarStatsWorker::LEASE_KEY, uuid) end it 'fetches list of request ids and processes them' do @@ -24,7 +22,7 @@ RSpec.describe GitlabPerformanceBarStatsWorker, feature_category: :metrics do expect(stats).to receive(:process).with(2) end - worker.perform(uuid) + worker.perform end end end