diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-05 19:20:45 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-05 19:20:45 +0300 |
commit | d298fad0c0564454271cba11e6f20c19681534ac (patch) | |
tree | 0a19d07d8b3bdd2574617305c300e404f2ace581 /config | |
parent | c9f9eec79cab801a50db698f682aacffbedf07f7 (diff) |
Add latest changes from gitlab-org/gitlab@13-9-stable-eev13.9.0-rc41
Diffstat (limited to 'config')
239 files changed, 902 insertions, 418 deletions
diff --git a/config/application.rb b/config/application.rb index a8b6bc937cf..7e15d02a6da 100644 --- a/config/application.rb +++ b/config/application.rb @@ -176,12 +176,15 @@ module Gitlab config.assets.precompile << "notify.css" config.assets.precompile << "mailers/*.css" config.assets.precompile << "page_bundles/_mixins_and_variables_and_functions.css" + config.assets.precompile << "page_bundles/admin/application_settings_metrics_and_profiling.css" + config.assets.precompile << "page_bundles/admin/jobs_index.css" config.assets.precompile << "page_bundles/alert_management_details.css" config.assets.precompile << "page_bundles/alert_management_settings.css" config.assets.precompile << "page_bundles/boards.css" config.assets.precompile << "page_bundles/build.css" config.assets.precompile << "page_bundles/ci_status.css" config.assets.precompile << "page_bundles/cycle_analytics.css" + config.assets.precompile << "page_bundles/security_discover.css" config.assets.precompile << "page_bundles/dev_ops_report.css" config.assets.precompile << "page_bundles/environments.css" config.assets.precompile << "page_bundles/epics.css" @@ -287,6 +290,14 @@ module Gitlab methods: :any, expose: headers_to_expose end + + # Cross-origin requests must be enabled for the Authorization code with PKCE OAuth flow when used from a browser. + allow do + origins '*' + resource '/oauth/token', + credentials: false, + methods: [:post] + end end # Use caching across all environments @@ -368,30 +379,5 @@ module Gitlab end end end - - config.after_initialize do - # Devise (see initializers/8_devise.rb) already reloads routes if - # eager loading is enabled, so don't do this twice since it's - # expensive. - Rails.application.reload_routes! unless config.eager_load - - project_url_helpers = Module.new do - extend ActiveSupport::Concern - - Gitlab::Application.routes.named_routes.helper_names.each do |name| - next unless name.include?('namespace_project') - - define_method(name.sub('namespace_project', 'project')) do |project, *args| - send(name, project&.namespace, project, *args) - end - end - end - - # We add the MilestonesRoutingHelper because we know that this does not - # conflict with the methods defined in `project_url_helpers`, and we want - # these methods available in the same places. - Gitlab::Routing.add_helpers(project_url_helpers) - Gitlab::Routing.add_helpers(TimeboxesRoutingHelper) - end end end diff --git a/config/boot.rb b/config/boot.rb index da4e6b7290c..41bf7953737 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) # Set up gems listed in the Gemfile. diff --git a/config/dependency_decisions.yml b/config/dependency_decisions.yml index c12ede63fba..774254d2ff1 100644 --- a/config/dependency_decisions.yml +++ b/config/dependency_decisions.yml @@ -310,7 +310,7 @@ - dompurify - Apache-2.0 - :who: Lukas Eipert - :why: "https://github.com/cure53/DOMPurify/blob/main/LICENSE and https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31928#note_346604841" + :why: https://github.com/cure53/DOMPurify/blob/main/LICENSE and https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31928#note_346604841 :versions: [] :when: 2020-08-13 13:42:46.508082000 Z - - :permit @@ -325,3 +325,9 @@ :why: Used to generate documentation. https://pypi.org/project/docutils/0.13.1/ :versions: [] :when: 2020-10-05 20:22:55.955189491 Z +- - :permit + - WTFPL + - :who: Stan Hu + :why: https://github.com/xijo/reverse_markdown/blob/master/LICENSE + :versions: [] + :when: 2021-02-03 08:47:28.792907000 Z diff --git a/config/environment.rb b/config/environment.rb index 426333bb469..d5abe55806c 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Load the Rails application. require_relative 'application' diff --git a/config/environments/development.rb b/config/environments/development.rb index 31a3af77ba1..146cdd4f5a7 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb diff --git a/config/environments/production.rb b/config/environments/production.rb index d9b3ee354b0..e1a7db8d860 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb diff --git a/config/environments/test.rb b/config/environments/test.rb index 4e359cd308c..2c6ab3bbc79 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'gitlab/testing/request_blocker_middleware' require 'gitlab/testing/robots_blocker_middleware' require 'gitlab/testing/request_inspector_middleware' diff --git a/config/feature_categories.yml b/config/feature_categories.yml index 805cc3b50a3..5c7ae175d1d 100644 --- a/config/feature_categories.yml +++ b/config/feature_categories.yml @@ -66,6 +66,7 @@ - jenkins_importer - jira_importer - kubernetes_management +- license - license_compliance - live_preview - load_testing @@ -84,7 +85,6 @@ - privacy_control_center - product_analytics - projects -- provision - purchase - quality_management - release_evidence @@ -113,6 +113,7 @@ - usability_testing - usage_ping - users +- utilization - value_stream_management - vulnerability_database - vulnerability_management diff --git a/config/feature_flags/development/add_issues_button.yml b/config/feature_flags/development/add_issues_button.yml index cc4727a29c4..12a6ef61bba 100644 --- a/config/feature_flags/development/add_issues_button.yml +++ b/config/feature_flags/development/add_issues_button.yml @@ -1,7 +1,7 @@ --- name: add_issues_button introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47898 -rollout_issue_url: +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292803 milestone: '13.6' type: development group: group::project management diff --git a/config/feature_flags/development/ajax_new_deploy_token.yml b/config/feature_flags/development/ajax_new_deploy_token.yml index 9a6826e6993..6b0d9697006 100644 --- a/config/feature_flags/development/ajax_new_deploy_token.yml +++ b/config/feature_flags/development/ajax_new_deploy_token.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27141 rollout_issue_url: milestone: '12.10' type: development -group: group::progressive delivery +group: group::release default_enabled: false diff --git a/config/feature_flags/development/allow_group_deploy_token.yml b/config/feature_flags/development/allow_group_deploy_token.yml index 91437352ad8..83f8f86b02c 100644 --- a/config/feature_flags/development/allow_group_deploy_token.yml +++ b/config/feature_flags/development/allow_group_deploy_token.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23460 rollout_issue_url: milestone: '12.8' type: development -group: group::progressive delivery +group: group::release default_enabled: true diff --git a/config/feature_flags/development/api_json_content_type.yml b/config/feature_flags/development/api_always_use_application_json.yml index 5653a834e62..4405ef64012 100644 --- a/config/feature_flags/development/api_json_content_type.yml +++ b/config/feature_flags/development/api_always_use_application_json.yml @@ -1,5 +1,5 @@ --- -name: api_json_content_type +name: api_always_use_application_json introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42229 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/270067 milestone: '13.6' diff --git a/config/feature_flags/development/archive_rate_limit.yml b/config/feature_flags/development/archive_rate_limit.yml index ee4af4d2835..3318d7fa939 100644 --- a/config/feature_flags/development/archive_rate_limit.yml +++ b/config/feature_flags/development/archive_rate_limit.yml @@ -1,8 +1,8 @@ --- name: archive_rate_limit -introduced_by_url: +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25750 rollout_issue_url: -milestone: +milestone: '12.9' type: development -group: +group: group::source code default_enabled: false diff --git a/config/feature_flags/development/batch_suggestions.yml b/config/feature_flags/development/batch_suggestions.yml index f2bb0a8f9cb..b6180a6990b 100644 --- a/config/feature_flags/development/batch_suggestions.yml +++ b/config/feature_flags/development/batch_suggestions.yml @@ -1,8 +1,8 @@ --- name: batch_suggestions -introduced_by_url: +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34782 rollout_issue_url: -milestone: +milestone: '13.1' type: development -group: +group: group::code review default_enabled: true diff --git a/config/feature_flags/development/variables_in_include_section_ci.yml b/config/feature_flags/development/board_new_list.yml index f6fc810e6f2..e80da8c554f 100644 --- a/config/feature_flags/development/variables_in_include_section_ci.yml +++ b/config/feature_flags/development/board_new_list.yml @@ -1,8 +1,8 @@ --- -name: variables_in_include_section_ci -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50188/ -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/294294 +name: board_new_list +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52061 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299366 milestone: '13.8' type: development -group: group::compliance +group: group::project management default_enabled: false diff --git a/config/feature_flags/development/optional_code_owners_sections.yml b/config/feature_flags/development/branches_pagination_without_count.yml index a7933f42fc9..e342f302b2c 100644 --- a/config/feature_flags/development/optional_code_owners_sections.yml +++ b/config/feature_flags/development/branches_pagination_without_count.yml @@ -1,8 +1,8 @@ --- -name: optional_code_owners_sections -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51002 +name: branches_pagination_without_count +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50759 rollout_issue_url: -milestone: '13.8' +milestone: '13.9' type: development group: group::source code default_enabled: true diff --git a/config/feature_flags/development/builds.yml b/config/feature_flags/development/builds.yml deleted file mode 100644 index 9787c2b1e20..00000000000 --- a/config/feature_flags/development/builds.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: builds -introduced_by_url: -rollout_issue_url: -milestone: -type: development -group: -default_enabled: true diff --git a/config/feature_flags/development/cached_sidebar_open_issues_count.yml b/config/feature_flags/development/cached_sidebar_open_issues_count.yml new file mode 100644 index 00000000000..e94566057fc --- /dev/null +++ b/config/feature_flags/development/cached_sidebar_open_issues_count.yml @@ -0,0 +1,8 @@ +--- +name: cached_sidebar_open_issues_count +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49739 +rollout_issue_url: +milestone: '13.8' +type: development +group: group::product planning +default_enabled: false diff --git a/config/feature_flags/development/canary_ingress_weight_control.yml b/config/feature_flags/development/canary_ingress_weight_control.yml index b2b5a3e5dfa..66d3f2de0ea 100644 --- a/config/feature_flags/development/canary_ingress_weight_control.yml +++ b/config/feature_flags/development/canary_ingress_weight_control.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43816 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/260295 milestone: '13.5' type: development -group: group::progressive delivery +group: group::release default_enabled: true diff --git a/config/feature_flags/development/changelog_api.yml b/config/feature_flags/development/changelog_api.yml new file mode 100644 index 00000000000..1c90f05a0ed --- /dev/null +++ b/config/feature_flags/development/changelog_api.yml @@ -0,0 +1,8 @@ +--- +name: changelog_api +introduced_by_url: '13.9' +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300043 +milestone: '13.9' +type: development +group: group::source code +default_enabled: false diff --git a/config/feature_flags/development/graphql_pipeline_header.yml b/config/feature_flags/development/ci_accept_frontend_prometheus_metrics.yml index 1d400c17452..b795b2505d8 100644 --- a/config/feature_flags/development/graphql_pipeline_header.yml +++ b/config/feature_flags/development/ci_accept_frontend_prometheus_metrics.yml @@ -1,8 +1,8 @@ --- -name: graphql_pipeline_header -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39494 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254235 -milestone: '13.5' +name: ci_accept_frontend_prometheus_metrics +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52820 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300770 +milestone: '13.9' type: development group: group::pipeline authoring default_enabled: false diff --git a/config/feature_flags/development/ci_auto_cancel_all_pipelines.yml b/config/feature_flags/development/ci_auto_cancel_all_pipelines.yml deleted file mode 100644 index 7dfc6146b08..00000000000 --- a/config/feature_flags/development/ci_auto_cancel_all_pipelines.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: ci_auto_cancel_all_pipelines -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46686 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/275997 -milestone: '13.6' -type: development -group: group::pipeline authoring -default_enabled: true diff --git a/config/feature_flags/development/ci_disallow_to_create_merge_request_pipelines_in_target_project.yml b/config/feature_flags/development/ci_disallow_to_create_merge_request_pipelines_in_target_project.yml index 4b134457a20..3962af65540 100644 --- a/config/feature_flags/development/ci_disallow_to_create_merge_request_pipelines_in_target_project.yml +++ b/config/feature_flags/development/ci_disallow_to_create_merge_request_pipelines_in_target_project.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40724 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/235119 milestone: '13.4' type: development -group: group::progressive delivery +group: group::release default_enabled: false diff --git a/config/feature_flags/development/ci_instance_variables_ui.yml b/config/feature_flags/development/ci_instance_variables_ui.yml index f5cd2d21bd1..73bc0346818 100644 --- a/config/feature_flags/development/ci_instance_variables_ui.yml +++ b/config/feature_flags/development/ci_instance_variables_ui.yml @@ -1,7 +1,7 @@ --- name: ci_instance_variables_ui introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33510 -rollout_issue_url: +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299879 milestone: '13.1' type: development group: group::continuous integration diff --git a/config/feature_flags/development/ci_job_jwt.yml b/config/feature_flags/development/ci_job_jwt.yml index cba278c9103..ef2f43175ed 100644 --- a/config/feature_flags/development/ci_job_jwt.yml +++ b/config/feature_flags/development/ci_job_jwt.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28063 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/207125 milestone: '12.10' type: development -group: group::release management +group: group::release default_enabled: true diff --git a/config/feature_flags/development/ci_jwt_signing_key.yml b/config/feature_flags/development/ci_jwt_signing_key.yml index 4f37b49d797..021f4e49e41 100644 --- a/config/feature_flags/development/ci_jwt_signing_key.yml +++ b/config/feature_flags/development/ci_jwt_signing_key.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34249 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258546 milestone: '13.6' type: development -group: group::release management +group: group::release default_enabled: true diff --git a/config/feature_flags/development/new_pipeline_form_prefilled_vars.yml b/config/feature_flags/development/ci_mini_pipeline_gl_dropdown.yml index 0354b18fafd..fccebf552a9 100644 --- a/config/feature_flags/development/new_pipeline_form_prefilled_vars.yml +++ b/config/feature_flags/development/ci_mini_pipeline_gl_dropdown.yml @@ -1,8 +1,8 @@ --- -name: new_pipeline_form_prefilled_vars -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44120 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263276 -milestone: '13.5' +name: ci_mini_pipeline_gl_dropdown +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52821 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300400 +milestone: '13.9' type: development group: group::continuous integration -default_enabled: true +default_enabled: false diff --git a/config/feature_flags/development/ci_store_pipeline_messages.yml b/config/feature_flags/development/ci_store_pipeline_messages.yml index ae20b11f79c..702e4d891a9 100644 --- a/config/feature_flags/development/ci_store_pipeline_messages.yml +++ b/config/feature_flags/development/ci_store_pipeline_messages.yml @@ -1,7 +1,7 @@ --- name: ci_store_pipeline_messages introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33762 -rollout_issue_url: +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/224199 milestone: '13.2' type: development group: group::continuous integration diff --git a/config/feature_flags/development/ci_synchronous_artifact_parsing.yml b/config/feature_flags/development/ci_synchronous_artifact_parsing.yml index a5cf148559f..ab3a35e409b 100644 --- a/config/feature_flags/development/ci_synchronous_artifact_parsing.yml +++ b/config/feature_flags/development/ci_synchronous_artifact_parsing.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26247 rollout_issue_url: milestone: '12.9' type: development -group: group::progressive delivery +group: group::release default_enabled: true diff --git a/config/feature_flags/development/ci_validate_build_dependencies.yml b/config/feature_flags/development/ci_validate_build_dependencies.yml new file mode 100644 index 00000000000..885bdcf0c20 --- /dev/null +++ b/config/feature_flags/development/ci_validate_build_dependencies.yml @@ -0,0 +1,8 @@ +--- +name: ci_validate_build_dependencies +introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14009 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257852 +milestone: '10.3' +type: development +group: group::continuous integration +default_enabled: true diff --git a/config/feature_flags/development/ci_disable_validates_dependencies.yml b/config/feature_flags/development/ci_validate_build_dependencies_override.yml index fd5b3d41eef..bce4b88ca39 100644 --- a/config/feature_flags/development/ci_disable_validates_dependencies.yml +++ b/config/feature_flags/development/ci_validate_build_dependencies_override.yml @@ -1,7 +1,7 @@ --- -name: ci_disable_validates_dependencies +name: ci_validate_build_dependencies_override introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14009 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257847 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257852 milestone: '10.3' type: development group: group::continuous integration diff --git a/config/feature_flags/development/codequality_backend_comparison.yml b/config/feature_flags/development/codequality_backend_comparison.yml new file mode 100644 index 00000000000..f7c3c14f674 --- /dev/null +++ b/config/feature_flags/development/codequality_backend_comparison.yml @@ -0,0 +1,8 @@ +--- +name: codequality_backend_comparison +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53068 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300796 +milestone: '13.9' +type: development +group: group::testing +default_enabled: false diff --git a/config/feature_flags/development/context_commits.yml b/config/feature_flags/development/context_commits.yml index 270a058558b..bd71cf49da2 100644 --- a/config/feature_flags/development/context_commits.yml +++ b/config/feature_flags/development/context_commits.yml @@ -1,8 +1,8 @@ --- name: context_commits -introduced_by_url: +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23701 rollout_issue_url: -milestone: +milestone: '12.8' type: development -group: +group: group::code review default_enabled: true diff --git a/config/feature_flags/development/core_security_mr_widget_downloads.yml b/config/feature_flags/development/core_security_mr_widget_downloads.yml deleted file mode 100644 index d89fbc302b3..00000000000 --- a/config/feature_flags/development/core_security_mr_widget_downloads.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: core_security_mr_widget_downloads -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48769 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/273418 -milestone: '13.7' -type: development -group: group::static analysis -default_enabled: true diff --git a/config/feature_flags/development/dag_pipeline_tab.yml b/config/feature_flags/development/dag_pipeline_tab.yml deleted file mode 100644 index f2ae897df8e..00000000000 --- a/config/feature_flags/development/dag_pipeline_tab.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: dag_pipeline_tab -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30310 -rollout_issue_url: -milestone: '13.0' -type: development -group: group::pipeline authoring -default_enabled: true diff --git a/config/feature_flags/development/deploy_keys_on_protected_branches.yml b/config/feature_flags/development/deploy_keys_on_protected_branches.yml index 438726c0315..6306d5a63d4 100644 --- a/config/feature_flags/development/deploy_keys_on_protected_branches.yml +++ b/config/feature_flags/development/deploy_keys_on_protected_branches.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35638 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/247866 milestone: '13.5' type: development -group: group::progressive delivery +group: group::release default_enabled: false diff --git a/config/feature_flags/development/drop_license_management_artifact.yml b/config/feature_flags/development/drop_license_management_artifact.yml index 1be40187b43..23c2290c07d 100644 --- a/config/feature_flags/development/drop_license_management_artifact.yml +++ b/config/feature_flags/development/drop_license_management_artifact.yml @@ -1,8 +1,8 @@ --- name: drop_license_management_artifact -introduced_by_url: -rollout_issue_url: -milestone: +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31247 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299114 +milestone: 13.0 type: development group: group::composition analysis default_enabled: true diff --git a/config/feature_flags/development/dynamic_nonce_creation.yml b/config/feature_flags/development/dynamic_nonce_creation.yml new file mode 100644 index 00000000000..b135f288554 --- /dev/null +++ b/config/feature_flags/development/dynamic_nonce_creation.yml @@ -0,0 +1,8 @@ +--- +name: dynamic_nonce_creation +introduced_by_url: +rollout_issue_url: +milestone: '13.9' +type: development +group: group::manage +default_enabled: false diff --git a/config/feature_flags/development/feature_flag_api.yml b/config/feature_flags/development/feature_flag_api.yml index 3dc1d87d741..167b5ff4cf2 100644 --- a/config/feature_flags/development/feature_flag_api.yml +++ b/config/feature_flags/development/feature_flag_api.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18198 rollout_issue_url: milestone: '12.4' type: development -group: group::progressive delivery +group: group::release default_enabled: false diff --git a/config/feature_flags/development/feature_flag_permissions.yml b/config/feature_flags/development/feature_flag_permissions.yml index b7a4e8cb1bb..48371af5221 100644 --- a/config/feature_flags/development/feature_flag_permissions.yml +++ b/config/feature_flags/development/feature_flag_permissions.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/10096 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254981 milestone: '11.10' type: development -group: group::progressive delivery +group: group::release default_enabled: false diff --git a/config/feature_flags/development/file_identifier_hash.yml b/config/feature_flags/development/file_identifier_hash.yml index d5dc2b03eb6..84879e6c33e 100644 --- a/config/feature_flags/development/file_identifier_hash.yml +++ b/config/feature_flags/development/file_identifier_hash.yml @@ -1,8 +1,8 @@ --- name: file_identifier_hash -introduced_by_url: +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33028 rollout_issue_url: -milestone: +milestone: '13.1' type: development -group: +group: group::code review default_enabled: false diff --git a/config/feature_flags/development/forking.yml b/config/feature_flags/development/forking.yml deleted file mode 100644 index 77e223d6268..00000000000 --- a/config/feature_flags/development/forking.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: forking -introduced_by_url: -rollout_issue_url: -milestone: -type: development -group: -default_enabled: true diff --git a/config/feature_flags/development/forward_deployment_enabled.yml b/config/feature_flags/development/forward_deployment_enabled.yml index b4ad2e75561..750fad15f15 100644 --- a/config/feature_flags/development/forward_deployment_enabled.yml +++ b/config/feature_flags/development/forward_deployment_enabled.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24412 rollout_issue_url: milestone: '12.8' type: development -group: group::progressive delivery +group: group::release default_enabled: true diff --git a/config/feature_flags/development/generic_packages.yml b/config/feature_flags/development/generic_packages.yml index aa41fb58a56..b2ab35c713c 100644 --- a/config/feature_flags/development/generic_packages.yml +++ b/config/feature_flags/development/generic_packages.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40045 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/239133 milestone: '13.4' type: development -group: group::release management +group: group::release default_enabled: true diff --git a/config/feature_flags/development/gitaly_upload_pack_gitaly_hooks.yml b/config/feature_flags/development/gitaly_upload_pack_gitaly_hooks.yml new file mode 100644 index 00000000000..86e268af772 --- /dev/null +++ b/config/feature_flags/development/gitaly_upload_pack_gitaly_hooks.yml @@ -0,0 +1,8 @@ +--- +name: gitaly_upload_pack_gitaly_hooks +introduced_by_url: +rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/807 +milestone: '13.9' +type: development +group: +default_enabled: false diff --git a/config/feature_flags/development/gitlab_ci_trace_read_consistency.yml b/config/feature_flags/development/gitlab_ci_trace_read_consistency.yml new file mode 100644 index 00000000000..c9936a390dc --- /dev/null +++ b/config/feature_flags/development/gitlab_ci_trace_read_consistency.yml @@ -0,0 +1,8 @@ +--- +name: gitlab_ci_trace_read_consistency +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46976 +rollout_issue_url: +milestone: '13.9' +type: development +group: group::continuous integration +default_enabled: false diff --git a/config/feature_flags/development/graphql_individual_release_page.yml b/config/feature_flags/development/graphql_individual_release_page.yml index 07eac51d380..8cf13ca4854 100644 --- a/config/feature_flags/development/graphql_individual_release_page.yml +++ b/config/feature_flags/development/graphql_individual_release_page.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44779 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263522 milestone: '13.5' type: development -group: group::release management +group: group::release default_enabled: true diff --git a/config/feature_flags/development/graphql_milestone_stats.yml b/config/feature_flags/development/graphql_milestone_stats.yml index f6873e1c9e9..2f09f2b188a 100644 --- a/config/feature_flags/development/graphql_milestone_stats.yml +++ b/config/feature_flags/development/graphql_milestone_stats.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35066 rollout_issue_url: milestone: '13.2' type: development -group: group::release management +group: group::release default_enabled: true diff --git a/config/feature_flags/development/graphql_pipeline_details_users.yml b/config/feature_flags/development/graphql_pipeline_details_users.yml new file mode 100644 index 00000000000..a52cf23c878 --- /dev/null +++ b/config/feature_flags/development/graphql_pipeline_details_users.yml @@ -0,0 +1,8 @@ +--- +name: graphql_pipeline_details_users +introduced_by_url: +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299112 +milestone: '13.9' +type: development +group: group::pipeline authoring +default_enabled: false diff --git a/config/feature_flags/development/graphql_release_data.yml b/config/feature_flags/development/graphql_release_data.yml index ef1f3dbba4c..a49d0ee1a6a 100644 --- a/config/feature_flags/development/graphql_release_data.yml +++ b/config/feature_flags/development/graphql_release_data.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30753 rollout_issue_url: milestone: '13.0' type: development -group: group::release management +group: group::release default_enabled: true diff --git a/config/feature_flags/development/graphql_releases_page.yml b/config/feature_flags/development/graphql_releases_page.yml index 541cf04bd79..b267f0543ec 100644 --- a/config/feature_flags/development/graphql_releases_page.yml +++ b/config/feature_flags/development/graphql_releases_page.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33095 rollout_issue_url: milestone: '13.4' type: development -group: group::release management +group: group::release default_enabled: true diff --git a/config/feature_flags/development/gitlab_experiments.yml b/config/feature_flags/development/group_wiki_import_export.yml index 51fa6aa4529..f9806ef0c28 100644 --- a/config/feature_flags/development/gitlab_experiments.yml +++ b/config/feature_flags/development/group_wiki_import_export.yml @@ -1,8 +1,8 @@ --- -name: gitlab_experiments -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45840 +name: group_wiki_import_export +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51873 rollout_issue_url: -milestone: '13.7' +milestone: '13.9' type: development -group: group::adoption +group: group::editor default_enabled: false diff --git a/config/feature_flags/development/honor_escaped_markdown.yml b/config/feature_flags/development/honor_escaped_markdown.yml new file mode 100644 index 00000000000..6a8f62d5b74 --- /dev/null +++ b/config/feature_flags/development/honor_escaped_markdown.yml @@ -0,0 +1,8 @@ +--- +name: honor_escaped_markdown +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45922 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300531 +milestone: '13.9' +type: development +group: 'group::project management' +default_enabled: false diff --git a/config/feature_flags/development/import_requirements_csv.yml b/config/feature_flags/development/import_requirements_csv.yml deleted file mode 100644 index 736d2204b44..00000000000 --- a/config/feature_flags/development/import_requirements_csv.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: import_requirements_csv -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48060 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284846 -milestone: '13.7' -type: development -group: group::product planning -default_enabled: true diff --git a/config/feature_flags/development/improved_merge_diff_highlighting.yml b/config/feature_flags/development/improved_merge_diff_highlighting.yml new file mode 100644 index 00000000000..61978ff48da --- /dev/null +++ b/config/feature_flags/development/improved_merge_diff_highlighting.yml @@ -0,0 +1,8 @@ +--- +name: improved_merge_diff_highlighting +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52499 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299884 +milestone: '13.9' +type: development +group: group::source code +default_enabled: false diff --git a/config/feature_flags/development/instance_statistics.yml b/config/feature_flags/development/instance_statistics.yml index b5354561d03..3caddad8b69 100644 --- a/config/feature_flags/development/instance_statistics.yml +++ b/config/feature_flags/development/instance_statistics.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40583 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/241711 milestone: '13.4' type: development -group: group::analytics +group: group::optimize default_enabled: true diff --git a/config/feature_flags/development/jira_sync_builds.yml b/config/feature_flags/development/integrations_test_webhook_optimizations.yml index 8cb054b848d..65108cdd516 100644 --- a/config/feature_flags/development/jira_sync_builds.yml +++ b/config/feature_flags/development/integrations_test_webhook_optimizations.yml @@ -1,8 +1,8 @@ --- -name: jira_sync_builds -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49348 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292013 -milestone: '13.7' +name: integrations_test_webhook_optimizations +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52646 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300105 +milestone: '13.9' type: development group: group::ecosystem default_enabled: false diff --git a/config/feature_flags/development/issue_rebalancing_optimization.yml b/config/feature_flags/development/issue_rebalancing_optimization.yml new file mode 100644 index 00000000000..abaeb53f63d --- /dev/null +++ b/config/feature_flags/development/issue_rebalancing_optimization.yml @@ -0,0 +1,8 @@ +--- +name: issue_rebalancing_optimization +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53384 +rollout_issue_url: +milestone: '13.9' +type: development +group: group::project management +default_enabled: false diff --git a/config/feature_flags/development/issues.yml b/config/feature_flags/development/issues.yml deleted file mode 100644 index a6ff572da52..00000000000 --- a/config/feature_flags/development/issues.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: issues -introduced_by_url: -rollout_issue_url: -milestone: -type: development -group: -default_enabled: true diff --git a/config/feature_flags/development/jira_sync_feature_flags.yml b/config/feature_flags/development/jira_issues_show_integration.yml index c5925766919..dd89ace22be 100644 --- a/config/feature_flags/development/jira_sync_feature_flags.yml +++ b/config/feature_flags/development/jira_issues_show_integration.yml @@ -1,8 +1,8 @@ --- -name: jira_sync_feature_flags -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50390 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/296990 -milestone: '13.8' +name: jira_issues_show_integration +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52446 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299832 +milestone: '13.9' type: development group: group::ecosystem default_enabled: false diff --git a/config/feature_flags/development/kubernetes_agent_on_gitlab_com.yml b/config/feature_flags/development/kubernetes_agent_on_gitlab_com.yml new file mode 100644 index 00000000000..fac509224e0 --- /dev/null +++ b/config/feature_flags/development/kubernetes_agent_on_gitlab_com.yml @@ -0,0 +1,8 @@ +--- +name: kubernetes_agent_on_gitlab_com +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53322 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300960 +milestone: '13.9' +type: development +group: group::configure +default_enabled: false diff --git a/config/feature_flags/development/lfs_check.yml b/config/feature_flags/development/lfs_check.yml index 1a6413bd016..8e13d46a02f 100644 --- a/config/feature_flags/development/lfs_check.yml +++ b/config/feature_flags/development/lfs_check.yml @@ -1,8 +1,8 @@ --- name: lfs_check introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/27451 -rollout_issue_url: +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/233550 milestone: '11.11' type: development -group: +group: group::source code default_enabled: true diff --git a/config/feature_flags/development/metrics_dashboard.yml b/config/feature_flags/development/local_file_reviews.yml index 39a7fd1260b..4001f6ade72 100644 --- a/config/feature_flags/development/metrics_dashboard.yml +++ b/config/feature_flags/development/local_file_reviews.yml @@ -1,8 +1,8 @@ --- -name: metrics_dashboard -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29634 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257902 -milestone: '13.0' +name: local_file_reviews +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51513 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/296674 +milestone: '13.9' type: development -group: group::monitor +group: group::code review default_enabled: true diff --git a/config/feature_flags/development/merge_request_rebase_nowait_lock.yml b/config/feature_flags/development/merge_request_rebase_nowait_lock.yml index 3ea69762c1d..73b8fe9ab63 100644 --- a/config/feature_flags/development/merge_request_rebase_nowait_lock.yml +++ b/config/feature_flags/development/merge_request_rebase_nowait_lock.yml @@ -1,8 +1,8 @@ --- name: merge_request_rebase_nowait_lock -introduced_by_url: +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18481 rollout_issue_url: -milestone: +milestone: '12.5' type: development -group: +group: group::code review default_enabled: true diff --git a/config/feature_flags/development/merge_request_refs_cleanup.yml b/config/feature_flags/development/merge_request_refs_cleanup.yml new file mode 100644 index 00000000000..79ea3c8b7a7 --- /dev/null +++ b/config/feature_flags/development/merge_request_refs_cleanup.yml @@ -0,0 +1,8 @@ +--- +name: merge_request_refs_cleanup +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51558 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/296874 +milestone: '13.8' +type: development +group: group::code review +default_enabled: false diff --git a/config/feature_flags/development/merge_requests.yml b/config/feature_flags/development/merge_requests.yml deleted file mode 100644 index 27f5f8b1085..00000000000 --- a/config/feature_flags/development/merge_requests.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: merge_requests -introduced_by_url: -rollout_issue_url: -milestone: -type: development -group: -default_enabled: true diff --git a/config/feature_flags/development/migrate_user_mentions.yml b/config/feature_flags/development/migrate_user_mentions.yml index df9e5477590..2b250994b5a 100644 --- a/config/feature_flags/development/migrate_user_mentions.yml +++ b/config/feature_flags/development/migrate_user_mentions.yml @@ -1,7 +1,7 @@ --- name: migrate_user_mentions introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34378 -rollout_issue_url: +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/231175 milestone: '13.3' type: development group: group::project management diff --git a/config/feature_flags/development/new_release_page.yml b/config/feature_flags/development/new_release_page.yml index c3f757bfc41..7b73c296e4e 100644 --- a/config/feature_flags/development/new_release_page.yml +++ b/config/feature_flags/development/new_release_page.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35367 rollout_issue_url: milestone: '13.2' type: development -group: group::release management +group: group::release default_enabled: true diff --git a/config/feature_flags/development/not_issuable_queries.yml b/config/feature_flags/development/not_issuable_queries.yml index 80aba0fef0f..e5770d1a2ea 100644 --- a/config/feature_flags/development/not_issuable_queries.yml +++ b/config/feature_flags/development/not_issuable_queries.yml @@ -1,7 +1,7 @@ --- name: not_issuable_queries introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27639 -rollout_issue_url: +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292809 milestone: '13.0' type: development group: group::project management diff --git a/config/feature_flags/development/optimized_issuable_label_filter.yml b/config/feature_flags/development/optimized_issuable_label_filter.yml index 4712cdaf230..8385b85e143 100644 --- a/config/feature_flags/development/optimized_issuable_label_filter.yml +++ b/config/feature_flags/development/optimized_issuable_label_filter.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34503 rollout_issue_url: milestone: '13.4' type: development -group: group::analytics -default_enabled: false +group: group::optimize +default_enabled: true diff --git a/config/feature_flags/development/optimized_merge_request_count_with_merged_at_filter.yml b/config/feature_flags/development/optimized_merge_request_count_with_merged_at_filter.yml new file mode 100644 index 00000000000..f27e14aab6c --- /dev/null +++ b/config/feature_flags/development/optimized_merge_request_count_with_merged_at_filter.yml @@ -0,0 +1,8 @@ +--- +name: optimized_merge_request_count_with_merged_at_filter +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52113 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299347 +milestone: '13.9' +type: development +group: group::optimize +default_enabled: false diff --git a/config/feature_flags/development/optimized_timebox_queries.yml b/config/feature_flags/development/optimized_timebox_queries.yml index 215242046c5..eea0b149079 100644 --- a/config/feature_flags/development/optimized_timebox_queries.yml +++ b/config/feature_flags/development/optimized_timebox_queries.yml @@ -1,8 +1,8 @@ --- name: optimized_timebox_queries -introduced_by_url: -rollout_issue_url: -milestone: +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32953 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34043 +milestone: '13.1' type: development -group: +group: group::project management default_enabled: true diff --git a/config/feature_flags/development/pages.yml b/config/feature_flags/development/pages.yml deleted file mode 100644 index b32ab9af770..00000000000 --- a/config/feature_flags/development/pages.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: pages -introduced_by_url: -rollout_issue_url: -milestone: -type: development -group: -default_enabled: true diff --git a/config/feature_flags/development/pages_serve_from_deployments.yml b/config/feature_flags/development/pages_serve_from_deployments.yml index f73e9f5b49d..d13bf2dfaa5 100644 --- a/config/feature_flags/development/pages_serve_from_deployments.yml +++ b/config/feature_flags/development/pages_serve_from_deployments.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46320 rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/2932 milestone: '13.6' type: development -group: group::Release Management +group: group::release default_enabled: true diff --git a/config/feature_flags/development/pages_serve_from_legacy_storage.yml b/config/feature_flags/development/pages_serve_from_legacy_storage.yml new file mode 100644 index 00000000000..37d83106737 --- /dev/null +++ b/config/feature_flags/development/pages_serve_from_legacy_storage.yml @@ -0,0 +1,8 @@ +--- +name: pages_serve_from_legacy_storage +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/297228 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/297524 +milestone: '13.8' +type: development +group: group::release +default_enabled: true diff --git a/config/feature_flags/development/pages_serve_from_migrated_zip.yml b/config/feature_flags/development/pages_serve_from_migrated_zip.yml new file mode 100644 index 00000000000..18b912215b6 --- /dev/null +++ b/config/feature_flags/development/pages_serve_from_migrated_zip.yml @@ -0,0 +1,8 @@ +--- +name: pages_serve_from_migrated_zip +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52573 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300021 +milestone: '13.9' +type: development +group: group::release +default_enabled: false diff --git a/config/feature_flags/development/pages_serve_with_zip_file_protocol.yml b/config/feature_flags/development/pages_serve_with_zip_file_protocol.yml index 7700cf7fae5..2ac0cba2bce 100644 --- a/config/feature_flags/development/pages_serve_with_zip_file_protocol.yml +++ b/config/feature_flags/development/pages_serve_with_zip_file_protocol.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46320 rollout_issue_url: milestone: '13.6' type: development -group: group::Release Management +group: group::release default_enabled: false diff --git a/config/feature_flags/development/ci_pipeline_open_merge_requests.yml b/config/feature_flags/development/pages_update_legacy_storage.yml index 7e2ae1edd34..4a228b4cb8b 100644 --- a/config/feature_flags/development/ci_pipeline_open_merge_requests.yml +++ b/config/feature_flags/development/pages_update_legacy_storage.yml @@ -1,8 +1,8 @@ --- -name: ci_pipeline_open_merge_requests -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38673 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292727 -milestone: '13.7' -group: group::memory +name: pages_update_legacy_storage +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50683 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/296138 +milestone: '13.9' type: development +group: group::release default_enabled: true diff --git a/config/feature_flags/development/preset_root_ancestor_for_labels.yml b/config/feature_flags/development/preset_root_ancestor_for_labels.yml new file mode 100644 index 00000000000..9851bceccd7 --- /dev/null +++ b/config/feature_flags/development/preset_root_ancestor_for_labels.yml @@ -0,0 +1,8 @@ +--- +name: preset_root_ancestor_for_labels +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52236 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299521 +milestone: '13.9' +type: development +group: group::plan +default_enabled: false diff --git a/config/feature_flags/development/prohibit_hexadecimal_branch_names.yml b/config/feature_flags/development/prohibit_hexadecimal_branch_names.yml index cf90ccd0f69..916312b1005 100644 --- a/config/feature_flags/development/prohibit_hexadecimal_branch_names.yml +++ b/config/feature_flags/development/prohibit_hexadecimal_branch_names.yml @@ -1,8 +1,8 @@ --- name: prohibit_hexadecimal_branch_names -introduced_by_url: +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/28439ca4b1dd14f22a5a6ad14530f6bf1046f8bc rollout_issue_url: -milestone: +milestone: '12.10' type: development -group: +group: group::source code default_enabled: true diff --git a/config/feature_flags/development/release_evidence.yml b/config/feature_flags/development/release_evidence.yml index 87648e6a261..3ba5ed86c71 100644 --- a/config/feature_flags/development/release_evidence.yml +++ b/config/feature_flags/development/release_evidence.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26509 rollout_issue_url: milestone: '12.10' type: development -group: group::release management +group: group::release default_enabled: true diff --git a/config/feature_flags/development/release_mr_issue_urls.yml b/config/feature_flags/development/release_mr_issue_urls.yml index b017a716b51..4f9b43ce4e1 100644 --- a/config/feature_flags/development/release_mr_issue_urls.yml +++ b/config/feature_flags/development/release_mr_issue_urls.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18727 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/276619 milestone: '12.4' type: development -group: group::release management +group: group::release default_enabled: true diff --git a/config/feature_flags/development/remove_comment_close_reopen.yml b/config/feature_flags/development/remove_comment_close_reopen.yml new file mode 100644 index 00000000000..1d3bf305cae --- /dev/null +++ b/config/feature_flags/development/remove_comment_close_reopen.yml @@ -0,0 +1,8 @@ +--- +name: remove_comment_close_reopen +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49614 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/198562 +milestone: '13.9' +type: development +group: group::code review +default_enabled: false diff --git a/config/feature_flags/development/repository.yml b/config/feature_flags/development/repository.yml deleted file mode 100644 index a9dd6cbdcb5..00000000000 --- a/config/feature_flags/development/repository.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: repository -introduced_by_url: -rollout_issue_url: -milestone: -type: development -group: -default_enabled: true diff --git a/config/feature_flags/development/repository_archive_hotlinking_interception.yml b/config/feature_flags/development/repository_archive_hotlinking_interception.yml index 6b684e5a8c7..56943627231 100644 --- a/config/feature_flags/development/repository_archive_hotlinking_interception.yml +++ b/config/feature_flags/development/repository_archive_hotlinking_interception.yml @@ -1,8 +1,8 @@ --- name: repository_archive_hotlinking_interception -introduced_by_url: +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/50c11f278d18fe1f3fb12eb595067216bb58ade2 rollout_issue_url: -milestone: +milestone: '12.10' type: development -group: +group: group::source code default_enabled: true diff --git a/config/feature_flags/development/core_security_mr_widget.yml b/config/feature_flags/development/secure_security_and_compliance_configuration_page_on_ce.yml index dfeb30cd83a..e86211243a1 100644 --- a/config/feature_flags/development/core_security_mr_widget.yml +++ b/config/feature_flags/development/secure_security_and_compliance_configuration_page_on_ce.yml @@ -1,8 +1,8 @@ --- -name: core_security_mr_widget -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44639 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/249543 -milestone: '13.5' +name: secure_security_and_compliance_configuration_page_on_ce +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50282 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/294076 +milestone: '13.9' type: development group: group::static analysis -default_enabled: true +default_enabled: false diff --git a/config/feature_flags/development/similarity_search.yml b/config/feature_flags/development/similarity_search.yml index 312ab767eb0..978095c94b5 100644 --- a/config/feature_flags/development/similarity_search.yml +++ b/config/feature_flags/development/similarity_search.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37300/ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38675 milestone: '13.3' type: development -group: group::analytics +group: group::optimize default_enabled: true diff --git a/config/feature_flags/development/snippets.yml b/config/feature_flags/development/snippets.yml deleted file mode 100644 index ee06c54e237..00000000000 --- a/config/feature_flags/development/snippets.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: snippets -introduced_by_url: -rollout_issue_url: -milestone: -type: development -group: -default_enabled: true diff --git a/config/feature_flags/development/specialized_project_authorization_workers.yml b/config/feature_flags/development/specialized_project_authorization_workers.yml index f3dbf09af14..16d6d4ed82f 100644 --- a/config/feature_flags/development/specialized_project_authorization_workers.yml +++ b/config/feature_flags/development/specialized_project_authorization_workers.yml @@ -1,8 +1,8 @@ --- name: specialized_project_authorization_workers introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31377 -rollout_issue_url: +rollout_issue_url: milestone: '13.0' type: development group: group::access -default_enabled: false +default_enabled: true diff --git a/config/feature_flags/development/track_unique_visits.yml b/config/feature_flags/development/track_unique_visits.yml index 80d969cc65b..b11539e830b 100644 --- a/config/feature_flags/development/track_unique_visits.yml +++ b/config/feature_flags/development/track_unique_visits.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33146 rollout_issue_url: milestone: '13.2' type: development -group: group::analytics +group: group::optimize default_enabled: true diff --git a/config/feature_flags/development/tribute_autocomplete.yml b/config/feature_flags/development/tribute_autocomplete.yml index 47fbd11f844..02094350b32 100644 --- a/config/feature_flags/development/tribute_autocomplete.yml +++ b/config/feature_flags/development/tribute_autocomplete.yml @@ -1,7 +1,7 @@ --- name: tribute_autocomplete introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32671 -rollout_issue_url: +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292804 milestone: '13.2' type: development group: group::project management diff --git a/config/feature_flags/development/unlink_fork_network_upon_visibility_decrease.yml b/config/feature_flags/development/unlink_fork_network_upon_visibility_decrease.yml index 986f002aa1d..c94b48d8329 100644 --- a/config/feature_flags/development/unlink_fork_network_upon_visibility_decrease.yml +++ b/config/feature_flags/development/unlink_fork_network_upon_visibility_decrease.yml @@ -1,8 +1,8 @@ --- name: unlink_fork_network_upon_visibility_decrease -introduced_by_url: +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20466 rollout_issue_url: -milestone: +milestone: '12.6' type: development -group: +group: group::source code default_enabled: true diff --git a/config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml b/config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml index 58a28139a35..de3ca4fc689 100644 --- a/config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml +++ b/config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46515 rollout_issue_url: milestone: '13.6' type: development -group: group::release management +group: group::release default_enabled: true diff --git a/config/feature_flags/development/operations.yml b/config/feature_flags/development/usage_data_i_code_review_user_add_suggestion.yml index 5b5537ed740..832be26d50d 100644 --- a/config/feature_flags/development/operations.yml +++ b/config/feature_flags/development/usage_data_i_code_review_user_add_suggestion.yml @@ -1,8 +1,8 @@ --- -name: operations -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48347 +name: usage_data_i_code_review_user_add_suggestion +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52189 rollout_issue_url: -milestone: '13.7' +milestone: '13.9' type: development -group: group::editor +group: group::code review default_enabled: true diff --git a/config/feature_flags/development/usage_data_i_code_review_user_apply_suggestion.yml b/config/feature_flags/development/usage_data_i_code_review_user_apply_suggestion.yml new file mode 100644 index 00000000000..03aa1691825 --- /dev/null +++ b/config/feature_flags/development/usage_data_i_code_review_user_apply_suggestion.yml @@ -0,0 +1,8 @@ +--- +name: usage_data_i_code_review_user_apply_suggestion +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52189 +rollout_issue_url: +milestone: '13.9' +type: development +group: group::code review +default_enabled: true diff --git a/config/feature_flags/development/squash_options.yml b/config/feature_flags/development/usage_data_i_code_review_user_assigned.yml index bea03c6e9b2..f18208e44dc 100644 --- a/config/feature_flags/development/squash_options.yml +++ b/config/feature_flags/development/usage_data_i_code_review_user_assigned.yml @@ -1,8 +1,8 @@ --- -name: squash_options -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33930 +name: usage_data_i_code_review_user_assigned +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52194 rollout_issue_url: -milestone: '13.2' +milestone: '13.9' type: development group: group::code review default_enabled: true diff --git a/config/feature_flags/development/usage_data_i_code_review_user_resolve_thread.yml b/config/feature_flags/development/usage_data_i_code_review_user_resolve_thread.yml new file mode 100644 index 00000000000..8c7af83bab4 --- /dev/null +++ b/config/feature_flags/development/usage_data_i_code_review_user_resolve_thread.yml @@ -0,0 +1,8 @@ +--- +name: usage_data_i_code_review_user_resolve_thread +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52130 +rollout_issue_url: +milestone: '13.9' +type: development +group: group::code review +default_enabled: true diff --git a/config/feature_flags/development/deploy_tokens_api.yml b/config/feature_flags/development/usage_data_i_code_review_user_review_requested.yml index b9741e05d7e..540ac1f61e1 100644 --- a/config/feature_flags/development/deploy_tokens_api.yml +++ b/config/feature_flags/development/usage_data_i_code_review_user_review_requested.yml @@ -1,8 +1,8 @@ --- -name: deploy_tokens_api -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25219 +name: usage_data_i_code_review_user_review_requested +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52194 rollout_issue_url: -milestone: '12.9' +milestone: '13.9' type: development -group: group::package +group: group::code review default_enabled: true diff --git a/config/feature_flags/development/usage_data_i_code_review_user_unresolve_thread.yml b/config/feature_flags/development/usage_data_i_code_review_user_unresolve_thread.yml new file mode 100644 index 00000000000..49b860416c5 --- /dev/null +++ b/config/feature_flags/development/usage_data_i_code_review_user_unresolve_thread.yml @@ -0,0 +1,8 @@ +--- +name: usage_data_i_code_review_user_unresolve_thread +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52130 +rollout_issue_url: +milestone: '13.9' +type: development +group: group::code review +default_enabled: true diff --git a/config/feature_flags/development/ci_live_trace_use_fog_attributes.yml b/config/feature_flags/development/usage_data_i_testing_group_code_coverage_project_click_total.yml index 20a38d77407..c4850caaf9d 100644 --- a/config/feature_flags/development/ci_live_trace_use_fog_attributes.yml +++ b/config/feature_flags/development/usage_data_i_testing_group_code_coverage_project_click_total.yml @@ -1,8 +1,8 @@ --- -name: ci_live_trace_use_fog_attributes -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47536 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/285079 -milestone: '13.6' +name: usage_data_i_testing_group_code_coverage_project_click_total +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51411 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299893 +milestone: '13.8' type: development group: group::testing default_enabled: true diff --git a/config/feature_flags/development/usage_data_i_testing_load_performance_widget_total.yml b/config/feature_flags/development/usage_data_i_testing_load_performance_widget_total.yml new file mode 100644 index 00000000000..3ffb9bceb99 --- /dev/null +++ b/config/feature_flags/development/usage_data_i_testing_load_performance_widget_total.yml @@ -0,0 +1,8 @@ +--- +name: usage_data_i_testing_load_performance_widget_total +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52688 +rollout_issue_url: +milestone: '13.9' +type: development +group: group::testing +default_enabled: true diff --git a/config/feature_flags/development/vue_issuable_sidebar.yml b/config/feature_flags/development/usage_data_track_quickactions.yml index 47c17db1206..57f698f7031 100644 --- a/config/feature_flags/development/vue_issuable_sidebar.yml +++ b/config/feature_flags/development/usage_data_track_quickactions.yml @@ -1,8 +1,8 @@ --- -name: vue_issuable_sidebar -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18199 -rollout_issue_url: -milestone: '12.4' +name: usage_data_track_quickactions +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52398 +rollout_issue_url: +milestone: '13.9' type: development group: group::project management default_enabled: false diff --git a/config/feature_flags/development/ci_allow_failure_with_exit_codes.yml b/config/feature_flags/development/usage_data_unique_users_committing_ciconfigfile.yml index 1d33a162445..ebe8125aa65 100644 --- a/config/feature_flags/development/ci_allow_failure_with_exit_codes.yml +++ b/config/feature_flags/development/usage_data_unique_users_committing_ciconfigfile.yml @@ -1,8 +1,8 @@ --- -name: ci_allow_failure_with_exit_codes -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49145 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292024 -milestone: '13.7' +name: usage_data_unique_users_committing_ciconfigfile +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52172 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299403 +milestone: '13.9' type: development group: group::pipeline authoring -default_enabled: true +default_enabled: false diff --git a/config/feature_flags/development/use_workhorse_s3_client.yml b/config/feature_flags/development/use_workhorse_s3_client.yml index 7f14d51a66c..3c34c420ebf 100644 --- a/config/feature_flags/development/use_workhorse_s3_client.yml +++ b/config/feature_flags/development/use_workhorse_s3_client.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35480 rollout_issue_url: milestone: '13.2' type: development -group: +group: group::source code default_enabled: true diff --git a/config/feature_flags/development/vue_notification_dropdown.yml b/config/feature_flags/development/vue_notification_dropdown.yml new file mode 100644 index 00000000000..4c4f67fe928 --- /dev/null +++ b/config/feature_flags/development/vue_notification_dropdown.yml @@ -0,0 +1,8 @@ +--- +name: vue_notification_dropdown +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52068 +rollout_issue_url: +milestone: '13.8' +type: development +group: group::optimize +default_enabled: false diff --git a/config/feature_flags/development/jira_sync_deployments.yml b/config/feature_flags/development/vue_project_members_list.yml index 8a644d43ba0..37eb9167ddd 100644 --- a/config/feature_flags/development/jira_sync_deployments.yml +++ b/config/feature_flags/development/vue_project_members_list.yml @@ -1,8 +1,8 @@ --- -name: jira_sync_deployments -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49757 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/294034 -milestone: '13.7' +name: vue_project_members_list +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52148 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299954 +milestone: '13.9' type: development -group: group::ecosystem +group: group::access default_enabled: false diff --git a/config/feature_flags/development/webperf_experiment.yml b/config/feature_flags/development/webperf_experiment.yml deleted file mode 100644 index 50408df0555..00000000000 --- a/config/feature_flags/development/webperf_experiment.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: webperf_experiment -introduced_by_url: -rollout_issue_url: -milestone: -type: development -group: group::editor -default_enabled: false diff --git a/config/feature_flags/development/wiki.yml b/config/feature_flags/development/wiki.yml deleted file mode 100644 index 008852d2c13..00000000000 --- a/config/feature_flags/development/wiki.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: wiki -introduced_by_url: -rollout_issue_url: -milestone: -type: development -group: group::editor -default_enabled: true diff --git a/config/feature_flags/development/whats_new_drawer.yml b/config/feature_flags/development/wiki_housekeeping.yml index c06dfbe1fe6..aeff94b471b 100644 --- a/config/feature_flags/development/whats_new_drawer.yml +++ b/config/feature_flags/development/wiki_housekeeping.yml @@ -1,8 +1,8 @@ --- -name: whats_new_drawer -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38975 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254186 -milestone: '13.3' +name: wiki_housekeeping +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51576 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299343 +milestone: '13.9' type: development -group: group::retention +group: group::editor default_enabled: false diff --git a/config/feature_flags/development/workhorse_archive_cache_disabled.yml b/config/feature_flags/development/workhorse_archive_cache_disabled.yml index e7871d9062b..e40741863d4 100644 --- a/config/feature_flags/development/workhorse_archive_cache_disabled.yml +++ b/config/feature_flags/development/workhorse_archive_cache_disabled.yml @@ -1,8 +1,8 @@ --- name: workhorse_archive_cache_disabled -introduced_by_url: +introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/16325 rollout_issue_url: -milestone: +milestone: '10.5' type: development -group: +group: group::source code default_enabled: false diff --git a/config/feature_flags/experiment/default_to_issues_board_experiment_percentage.yml b/config/feature_flags/experiment/default_to_issues_board_experiment_percentage.yml deleted file mode 100644 index d4a695502f9..00000000000 --- a/config/feature_flags/experiment/default_to_issues_board_experiment_percentage.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: default_to_issues_board_experiment_percentage -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43939 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/268298 -milestone: '13.5' -type: experiment -group: group::conversion -default_enabled: true diff --git a/config/feature_flags/experiment/in_product_marketing_emails_experiment_percentage.yml b/config/feature_flags/experiment/in_product_marketing_emails_experiment_percentage.yml new file mode 100644 index 00000000000..8cb198a2102 --- /dev/null +++ b/config/feature_flags/experiment/in_product_marketing_emails_experiment_percentage.yml @@ -0,0 +1,8 @@ +--- +name: in_product_marketing_emails_experiment_percentage +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50679 +rollout_issue_url: https://gitlab.com/gitlab-org/growth/team-tasks/-/issues/303 +milestone: "13.9" +type: experiment +group: group::activation +default_enabled: false diff --git a/config/feature_flags/experiment/invite_members_new_dropdown_experiment_percentage.yml b/config/feature_flags/experiment/invite_members_new_dropdown_experiment_percentage.yml index 6fac63b381c..216726178f1 100644 --- a/config/feature_flags/experiment/invite_members_new_dropdown_experiment_percentage.yml +++ b/config/feature_flags/experiment/invite_members_new_dropdown_experiment_percentage.yml @@ -1,7 +1,7 @@ --- name: invite_members_new_dropdown_experiment_percentage introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50069 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/268129 +rollout_issue_url: https://gitlab.com/gitlab-org/growth/team-tasks/-/issues/291 milestone: '13.8' type: experiment group: group::expansion diff --git a/config/feature_flags/experiment/members_invite_email.yml b/config/feature_flags/experiment/members_invite_email.yml new file mode 100644 index 00000000000..5bf0b9d10d0 --- /dev/null +++ b/config/feature_flags/experiment/members_invite_email.yml @@ -0,0 +1,8 @@ +--- +name: members_invite_email +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51223 +rollout_issue_url: https://gitlab.com/gitlab-org/growth/team-tasks/-/issues/325 +milestone: '13.9' +type: experiment +group: group::expansion +default_enabled: false diff --git a/config/feature_flags/ops/scalability_ci_fetch_sha.yml b/config/feature_flags/ops/scalability_ci_fetch_sha.yml deleted file mode 100644 index e8133f16072..00000000000 --- a/config/feature_flags/ops/scalability_ci_fetch_sha.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: scalability_ci_fetch_sha -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51208 -rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/746 -milestone: '13.8' -type: ops -group: team::Scalability -default_enabled: false diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example index 92e7501d49d..29b60aa91c5 100644 --- a/config/gitlab.yml.example +++ b/config/gitlab.yml.example @@ -165,6 +165,9 @@ production: &base ## Disable jQuery and CSS animations # disable_animations: true + ## Application settings cache expiry in seconds (default: 60) + # application_settings_cache_seconds: 60 + ## Reply by email # Allow users to comment on issues and merge requests by replying to notification emails. # For documentation on how to set this up, see http://doc.gitlab.com/ce/administration/reply_by_email.html @@ -432,7 +435,7 @@ production: &base cron: "0 * * * *" # Execute scheduled triggers pipeline_schedule_worker: - cron: "19 * * * *" + cron: "3-59/10 * * * *" # Remove expired build artifacts expire_build_artifacts_worker: cron: "*/7 * * * *" @@ -1239,6 +1242,7 @@ production: &base ## Matomo analytics. # matomo_url: '_your_matomo_url' # matomo_site_id: '_your_matomo_site_id' + # matomo_disable_cookies: false rack_attack: git_basic_auth: diff --git a/config/helpers/incremental_webpack_compiler.js b/config/helpers/incremental_webpack_compiler.js new file mode 100644 index 00000000000..786bb6071fa --- /dev/null +++ b/config/helpers/incremental_webpack_compiler.js @@ -0,0 +1,128 @@ +const fs = require('fs'); +const path = require('path'); + +const log = (msg, ...rest) => console.log(`IncrementalWebpackCompiler: ${msg}`, ...rest); + +// If we force a recompile immediately, the page reload doesn't seem to work. +// Five seconds seem to work fine and the user can read the message +const TIMEOUT = 5000; + +class NoopCompiler { + constructor() { + this.enabled = false; + } + + filterEntryPoints(entryPoints) { + return entryPoints; + } + + logStatus() {} + + setupMiddleware() {} +} + +class IncrementalWebpackCompiler { + constructor(historyFilePath) { + this.enabled = true; + this.history = {}; + this.compiledEntryPoints = new Set([ + // Login page + 'pages.sessions.new', + // Explore page + 'pages.root', + ]); + this.historyFilePath = historyFilePath; + this._loadFromHistory(); + } + + filterEntryPoints(entrypoints) { + return Object.fromEntries( + Object.entries(entrypoints).map(([key, val]) => { + if (this.compiledEntryPoints.has(key)) { + return [key, val]; + } + return [key, ['./webpack_non_compiled_placeholder.js']]; + }), + ); + } + + logStatus(totalCount) { + const current = this.compiledEntryPoints.size; + log(`Currently compiling route entrypoints: ${current} of ${totalCount}`); + } + + setupMiddleware(app, server) { + app.use((req, res, next) => { + const fileName = path.basename(req.url); + + /** + * We are only interested in files that have a name like `pages.foo.bar.chunk.js` + * because those are the ones corresponding to our entry points. + * + * This filters out hot update files that are for example named "pages.foo.bar.[hash].hot-update.js" + */ + if (fileName.startsWith('pages.') && fileName.endsWith('.chunk.js')) { + const chunk = fileName.replace(/\.chunk\.js$/, ''); + + this._addToHistory(chunk); + + if (!this.compiledEntryPoints.has(chunk)) { + log(`First time we are seeing ${chunk}. Adding to compilation.`); + + this.compiledEntryPoints.add(chunk); + + setTimeout(() => { + server.middleware.invalidate(() => { + if (server.sockets) { + server.sockWrite(server.sockets, 'content-changed'); + } + }); + }, TIMEOUT); + } + } + + next(); + }); + } + + // private methods + + _addToHistory(chunk) { + if (!this.history[chunk]) { + this.history[chunk] = { lastVisit: null, count: 0 }; + } + this.history[chunk].lastVisit = Date.now(); + this.history[chunk].count += 1; + + try { + fs.writeFileSync(this.historyFilePath, JSON.stringify(this.history), 'utf8'); + } catch (e) { + log('Warning – Could not write to history', e.message); + } + } + + _loadFromHistory() { + try { + this.history = JSON.parse(fs.readFileSync(this.historyFilePath, 'utf8')); + const entryPoints = Object.keys(this.history); + log(`Successfully loaded history containing ${entryPoints.length} entry points`); + /* + TODO: Let's ask a few folks to give us their history file after a milestone of usage + Then we can make smarter decisions on when to throw out rather than rendering everything + Something like top 20/30/40 entries visited in the last 7/10/15 days might be sufficient + */ + this.compiledEntryPoints = new Set([...this.compiledEntryPoints, ...entryPoints]); + } catch (e) { + log(`No history found...`); + } + } +} + +module.exports = (enabled, historyFilePath) => { + log(`Status – ${enabled ? 'enabled' : 'disabled'}`); + + if (enabled) { + return new IncrementalWebpackCompiler(historyFilePath); + } + return new NoopCompiler(); +}; diff --git a/config/initializers/01_secret_token.rb b/config/initializers/01_secret_token.rb index d7e725477eb..c4520b4b313 100644 --- a/config/initializers/01_secret_token.rb +++ b/config/initializers/01_secret_token.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # WARNING: Before you make a change to secrets.yml, read the development guide for GitLab secrets # doc/development/application_secrets.md. # diff --git a/config/initializers/0_acts_as_taggable.rb b/config/initializers/0_acts_as_taggable.rb index 50dc47673ab..9a92b8f2d18 100644 --- a/config/initializers/0_acts_as_taggable.rb +++ b/config/initializers/0_acts_as_taggable.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + ActsAsTaggableOn.strict_case_match = true # tags_counter enables caching count of tags which results in an update whenever a tag is added or removed diff --git a/config/initializers/0_inject_enterprise_edition_module.rb b/config/initializers/0_inject_enterprise_edition_module.rb index b3ebb44ef25..7478727f869 100644 --- a/config/initializers/0_inject_enterprise_edition_module.rb +++ b/config/initializers/0_inject_enterprise_edition_module.rb @@ -6,12 +6,7 @@ module InjectEnterpriseEditionModule def prepend_if_ee(constant, with_descendants: false) return unless Gitlab.ee? - ee_module = constant.constantize - prepend(ee_module) - - if with_descendants - descendants.each { |descendant| descendant.prepend(ee_module) } - end + prepend_module(constant.constantize, with_descendants) end def extend_if_ee(constant) @@ -21,6 +16,34 @@ module InjectEnterpriseEditionModule def include_if_ee(constant) include(constant.constantize) if Gitlab.ee? end + + def prepend_ee_mod(with_descendants: false) + return unless Gitlab.ee? + + prepend_module(ee_module, with_descendants) + end + + def extend_ee_mod + extend(ee_module) if Gitlab.ee? + end + + def include_ee_mod + include(ee_module) if Gitlab.ee? + end + + private + + def prepend_module(mod, with_descendants) + prepend(mod) + + if with_descendants + descendants.each { |descendant| descendant.prepend(mod) } + end + end + + def ee_module + ::EE.const_get(name, false) + end end Module.prepend(InjectEnterpriseEditionModule) diff --git a/config/initializers/0_inject_feature_flags.rb b/config/initializers/0_inject_feature_flags.rb index 5b33b3bb4ea..daf208bd960 100644 --- a/config/initializers/0_inject_feature_flags.rb +++ b/config/initializers/0_inject_feature_flags.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # This needs to be loaded after # config/initializers/0_inject_enterprise_edition_module.rb diff --git a/config/initializers/0_post_deployment_migrations.rb b/config/initializers/0_post_deployment_migrations.rb index 2d647f72840..dabb82c8525 100644 --- a/config/initializers/0_post_deployment_migrations.rb +++ b/config/initializers/0_post_deployment_migrations.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Post deployment migrations are included by default. This file must be loaded # before other initializers as Rails may otherwise memoize a list of migrations # excluding the post deployment migrations. diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index bbed08f5044..2d8bab50635 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require_relative '../settings' require_relative '../object_store_settings' require_relative '../smime_signature_settings' @@ -416,7 +418,7 @@ Settings.cron_jobs['stuck_ci_jobs_worker'] ||= Settingslogic.new({}) Settings.cron_jobs['stuck_ci_jobs_worker']['cron'] ||= '0 * * * *' Settings.cron_jobs['stuck_ci_jobs_worker']['job_class'] = 'StuckCiJobsWorker' Settings.cron_jobs['pipeline_schedule_worker'] ||= Settingslogic.new({}) -Settings.cron_jobs['pipeline_schedule_worker']['cron'] ||= '19 * * * *' +Settings.cron_jobs['pipeline_schedule_worker']['cron'] ||= '3-59/10 * * * *' Settings.cron_jobs['pipeline_schedule_worker']['job_class'] = 'PipelineScheduleWorker' Settings.cron_jobs['expire_build_artifacts_worker'] ||= Settingslogic.new({}) Settings.cron_jobs['expire_build_artifacts_worker']['cron'] ||= '*/7 * * * *' @@ -545,6 +547,12 @@ Settings.cron_jobs['manage_evidence_worker'] ||= Settingslogic.new({}) Settings.cron_jobs['manage_evidence_worker']['cron'] ||= '0 * * * *' Settings.cron_jobs['manage_evidence_worker']['job_class'] = 'Releases::ManageEvidenceWorker' +Gitlab.com do + Settings.cron_jobs['namespaces_in_product_marketing_emails_worker'] ||= Settingslogic.new({}) + Settings.cron_jobs['namespaces_in_product_marketing_emails_worker']['cron'] ||= '0 9 * * *' + Settings.cron_jobs['namespaces_in_product_marketing_emails_worker']['job_class'] = 'Namespaces::InProductMarketingEmailsWorker' +end + Gitlab.ee do Settings.cron_jobs['analytics_devops_adoption_create_all_snapshots_worker'] ||= Settingslogic.new({}) Settings.cron_jobs['analytics_devops_adoption_create_all_snapshots_worker']['cron'] ||= '0 4 * * *' @@ -597,6 +605,9 @@ Gitlab.ee do Settings.cron_jobs['incident_sla_exceeded_check_worker'] ||= Settingslogic.new({}) Settings.cron_jobs['incident_sla_exceeded_check_worker']['cron'] ||= '*/2 * * * *' Settings.cron_jobs['incident_sla_exceeded_check_worker']['job_class'] = 'IncidentManagement::IncidentSlaExceededCheckWorker' + Settings.cron_jobs['incident_management_persist_oncall_rotation_worker'] ||= Settingslogic.new({}) + Settings.cron_jobs['incident_management_persist_oncall_rotation_worker']['cron'] ||= '*/5 * * * *' + Settings.cron_jobs['incident_management_persist_oncall_rotation_worker']['job_class'] = 'IncidentManagement::OncallRotations::PersistAllRotationsShiftsJob' Settings.cron_jobs['import_software_licenses_worker'] ||= Settingslogic.new({}) Settings.cron_jobs['import_software_licenses_worker']['cron'] ||= '0 3 * * 0' Settings.cron_jobs['import_software_licenses_worker']['job_class'] = 'ImportSoftwareLicensesWorker' diff --git a/config/initializers/2_gitlab.rb b/config/initializers/2_gitlab.rb index 8b7f245b7b0..5b78a471f8a 100644 --- a/config/initializers/2_gitlab.rb +++ b/config/initializers/2_gitlab.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + require_dependency 'gitlab' diff --git a/config/initializers/5_backend.rb b/config/initializers/5_backend.rb index 46854af9b55..78910bb7675 100644 --- a/config/initializers/5_backend.rb +++ b/config/initializers/5_backend.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + unless Rails.env.test? required_version = Gitlab::VersionInfo.parse(Gitlab::Shell.version_required) current_version = Gitlab::VersionInfo.parse(Gitlab::Shell.version) diff --git a/config/initializers/6_validations.rb b/config/initializers/6_validations.rb index 827b15e5c8d..060b04be824 100644 --- a/config/initializers/6_validations.rb +++ b/config/initializers/6_validations.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + def storage_validation_error(message) raise "#{message}. Please fix this in your gitlab.yml before starting GitLab." end diff --git a/config/initializers/7_prometheus_metrics.rb b/config/initializers/7_prometheus_metrics.rb index 65ff6b656b9..a304f861db8 100644 --- a/config/initializers/7_prometheus_metrics.rb +++ b/config/initializers/7_prometheus_metrics.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'prometheus/client' # Keep separate directories for separate processes @@ -39,6 +41,32 @@ Sidekiq.configure_server do |config| end if !Rails.env.test? && Gitlab::Metrics.prometheus_metrics_enabled? + # When running Puma in a Single mode, `on_master_start` and `on_worker_start` are the same. + # Thus, we order these events to run `reinitialize_on_pid_change` with `force: true` first. + Gitlab::Cluster::LifecycleEvents.on_master_start do + # Ensure that stale Prometheus metrics don't accumulate over time + Prometheus::CleanupMultiprocDirService.new.execute + + ::Prometheus::Client.reinitialize_on_pid_change(force: true) + + if Gitlab::Runtime.unicorn? + Gitlab::Metrics::Samplers::UnicornSampler.instance(Settings.monitoring.unicorn_sampler_interval).start + elsif Gitlab::Runtime.puma? + Gitlab::Metrics::Samplers::PumaSampler.instance.start + end + + Gitlab::Metrics.gauge(:deployments, 'GitLab Version', {}, :max).set({ version: Gitlab::VERSION }, 1) + + unless Gitlab::Runtime.sidekiq? + Gitlab::Metrics::RequestsRackMiddleware.initialize_metrics + end + + Gitlab::Ci::Parsers.instrument! + rescue IOError => e + Gitlab::ErrorTracking.track_exception(e) + Gitlab::Metrics.error_detected! + end + Gitlab::Cluster::LifecycleEvents.on_worker_start do defined?(::Prometheus::Client.reinitialize_on_pid_change) && Prometheus::Client.reinitialize_on_pid_change @@ -53,25 +81,8 @@ if !Rails.env.test? && Gitlab::Metrics.prometheus_metrics_enabled? if Gitlab.ee? && Gitlab::Runtime.sidekiq? Gitlab::Metrics::Samplers::GlobalSearchSampler.instance.start end - rescue IOError => e - Gitlab::ErrorTracking.track_exception(e) - Gitlab::Metrics.error_detected! - end - - Gitlab::Cluster::LifecycleEvents.on_master_start do - ::Prometheus::Client.reinitialize_on_pid_change(force: true) - - if Gitlab::Runtime.unicorn? - Gitlab::Metrics::Samplers::UnicornSampler.instance(Settings.monitoring.unicorn_sampler_interval).start - elsif Gitlab::Runtime.puma? - Gitlab::Metrics::Samplers::PumaSampler.instance.start - end - Gitlab::Metrics.gauge(:deployments, 'GitLab Version', {}, :max).set({ version: Gitlab::VERSION }, 1) - - unless Gitlab::Runtime.sidekiq? - Gitlab::Metrics::RequestsRackMiddleware.initialize_metrics - end + Gitlab::Ci::Parsers.instrument! rescue IOError => e Gitlab::ErrorTracking.track_exception(e) Gitlab::Metrics.error_detected! diff --git a/config/initializers/7_redis.rb b/config/initializers/7_redis.rb index af4967521b8..a6025a6dbf0 100644 --- a/config/initializers/7_redis.rb +++ b/config/initializers/7_redis.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Make sure we initialize a Redis connection pool before multi-threaded # execution starts by # 1. Sidekiq diff --git a/config/initializers/8_devise.rb b/config/initializers/8_devise.rb index a4841a11a00..3cac012c2f7 100644 --- a/config/initializers/8_devise.rb +++ b/config/initializers/8_devise.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Use this hook to configure devise mailer, warden hooks and so forth. The first # four configuration values can also be set straight in your models. Devise.setup do |config| diff --git a/config/initializers/8_gitaly.rb b/config/initializers/8_gitaly.rb index f4f116e67f7..d7b5bfbc269 100644 --- a/config/initializers/8_gitaly.rb +++ b/config/initializers/8_gitaly.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'uri' Gitlab.config.repositories.storages.keys.each do |storage| diff --git a/config/initializers/9_fast_gettext.rb b/config/initializers/9_fast_gettext.rb index f836e6e971d..0c28a1b7ce8 100644 --- a/config/initializers/9_fast_gettext.rb +++ b/config/initializers/9_fast_gettext.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + FastGettext.default_available_locales = Gitlab::I18n.available_locales I18n.available_locales = Gitlab::I18n.available_locales diff --git a/config/initializers/action_dispatch_http_mime_negotiation.rb b/config/initializers/action_dispatch_http_mime_negotiation.rb index 6c31de2de55..2d6afb97a60 100644 --- a/config/initializers/action_dispatch_http_mime_negotiation.rb +++ b/config/initializers/action_dispatch_http_mime_negotiation.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Starting with Rails 5, Rails tries to determine the request format based on # the extension of the full URL path if no explicit `format` param or `Accept` # header is provided, like when simply browsing to a page in your browser. diff --git a/config/initializers/action_mailer_hooks.rb b/config/initializers/action_mailer_hooks.rb index 41e34b6eb20..46d5e387d9d 100644 --- a/config/initializers/action_mailer_hooks.rb +++ b/config/initializers/action_mailer_hooks.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + unless Gitlab.config.gitlab.email_enabled ActionMailer::Base.register_interceptor(::Gitlab::Email::Hook::DisableEmailInterceptor) ActionMailer::Base.logger = nil diff --git a/config/initializers/active_record_data_types.rb b/config/initializers/active_record_data_types.rb index 3fa999e9908..f8f0a69622f 100644 --- a/config/initializers/active_record_data_types.rb +++ b/config/initializers/active_record_data_types.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # ActiveRecord custom data type for storing datetimes with timezone information. # See https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/11229 diff --git a/config/initializers/active_record_ping.rb b/config/initializers/active_record_ping.rb index 349a7e4a496..196f587f565 100644 --- a/config/initializers/active_record_ping.rb +++ b/config/initializers/active_record_ping.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # frozen_string_literal: true if Gitlab::Utils.to_boolean(ENV['ENABLE_ACTIVERECORD_EMPTY_PING'], default: false) diff --git a/config/initializers/active_record_preloader.rb b/config/initializers/active_record_preloader.rb index d585ecda307..349ca6c4831 100644 --- a/config/initializers/active_record_preloader.rb +++ b/config/initializers/active_record_preloader.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ActiveRecord module Associations class Preloader diff --git a/config/initializers/active_record_schema_ignore_tables.rb b/config/initializers/active_record_schema_ignore_tables.rb index 0a840bbf1d8..55c44e00c40 100644 --- a/config/initializers/active_record_schema_ignore_tables.rb +++ b/config/initializers/active_record_schema_ignore_tables.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + # Ignore dynamically managed partitions in static application schema ActiveRecord::SchemaDumper.ignore_tables += ["#{Gitlab::Database::DYNAMIC_PARTITIONS_SCHEMA}.*"] diff --git a/config/initializers/active_record_table_definition.rb b/config/initializers/active_record_table_definition.rb index 9220620da41..3c6311f034f 100644 --- a/config/initializers/active_record_table_definition.rb +++ b/config/initializers/active_record_table_definition.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # ActiveRecord custom method definitions with timezone information. # See https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/11229 diff --git a/config/initializers/ar_speed_up_migration_checking.rb b/config/initializers/ar_speed_up_migration_checking.rb index c4ffcc54cb2..778b2ee0cb1 100644 --- a/config/initializers/ar_speed_up_migration_checking.rb +++ b/config/initializers/ar_speed_up_migration_checking.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + if Rails.env.test? require 'active_record/migration' diff --git a/config/initializers/asset_proxy_settings.rb b/config/initializers/asset_proxy_settings.rb index 92247aba1b8..48eedcee681 100644 --- a/config/initializers/asset_proxy_settings.rb +++ b/config/initializers/asset_proxy_settings.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Asset proxy settings # diff --git a/config/initializers/attr_encrypted_no_db_connection.rb b/config/initializers/attr_encrypted_no_db_connection.rb index 7ad458929db..f8d0effbbad 100644 --- a/config/initializers/attr_encrypted_no_db_connection.rb +++ b/config/initializers/attr_encrypted_no_db_connection.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module AttrEncrypted module Adapters module ActiveRecord diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb index 2f892f78112..f3e01d23448 100644 --- a/config/initializers/backtrace_silencers.rb +++ b/config/initializers/backtrace_silencers.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Rails.backtrace_cleaner.remove_silencers! # This allows us to see the proper caller of SQL calls in {development,test}.log diff --git a/config/initializers/batch_loader.rb b/config/initializers/batch_loader.rb index 2e2256b0eb9..d88b43fbcea 100644 --- a/config/initializers/batch_loader.rb +++ b/config/initializers/batch_loader.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + Rails.application.config.middleware.use(BatchLoader::Middleware) diff --git a/config/initializers/bootstrap_form.rb b/config/initializers/bootstrap_form.rb index bbc1d83a63f..8121bc8bf1d 100644 --- a/config/initializers/bootstrap_form.rb +++ b/config/initializers/bootstrap_form.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module BootstrapFormBuilderCustomization def label_class "label-bold" diff --git a/config/initializers/bullet.rb b/config/initializers/bullet.rb index d1f72ca3ce7..2d21514b121 100644 --- a/config/initializers/bullet.rb +++ b/config/initializers/bullet.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + def bullet_enabled? Gitlab::Utils.to_boolean(ENV['ENABLE_BULLET'].to_s) end diff --git a/config/initializers/cluster_events_before_phased_restart.rb b/config/initializers/cluster_events_before_phased_restart.rb index aae5470d6ae..d029adbe363 100644 --- a/config/initializers/cluster_events_before_phased_restart.rb +++ b/config/initializers/cluster_events_before_phased_restart.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Technical debt, this should be ideally upstreamed. # # However, there's currently no way to hook before doing diff --git a/config/initializers/console_message.rb b/config/initializers/console_message.rb index fe47195062b..2c05c2c9a24 100644 --- a/config/initializers/console_message.rb +++ b/config/initializers/console_message.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # rubocop:disable Rails/Output if Gitlab::Runtime.console? # note that this will not print out when using `spring` diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb index e9a71f32581..375a23fdfd6 100644 --- a/config/initializers/cookies_serializer.rb +++ b/config/initializers/cookies_serializer.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Be sure to restart your server when you modify this file. Rails.application.config.action_dispatch.use_cookies_with_metadata = true diff --git a/config/initializers/date_time_formats.rb b/config/initializers/date_time_formats.rb index 1939ced512d..44d07869033 100644 --- a/config/initializers/date_time_formats.rb +++ b/config/initializers/date_time_formats.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # :short - 10 Nov # :medium - Nov 10, 2007 # :long - November 10, 2007 diff --git a/config/initializers/default_url_options.rb b/config/initializers/default_url_options.rb index de2cdc6ecae..138a8e467c7 100644 --- a/config/initializers/default_url_options.rb +++ b/config/initializers/default_url_options.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + default_url_options = { host: Gitlab.config.gitlab.host, protocol: Gitlab.config.gitlab.protocol, diff --git a/config/initializers/deprecations.rb b/config/initializers/deprecations.rb index 2b07ca665e2..3d03efe67e0 100644 --- a/config/initializers/deprecations.rb +++ b/config/initializers/deprecations.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + if Rails.env.development? || ENV['GITLAB_LEGACY_PATH_LOG_MESSAGE'] deprecator = ActiveSupport::Deprecation.new('11.0', 'GitLab') diff --git a/config/initializers/direct_upload_support.rb b/config/initializers/direct_upload_support.rb index 919b80b79c0..880aea7d114 100644 --- a/config/initializers/direct_upload_support.rb +++ b/config/initializers/direct_upload_support.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class DirectUploadsValidator SUPPORTED_DIRECT_UPLOAD_PROVIDERS = [ObjectStorage::Config::GOOGLE_PROVIDER, ObjectStorage::Config::AWS_PROVIDER, diff --git a/config/initializers/doorkeeper.rb b/config/initializers/doorkeeper.rb index 6b54b5074d5..1cf70909997 100644 --- a/config/initializers/doorkeeper.rb +++ b/config/initializers/doorkeeper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Doorkeeper.configure do # Change the ORM that doorkeeper will use. # Currently supported options are :active_record, :mongoid2, :mongoid3, :mongo_mapper diff --git a/config/initializers/doorkeeper_openid_connect.rb b/config/initializers/doorkeeper_openid_connect.rb index 3523776c4f7..12a963ce45d 100644 --- a/config/initializers/doorkeeper_openid_connect.rb +++ b/config/initializers/doorkeeper_openid_connect.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Doorkeeper::OpenidConnect.configure do issuer Gitlab.config.gitlab.url diff --git a/config/initializers/etag_caching.rb b/config/initializers/etag_caching.rb index eba88801141..2e5574d2602 100644 --- a/config/initializers/etag_caching.rb +++ b/config/initializers/etag_caching.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # This middleware has to come after Gitlab::Metrics::RackMiddleware # in the middleware stack, because it tracks events with # GitLab Performance Monitoring diff --git a/config/initializers/faraday.rb b/config/initializers/faraday.rb new file mode 100644 index 00000000000..2700751e79f --- /dev/null +++ b/config/initializers/faraday.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: true + +::Faraday::Request.register_middleware(gitlab_error_callback: -> { ::Gitlab::Faraday::ErrorCallback }) diff --git a/config/initializers/fill_shards.rb b/config/initializers/fill_shards.rb index 90c0d63e4fe..e2889f59574 100644 --- a/config/initializers/fill_shards.rb +++ b/config/initializers/fill_shards.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # The explicit schema version check is needed because during our migration rollback testing, # `Shard.connected?` could be cached and return true even though the table doesn't exist return unless Shard.connected? diff --git a/config/initializers/fix_local_cache_middleware.rb b/config/initializers/fix_local_cache_middleware.rb index 2644ee6a7d3..94da6d9c0e0 100644 --- a/config/initializers/fix_local_cache_middleware.rb +++ b/config/initializers/fix_local_cache_middleware.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module LocalCacheRegistryCleanupWithEnsure LocalCacheRegistry = ActiveSupport::Cache::Strategy::LocalCache::LocalCacheRegistry diff --git a/config/initializers/fog_google_https_private_urls.rb b/config/initializers/fog_google_https_private_urls.rb index ef6afb2b686..78cbd41a609 100644 --- a/config/initializers/fog_google_https_private_urls.rb +++ b/config/initializers/fog_google_https_private_urls.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Monkey patching the https support for private urls # See https://gitlab.com/gitlab-org/gitlab/issues/4879 diff --git a/config/initializers/forbid_sidekiq_in_transactions.rb b/config/initializers/forbid_sidekiq_in_transactions.rb index f505fb5843a..85ec8cad0a3 100644 --- a/config/initializers/forbid_sidekiq_in_transactions.rb +++ b/config/initializers/forbid_sidekiq_in_transactions.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Sidekiq module Worker EnqueueFromTransactionError = Class.new(StandardError) diff --git a/config/initializers/gettext_rails_i18n_patch.rb b/config/initializers/gettext_rails_i18n_patch.rb index 09c9b325a04..c23049e93c9 100644 --- a/config/initializers/gettext_rails_i18n_patch.rb +++ b/config/initializers/gettext_rails_i18n_patch.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'gettext_i18n_rails/haml_parser' require 'gettext_i18n_rails_js/parser/javascript' require 'json' diff --git a/config/initializers/gitlab_kas_secret.rb b/config/initializers/gitlab_kas_secret.rb index 5e86e954684..8955f71a597 100644 --- a/config/initializers/gitlab_kas_secret.rb +++ b/config/initializers/gitlab_kas_secret.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + Gitlab::Kas.ensure_secret! diff --git a/config/initializers/gitlab_shell_secret_token.rb b/config/initializers/gitlab_shell_secret_token.rb index 529dcdd4644..e11f65bb8ca 100644 --- a/config/initializers/gitlab_shell_secret_token.rb +++ b/config/initializers/gitlab_shell_secret_token.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + Gitlab::Shell.ensure_secret_token! diff --git a/config/initializers/gitlab_workhorse_secret.rb b/config/initializers/gitlab_workhorse_secret.rb index ed54dc11098..5c959a72bd1 100644 --- a/config/initializers/gitlab_workhorse_secret.rb +++ b/config/initializers/gitlab_workhorse_secret.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + begin Gitlab::Workhorse.secret rescue diff --git a/config/initializers/go_get.rb b/config/initializers/go_get.rb index 7e7896b4900..830579f4a8a 100644 --- a/config/initializers/go_get.rb +++ b/config/initializers/go_get.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + Rails.application.config.middleware.use(Gitlab::Middleware::Go) diff --git a/config/initializers/grpc.rb b/config/initializers/grpc.rb index b96962fe7db..66b212ef131 100644 --- a/config/initializers/grpc.rb +++ b/config/initializers/grpc.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'logger' GRPC_LOGGER = Logger.new(Rails.root.join('log/grpc.log')) diff --git a/config/initializers/hamlit.rb b/config/initializers/hamlit.rb index b5bcae4bbfc..dda38d2a61f 100644 --- a/config/initializers/hamlit.rb +++ b/config/initializers/hamlit.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Hamlit::RailsTemplate.set_options(attr_quote: '"') Hamlit::Filters.remove_filter('coffee') diff --git a/config/initializers/health_check.rb b/config/initializers/health_check.rb index 1496f20afc1..0b35aaf115b 100644 --- a/config/initializers/health_check.rb +++ b/config/initializers/health_check.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + HealthCheck.setup do |config| config.standard_checks = %w(database migrations cache) config.full_checks = %w(database migrations cache) diff --git a/config/initializers/http_hostname_override.rb b/config/initializers/http_hostname_override.rb index 58dd380326f..5d2739c1f58 100644 --- a/config/initializers/http_hostname_override.rb +++ b/config/initializers/http_hostname_override.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # This override allows passing `@hostname_override` to the SNI protocol, # which is used to lookup the correct SSL certificate in the # request handshake process. diff --git a/config/initializers/kaminari_active_record_relation_methods_with_limit.rb b/config/initializers/kaminari_active_record_relation_methods_with_limit.rb index 55b98cda520..982cb69e532 100644 --- a/config/initializers/kaminari_active_record_relation_methods_with_limit.rb +++ b/config/initializers/kaminari_active_record_relation_methods_with_limit.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Kaminari # Active Record specific page scope methods implementations module ActiveRecordRelationMethodsWithLimit diff --git a/config/initializers/kaminari_config.rb b/config/initializers/kaminari_config.rb index 3cbe9a058d7..8e10079ce36 100644 --- a/config/initializers/kaminari_config.rb +++ b/config/initializers/kaminari_config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Kaminari.configure do |config| config.default_per_page = 20 config.max_per_page = 100 diff --git a/config/initializers/lograge.rb b/config/initializers/lograge.rb index 5b068c15aad..e8479bc6aa4 100644 --- a/config/initializers/lograge.rb +++ b/config/initializers/lograge.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Only use Lograge for Rails unless Gitlab::Runtime.sidekiq? Rails.application.reloader.to_prepare do diff --git a/config/initializers/mail_encoding_patch.rb b/config/initializers/mail_encoding_patch.rb index d53b058ba75..11a96625e08 100644 --- a/config/initializers/mail_encoding_patch.rb +++ b/config/initializers/mail_encoding_patch.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Monkey patch mail 2.7.1 to fix quoted-printable issues with newlines # The issues upstream invalidate SMIME signatures under some conditions # This was working properly in 2.6.6 diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb index acbdf8de5a6..5329232cc92 100644 --- a/config/initializers/mime_types.rb +++ b/config/initializers/mime_types.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Be sure to restart your server when you modify this file. # Add new mime types for use in respond_to blocks: diff --git a/config/initializers/mini_magick.rb b/config/initializers/mini_magick.rb index db0e7bbaaa3..8e3e55279f7 100644 --- a/config/initializers/mini_magick.rb +++ b/config/initializers/mini_magick.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + MiniMagick.configure do |config| config.cli = :graphicsmagick end diff --git a/config/initializers/new_framework_defaults.rb b/config/initializers/new_framework_defaults.rb index 115ee08dbb6..3d3ee5299e2 100644 --- a/config/initializers/new_framework_defaults.rb +++ b/config/initializers/new_framework_defaults.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Remove this `if` condition when upgraded to rails 5.0. # The body must be kept. # Be sure to restart your server when you modify this file. diff --git a/config/initializers/octokit.rb b/config/initializers/octokit.rb index b3749258ec5..cd8c8ec24ee 100644 --- a/config/initializers/octokit.rb +++ b/config/initializers/octokit.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + Octokit.middleware.insert_after Octokit::Middleware::FollowRedirects, Gitlab::Octokit::Middleware diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb index a2720ab9986..85984772d05 100644 --- a/config/initializers/omniauth.rb +++ b/config/initializers/omniauth.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + if Gitlab::Auth::Ldap::Config.enabled? module OmniAuth::Strategies Gitlab::Auth::Ldap::Config.available_servers.each do |server| diff --git a/config/initializers/peek.rb b/config/initializers/peek.rb index fa74d8620f4..85bfc4f0214 100644 --- a/config/initializers/peek.rb +++ b/config/initializers/peek.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'peek/adapters/redis' Peek::Adapters::Redis.prepend ::Gitlab::PerformanceBar::RedisAdapterWhenPeekEnabled @@ -11,6 +13,7 @@ Peek.into Peek::Views::Gitaly Peek.into Peek::Views::RedisDetailed Peek.into Peek::Views::Elasticsearch Peek.into Peek::Views::Rugged +Peek.into Peek::Views::ExternalHttp Peek.into Peek::Views::BulletDetailed if defined?(Bullet) Peek.into Peek::Views::Tracing if Labkit::Tracing.tracing_url_enabled? diff --git a/config/initializers/postgresql_cte.rb b/config/initializers/postgresql_cte.rb index 68d53c4edbf..1ea0b4cfb58 100644 --- a/config/initializers/postgresql_cte.rb +++ b/config/initializers/postgresql_cte.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Adds support for WITH statements when using PostgreSQL. The code here is taken # from https://github.com/shmay/ctes_in_my_pg which at the time of writing has # not been pushed to RubyGems. The license of this repository is as follows: diff --git a/config/initializers/premailer.rb b/config/initializers/premailer.rb index 87f8e67ef1c..77077888af3 100644 --- a/config/initializers/premailer.rb +++ b/config/initializers/premailer.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # See https://github.com/fphilipe/premailer-rails#configuration Premailer::Rails.config.merge!( generate_text_part: false, diff --git a/config/initializers/query_limiting.rb b/config/initializers/query_limiting.rb index 66864d1898e..66aefc97c6a 100644 --- a/config/initializers/query_limiting.rb +++ b/config/initializers/query_limiting.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + if Gitlab::QueryLimiting.enable? require_dependency 'gitlab/query_limiting/active_support_subscriber' require_dependency 'gitlab/query_limiting/transaction' diff --git a/config/initializers/rack_attack_logging.rb b/config/initializers/rack_attack_logging.rb deleted file mode 100644 index 7b0a8f0d7dd..00000000000 --- a/config/initializers/rack_attack_logging.rb +++ /dev/null @@ -1,38 +0,0 @@ -# frozen_string_literal: true -# -# Adds logging for all Rack Attack blocks and throttling events. - -ActiveSupport::Notifications.subscribe(/rack_attack/) do |name, start, finish, request_id, payload| - req = payload[:request] - - case req.env['rack.attack.match_type'] - when :throttle, :blocklist, :track - rack_attack_info = { - message: 'Rack_Attack', - env: req.env['rack.attack.match_type'], - remote_ip: req.ip, - request_method: req.request_method, - path: req.fullpath, - matched: req.env['rack.attack.matched'] - } - - throttles_with_user_information = [ - :throttle_authenticated_api, - :throttle_authenticated_web, - :throttle_authenticated_protected_paths_api, - :throttle_authenticated_protected_paths_web - ] - - if throttles_with_user_information.include? req.env['rack.attack.matched'].to_sym - user_id = req.env['rack.attack.match_discriminator'] - user = User.find_by(id: user_id) - - rack_attack_info[:user_id] = user_id - rack_attack_info['meta.user'] = user.username unless user.nil? - end - - Gitlab::AuthLogger.error(rack_attack_info) - when :safelist - Gitlab::Instrumentation::Throttle.safelist = req.env['rack.attack.matched'] - end -end diff --git a/config/initializers/rack_lineprof.rb b/config/initializers/rack_lineprof.rb index f7172fce9bc..e66bfd88907 100644 --- a/config/initializers/rack_lineprof.rb +++ b/config/initializers/rack_lineprof.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # The default colors of rack-lineprof can be very hard to look at in terminals # with darker backgrounds. This patch tweaks the colors a bit so the output is # actually readable. diff --git a/config/initializers/relative_naming_ci_namespace.rb b/config/initializers/relative_naming_ci_namespace.rb index d9d3034150f..7380597722a 100644 --- a/config/initializers/relative_naming_ci_namespace.rb +++ b/config/initializers/relative_naming_ci_namespace.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Description: https://coderwall.com/p/heed_q/rails-routing-and-namespaced-models # # This allows us to use CI ActiveRecord objects in all routes and use it: diff --git a/config/initializers/request_context.rb b/config/initializers/request_context.rb index f79f1f32d70..99e51ce498a 100644 --- a/config/initializers/request_context.rb +++ b/config/initializers/request_context.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Rails.application.configure do |config| config.middleware.insert_after RequestStore::Middleware, Gitlab::Middleware::RequestContext end diff --git a/config/initializers/request_profiler.rb b/config/initializers/request_profiler.rb index fb5a7b8372e..8e426772b9a 100644 --- a/config/initializers/request_profiler.rb +++ b/config/initializers/request_profiler.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Rails.application.configure do |config| config.middleware.use(Gitlab::RequestProfiler::Middleware) end diff --git a/config/initializers/routing_draw.rb b/config/initializers/routing_draw.rb index f0f74954eef..4978073633c 100644 --- a/config/initializers/routing_draw.rb +++ b/config/initializers/routing_draw.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Adds draw method into Rails routing # It allows us to keep routing split into files ActionDispatch::Routing::Mapper.prepend Gitlab::Patch::DrawRoute diff --git a/config/initializers/sentry.rb b/config/initializers/sentry.rb index a1eddd6a2c2..df80d4f7f73 100644 --- a/config/initializers/sentry.rb +++ b/config/initializers/sentry.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Be sure to restart your server when you modify this file. require 'gitlab/current_settings' diff --git a/config/initializers/server_uptime.rb b/config/initializers/server_uptime.rb index 46bf242e143..9e58a848007 100644 --- a/config/initializers/server_uptime.rb +++ b/config/initializers/server_uptime.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + Rails.application.config.booted_at = Time.now diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index da24881885e..6e0cd33aa96 100644 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Be sure to restart your server when you modify this file. require 'gitlab/current_settings' diff --git a/config/initializers/sherlock.rb b/config/initializers/sherlock.rb index 8f2ababb712..ba33ffa13c5 100644 --- a/config/initializers/sherlock.rb +++ b/config/initializers/sherlock.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + if Gitlab::Sherlock.enabled? Rails.application.configure do |config| config.middleware.use(Gitlab::Sherlock::Middleware) diff --git a/config/initializers/sprockets.rb b/config/initializers/sprockets.rb index a20b7dc75e9..d0660574eb6 100644 --- a/config/initializers/sprockets.rb +++ b/config/initializers/sprockets.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + Sprockets.register_compressor 'application/javascript', :terser, Terser::Compressor diff --git a/config/initializers/static_files.rb b/config/initializers/static_files.rb index 4e19fec084a..3cdb5a5abcf 100644 --- a/config/initializers/static_files.rb +++ b/config/initializers/static_files.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + app = Rails.application if app.config.public_file_server.enabled diff --git a/config/initializers/time_zone.rb b/config/initializers/time_zone.rb index bca7411ad63..8ad6b2d3447 100644 --- a/config/initializers/time_zone.rb +++ b/config/initializers/time_zone.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Time.zone = Gitlab.config.gitlab.time_zone || Time.zone # The default is normally set by Rails in the # active_support.initialize_time_zone Railtie, but we need to set it diff --git a/config/initializers/tracing.rb b/config/initializers/tracing.rb index 3058bdeb84e..3f066953c23 100644 --- a/config/initializers/tracing.rb +++ b/config/initializers/tracing.rb @@ -8,6 +8,7 @@ if Labkit::Tracing.enabled? # Instrument Redis Labkit::Tracing::Redis.instrument + Labkit::Tracing::ExternalHttp.instrument # Instrument Rails Labkit::Tracing::Rails::ActiveRecordSubscriber.instrument diff --git a/config/initializers/trusted_proxies.rb b/config/initializers/trusted_proxies.rb index a4528020c06..79e4b831c5e 100644 --- a/config/initializers/trusted_proxies.rb +++ b/config/initializers/trusted_proxies.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Override Rack::Request to make use of the same list of trusted_proxies # as the ActionDispatch::Request object. This is necessary for libraries # like rack_attack where they don't use ActionDispatch, and we want them diff --git a/config/initializers/validate_puma.rb b/config/initializers/validate_puma.rb index ac5678c4b5a..bce9ddb9a66 100644 --- a/config/initializers/validate_puma.rb +++ b/config/initializers/validate_puma.rb @@ -1,5 +1,13 @@ # frozen_string_literal: true +def allow_single_mode? + return false if Gitlab.com? + + Gitlab::Utils.to_boolean(ENV['PUMA_SKIP_CLUSTER_VALIDATION']) +end + if Gitlab::Runtime.puma? && ::Puma.cli_config.options[:workers].to_i == 0 + return if allow_single_mode? + raise 'Puma is only supported in Cluster-mode: workers > 0' end diff --git a/config/initializers/warden.rb b/config/initializers/warden.rb index 3cfab52efd1..2517c0cf5c2 100644 --- a/config/initializers/warden.rb +++ b/config/initializers/warden.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Rails.application.configure do |config| Warden::Manager.after_set_user(scope: :user) do |user, auth, opts| Gitlab::Auth::UniqueIpsLimiter.limit_user!(user) diff --git a/config/initializers/workhorse_multipart.rb b/config/initializers/workhorse_multipart.rb index 9c170d1adfa..b68a6fc6ee5 100644 --- a/config/initializers/workhorse_multipart.rb +++ b/config/initializers/workhorse_multipart.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Rails.application.configure do |config| # ApolloUploadServer::Middleware expects to find uploaded files ready to use config.middleware.insert_before(ApolloUploadServer::Middleware, Gitlab::Middleware::Multipart) diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb index 999df20181e..85b2d840618 100644 --- a/config/initializers/wrap_parameters.rb +++ b/config/initializers/wrap_parameters.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Be sure to restart your server when you modify this file. # # This file contains settings for ActionController::ParamsWrapper which diff --git a/config/initializers/zz_metrics.rb b/config/initializers/zz_metrics.rb index 430e4d60d61..d0e22187454 100644 --- a/config/initializers/zz_metrics.rb +++ b/config/initializers/zz_metrics.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # This file was prefixed with zz_ because we want to load it the last! # See: https://gitlab.com/gitlab-org/gitlab-foss/issues/55611 @@ -154,9 +156,13 @@ if Gitlab::Metrics.enabled? && !Rails.env.test? && !(Rails.env.development? && d # of the ActiveRecord methods. This has to take place _after_ initializing as # for some unknown reason calling eager_load! earlier breaks Devise. Gitlab::Application.config.after_initialize do - Rails.application.eager_load! + # We should move all the logic of this file to somewhere else + # and require it after `Rails.application.initialize!` in `environment.rb` file. + models_path = Rails.root.join('app', 'models').to_s - models = Rails.root.join('app', 'models').to_s + Dir.glob("**/*.rb", base: models_path).sort.each do |file| + require_dependency file + end regex = Regexp.union( ActiveRecord::Querying.public_instance_methods(false).map(&:to_s) @@ -172,7 +178,7 @@ if Gitlab::Metrics.enabled? && !Rails.env.test? && !(Rails.env.development? && d else loc = method.source_location - loc && loc[0].start_with?(models) && method.source =~ regex + loc && loc[0].start_with?(models_path) && method.source =~ regex end end @@ -202,4 +208,8 @@ if Gitlab::Metrics.enabled? && !Rails.env.test? && !(Rails.env.development? && d class ::Redis::Client prepend TrackNewRedisConnections end + + Labkit::NetHttpPublisher.labkit_prepend! + Labkit::ExconPublisher.labkit_prepend! + Labkit::HTTPClientPublisher.labkit_prepend! end diff --git a/config/initializers_before_autoloader/000_inflections.rb b/config/initializers_before_autoloader/000_inflections.rb index 85c53ab4320..9eb1ebe77bf 100644 --- a/config/initializers_before_autoloader/000_inflections.rb +++ b/config/initializers_before_autoloader/000_inflections.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Be sure to restart your server when you modify this file. # Add new inflection rules using the following format diff --git a/config/known_invalid_graphql_queries.yml b/config/known_invalid_graphql_queries.yml index 8ea9b662aa7..770366d76cf 100644 --- a/config/known_invalid_graphql_queries.yml +++ b/config/known_invalid_graphql_queries.yml @@ -2,4 +2,3 @@ filenames: - ee/app/assets/javascripts/on_demand_scans/graphql/dast_scan_create.mutation.graphql - ee/app/assets/javascripts/oncall_schedules/graphql/mutations/update_oncall_schedule_rotation.mutation.graphql - - ee/app/assets/javascripts/oncall_schedules/graphql/mutations/destroy_oncall_rotation.mutation.graphql diff --git a/config/metrics/counts_28d/deployments.yml b/config/metrics/counts_28d/deployments.yml index dabd50ef5be..02d620c214e 100644 --- a/config/metrics/counts_28d/deployments.yml +++ b/config/metrics/counts_28d/deployments.yml @@ -1,11 +1,8 @@ -name: deployments +key_path: counts_monthly.deployments description: Total deployments count for recent 28 days value_type: integer stage: release status: data_available -default_generation: generation_1 -full_path: - generation_1: counts_monthy.deployments milestone: 13.2 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35493 group: 'group::ops release' diff --git a/config/metrics/counts_7d/g_project_management_issue_title_changed_weekly.yml b/config/metrics/counts_7d/g_project_management_issue_title_changed_weekly.yml index 997263f9e30..5f8492f13c1 100644 --- a/config/metrics/counts_7d/g_project_management_issue_title_changed_weekly.yml +++ b/config/metrics/counts_7d/g_project_management_issue_title_changed_weekly.yml @@ -1,12 +1,9 @@ -name: g_project_management_issue_title_changed_weekly +key_path: redis_hll_counters.issues_edit.g_project_management_issue_title_changed_weekly description: Distinct users count that changed issue title in a group for last recent week value_type: integer product_category: issue_tracking stage: plan status: data_available -default_generation: generation_1 -full_path: - generation_1: redis_hll_counters.issues_edit.g_project_management_issue_title_changed_weekly milestone: 13.6 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918 group: 'group::project management' diff --git a/config/metrics/counts_all/deployments.yml b/config/metrics/counts_all/deployments.yml index bb78e8d6144..abddb09c3dd 100644 --- a/config/metrics/counts_all/deployments.yml +++ b/config/metrics/counts_all/deployments.yml @@ -1,11 +1,8 @@ -name: deployments +key_path: counts.deployments description: Total deployments count value_type: integer stage: release status: data_available -default_generation: generation_1 -full_path: - generation_1: counts.deployments milestone: 8.12 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/735 group: 'group::ops release' diff --git a/config/metrics/license/recorded_at.yml b/config/metrics/license/recorded_at.yml index 5b2b3b37290..0ffb65de671 100644 --- a/config/metrics/license/recorded_at.yml +++ b/config/metrics/license/recorded_at.yml @@ -1,12 +1,9 @@ -name: recorded_at +key_path: recorded_at description: When the Usage Ping computation was started value_type: string product_category: collection stage: growth status: data_available -default_generation: generation_1 -full_path: - generation_1: recorded_at milestone: 8.10 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/557 group: group::product analytics diff --git a/config/metrics/license/uuid.yml b/config/metrics/license/uuid.yml index 38e0d74fc22..86b38a26cbc 100644 --- a/config/metrics/license/uuid.yml +++ b/config/metrics/license/uuid.yml @@ -1,13 +1,9 @@ -name: uuid +key_path: uuid description: GitLab instance unique identifier value_type: string product_category: collection stage: growth status: data_available -default_generation: generation_1 -full_path: - generation_1: uuid - generation_2: license.uuid milestone: 9.1 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1521 group: group::product analytics diff --git a/config/metrics/schema.json b/config/metrics/schema.json index 4d1120a7d8d..d9a53c88e5d 100644 --- a/config/metrics/schema.json +++ b/config/metrics/schema.json @@ -1,8 +1,8 @@ { "type": "object", - "required": ["name", "description", "value_type", "status", "default_generation", "full_path", "group", "time_frame", "data_source", "distribution", "tier"], + "required": ["key_path", "description", "value_type", "status", "group", "time_frame", "data_source", "distribution", "tier"], "properties": { - "name": { + "key_path": { "type": "string" }, "description": { @@ -22,12 +22,6 @@ "type": ["string"], "enum": ["data_available", "planned", "in_progress", "implmented"] }, - "default_generation": { - "type": "string" - }, - "full_path": { - "type": "object" - }, "milestone": { "type": ["number", "null"] }, @@ -61,6 +55,9 @@ "type": "string", "enum": ["free", "starter", "premium", "ultimate", "bronze", "silver", "gold"] } + }, + "skip_validation": { + "type": "boolean" } } } diff --git a/config/metrics/settings/database_adapter.yml b/config/metrics/settings/database_adapter.yml index b24fc933a08..b80906ab025 100644 --- a/config/metrics/settings/database_adapter.yml +++ b/config/metrics/settings/database_adapter.yml @@ -1,12 +1,9 @@ -name: adapter +key_path: database.adapter description: This metric only returns a value of PostgreSQL in supported versions of GitLab. It could be removed from the usage ping. Historically MySQL was also supported. value_type: string product_category: collection stage: growth status: data_available -default_generation: generation_1 -full_path: - generation_1: database.adapter group: group::enablement distribution time_frame: none data_source: database diff --git a/config/object_store_settings.rb b/config/object_store_settings.rb index 9f5323426d9..938129757f1 100644 --- a/config/object_store_settings.rb +++ b/config/object_store_settings.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Set default values for object_store settings class ObjectStoreSettings SUPPORTED_TYPES = %w(artifacts external_diffs lfs uploads packages dependency_proxy terraform_state pages).freeze @@ -78,7 +80,7 @@ class ObjectStoreSettings # "background_upload" => false, # "proxy_download" => false, # "remote_directory" => "artifacts" - # } + # } # # Settings.lfs['object_store'] = { # "enabled" => true, @@ -97,7 +99,7 @@ class ObjectStoreSettings # "background_upload" => false, # "proxy_download" => true, # "remote_directory" => "lfs-objects" - # } + # } # # Note that with the common config: # 1. Only one object store credentials can now be used. This is @@ -124,6 +126,9 @@ class ObjectStoreSettings target_config = common_config.merge(overrides.slice(*ALLOWED_OBJECT_STORE_OVERRIDES)) section = settings.try(store_type) + # Admins can selectively disable object storage for a specific + # type as an override in the consolidated settings. + next unless overrides.fetch('enabled', true) next unless section if section['enabled'] && target_config['bucket'].blank? @@ -140,6 +145,8 @@ class ObjectStoreSettings target_config['consolidated_settings'] = true section['object_store'] = target_config end + + settings end private @@ -152,8 +159,9 @@ class ObjectStoreSettings return false unless settings.dig('object_store', 'connection').present? WORKHORSE_ACCELERATED_TYPES.each do |store| - # to_h is needed because something strange happens to - # Settingslogic#dig when stub_storage_settings is run in tests: + # to_h is needed because we define `default` as a Gitaly storage name + # in stub_storage_settings. This causes Settingslogic to redefine Hash#default, + # which causes Hash#dig to fail when the key doesn't exist: https://gitlab.com/gitlab-org/gitlab/-/issues/286873 # # (byebug) section.dig # *** ArgumentError Exception: wrong number of arguments (given 0, expected 1+) diff --git a/config/puma.example.development.rb b/config/puma.example.development.rb index 28c2af3acb3..1901b5a0c1c 100644 --- a/config/puma.example.development.rb +++ b/config/puma.example.development.rb @@ -86,7 +86,7 @@ end # https://github.com/puma/puma/blob/master/5.0-Upgrade.md#nakayoshi_fork if defined?(nakayoshi_fork) - nakayoshi_fork unless ENV['DISABLE_PUMA_NAKAYOSHI_FORK'] == 'true' + nakayoshi_fork if ENV['ENABLE_PUMA_NAKAYOSHI_FORK'] == 'true' end # Use json formatter diff --git a/config/puma.rb.example b/config/puma.rb.example index 9fc354a8fe8..6684919e912 100644 --- a/config/puma.rb.example +++ b/config/puma.rb.example @@ -76,7 +76,7 @@ end # https://github.com/puma/puma/blob/master/5.0-Upgrade.md#nakayoshi_fork if defined?(nakayoshi_fork) - nakayoshi_fork unless ENV['DISABLE_PUMA_NAKAYOSHI_FORK'] == 'true' + nakayoshi_fork if ENV['ENABLE_PUMA_NAKAYOSHI_FORK'] == 'true' end # Use json formatter diff --git a/config/puma_actioncable.example.development.rb b/config/puma_actioncable.example.development.rb index d0da3dcd8f2..a12b4523848 100644 --- a/config/puma_actioncable.example.development.rb +++ b/config/puma_actioncable.example.development.rb @@ -86,7 +86,7 @@ end # https://github.com/puma/puma/blob/master/5.0-Upgrade.md#nakayoshi_fork if defined?(nakayoshi_fork) - nakayoshi_fork unless ENV['DISABLE_PUMA_NAKAYOSHI_FORK'] == 'true' + nakayoshi_fork if ENV['ENABLE_PUMA_NAKAYOSHI_FORK'] == 'true' end # Use json formatter diff --git a/config/routes.rb b/config/routes.rb index 31e483df326..90a26c0a20f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'sidekiq/web' require 'sidekiq/cron/web' require 'product_analytics/collector_app' @@ -60,9 +62,10 @@ Rails.application.routes.draw do end # Search - get 'search' => 'search#show' + get 'search' => 'search#show', as: :search get 'search/autocomplete' => 'search#autocomplete', as: :search_autocomplete get 'search/count' => 'search#count', as: :search_count + get 'search/opensearch' => 'search#opensearch', as: :search_opensearch # JSON Web Token get 'jwt/auth' => 'jwt#auth' @@ -158,6 +161,7 @@ Rails.application.routes.draw do get :db_spin get :sleep get :kill + post :gc end end @@ -288,7 +292,28 @@ Rails.application.routes.draw do get '/sitemap' => 'sitemap#show', format: :xml end + # Creates shorthand helper methods for project resources. + # For example; for the `namespace_project_path` this also creates `project_path`. + # + # TODO: We don't need the `Gitlab::Routing` module at all as we can use + # the `direct` DSL method of Rails to define url helpers. Move all the + # custom url helpers to use the `direct` DSL method and remove the `Gitlab::Routing`. + # For more information: https://gitlab.com/gitlab-org/gitlab/-/issues/299583 + Gitlab::Application.routes.set.filter_map { |route| route.name if route.name&.include?('namespace_project') }.each do |name| + new_name = name.sub('namespace_project', 'project') + + direct(new_name) do |project, *args| + # This is due to a bug I've found in Rails. + # For more information: https://gitlab.com/gitlab-org/gitlab/-/issues/299591 + args.pop if args.last == {} + + send("#{name}_url", project&.namespace, project, *args) + end + end + root to: "root#index" get '*unmatched_route', to: 'application#route_not_found' end + +Gitlab::Routing.add_helpers(TimeboxesRoutingHelper) diff --git a/config/routes/admin.rb b/config/routes/admin.rb index 71a927f59b9..3e04f0d97cb 100644 --- a/config/routes/admin.rb +++ b/config/routes/admin.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + namespace :admin do resources :users, constraints: { id: %r{[a-zA-Z./0-9_\-]+} } do resources :keys, only: [:show, :destroy] diff --git a/config/routes/api.rb b/config/routes/api.rb index 5dbfcc98f0f..dcbc98991e2 100644 --- a/config/routes/api.rb +++ b/config/routes/api.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + post '/api/graphql', to: 'graphql#execute' mount GraphiQL::Rails::Engine, at: '/-/graphql-explorer', graphql_path: Gitlab::Utils.append_path(Gitlab.config.gitlab.relative_url_root, '/api/graphql') diff --git a/config/routes/dashboard.rb b/config/routes/dashboard.rb index 7e29a36f020..6a3aa5ff0c1 100644 --- a/config/routes/dashboard.rb +++ b/config/routes/dashboard.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + resource :dashboard, controller: 'dashboard', only: [] do get :issues, action: :issues_calendar, constraints: lambda { |req| req.format == :ics } get :issues diff --git a/config/routes/development.rb b/config/routes/development.rb index 9b2b47c6a21..4ea53e14120 100644 --- a/config/routes/development.rb +++ b/config/routes/development.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + if Rails.env.development? # Make the built-in Rails routes available in development, otherwise they'd # get swallowed by the `namespace/project` route matcher below. diff --git a/config/routes/explore.rb b/config/routes/explore.rb index 59b53bdcf42..c6bf98b6fb3 100644 --- a/config/routes/explore.rb +++ b/config/routes/explore.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + namespace :explore do resources :projects, only: [:index] do collection do diff --git a/config/routes/git_http.rb b/config/routes/git_http.rb index 715d4b5cc59..6899a89cc7d 100644 --- a/config/routes/git_http.rb +++ b/config/routes/git_http.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + scope(path: '*repository_path', format: false) do constraints(repository_path: Gitlab::PathRegex.repository_git_route_regex) do scope(module: :repositories) do @@ -42,7 +44,7 @@ scope(path: '*repository_path', format: false) do wiki_redirect = redirect do |params, request| container_path = params[:repository_path].delete_suffix('.wiki.git') path = File.join(container_path, '-', 'wikis') - path << "?#{request.query_string}" unless request.query_string.blank? + path += "?#{request.query_string}" unless request.query_string.blank? path end @@ -54,7 +56,7 @@ scope(path: '*repository_path', format: false) do constraints(repository_path: Gitlab::PathRegex.repository_route_regex) do ref_redirect = redirect do |params, request| path = "#{params[:repository_path]}.git/info/refs" - path << "?#{request.query_string}" unless request.query_string.blank? + path += "?#{request.query_string}" unless request.query_string.blank? path end diff --git a/config/routes/google_api.rb b/config/routes/google_api.rb index a119b47c176..06f8d988072 100644 --- a/config/routes/google_api.rb +++ b/config/routes/google_api.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + scope '-' do namespace :google_api do resource :auth, only: [], controller: :authorizations do diff --git a/config/routes/group.rb b/config/routes/group.rb index 012d5926872..e1ae860f6ec 100644 --- a/config/routes/group.rb +++ b/config/routes/group.rb @@ -111,6 +111,7 @@ constraints(::Constraints::GroupUrlConstrainer.new) do resources :container_registries, only: [:index, :show], controller: 'registry/repositories' resource :dependency_proxy, only: [:show, :update] + resources :email_campaigns, only: :index end scope(path: '*id', diff --git a/config/routes/help.rb b/config/routes/help.rb index 446310ba314..2a0aba8b632 100644 --- a/config/routes/help.rb +++ b/config/routes/help.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + get 'help' => 'help#index' get 'help/shortcuts' => 'help#shortcuts' get 'help/instance_configuration' => 'help#instance_configuration' diff --git a/config/routes/import.rb b/config/routes/import.rb index 5f94fb8d058..64830ef1e52 100644 --- a/config/routes/import.rb +++ b/config/routes/import.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Alias import callbacks under the /users/auth endpoint so that # the OAuth2 callback URL can be restricted under http://example.com/users/auth # instead of http://example.com. diff --git a/config/routes/legacy_builds.rb b/config/routes/legacy_builds.rb index 5ab2b953ce1..c08b581e101 100644 --- a/config/routes/legacy_builds.rb +++ b/config/routes/legacy_builds.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + resources :builds, only: [:index, :show], constraints: { id: /\d+/ } do collection do resources :artifacts, only: [], controller: 'build_artifacts' do diff --git a/config/routes/merge_requests.rb b/config/routes/merge_requests.rb index 41d831f239e..b0bab1717a6 100644 --- a/config/routes/merge_requests.rb +++ b/config/routes/merge_requests.rb @@ -18,6 +18,7 @@ resources :merge_requests, concerns: :awardable, except: [:new, :create, :show], get :coverage_reports get :terraform_reports get :codequality_reports + get :codequality_mr_diff_reports scope constraints: ->(req) { req.format == :json }, as: :json do get :commits diff --git a/config/routes/project.rb b/config/routes/project.rb index 2e61bc8175e..e6df2532479 100644 --- a/config/routes/project.rb +++ b/config/routes/project.rb @@ -37,6 +37,10 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do end end + namespace :security do + resource :configuration, only: [:show], controller: :configuration + end + resources :artifacts, only: [:index, :destroy] resources :packages, only: [:index, :show, :destroy], module: :packages @@ -87,6 +91,9 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do resource :lint, only: [:show, :create] resource :pipeline_editor, only: [:show], controller: :pipeline_editor, path: 'editor' resources :daily_build_group_report_results, only: [:index], constraints: { format: /(csv|json)/ } + namespace :prometheus_metrics do + resources :histograms, only: [:create], constraints: { format: 'json' } + end end namespace :settings do @@ -132,7 +139,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do end end - resources :project_members, except: [:show, :new, :edit], constraints: { id: %r{[a-zA-Z./0-9_\-#%+]+} }, concerns: :access_requestable do + resources :project_members, except: [:show, :new, :edit], constraints: { id: %r{[a-zA-Z./0-9_\-#%+:]+} }, concerns: :access_requestable do collection do delete :leave @@ -219,7 +226,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do resources :starrers, only: [:index] resources :forks, only: [:index, :new, :create] - resources :group_links, only: [:create, :update, :destroy], constraints: { id: /\d+/ } + resources :group_links, only: [:create, :update, :destroy], constraints: { id: /\d+|:id/ } resource :import, only: [:new, :create, :show] resource :avatar, only: [:show, :destroy] diff --git a/config/routes/repository.rb b/config/routes/repository.rb index 43837f2ce34..61a407d5a35 100644 --- a/config/routes/repository.rb +++ b/config/routes/repository.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # All routing related to repository browsing resource :repository, only: [:create] do diff --git a/config/routes/sherlock.rb b/config/routes/sherlock.rb index c9969f91c36..a9be434dba7 100644 --- a/config/routes/sherlock.rb +++ b/config/routes/sherlock.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + if Gitlab::Sherlock.enabled? namespace :sherlock do resources :transactions, only: [:index, :show] do diff --git a/config/routes/sidekiq.rb b/config/routes/sidekiq.rb index 36ec8bc1d54..5f6755fc3b3 100644 --- a/config/routes/sidekiq.rb +++ b/config/routes/sidekiq.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + constraints ::Constraints::AdminConstrainer.new do mount Sidekiq::Web, at: '/admin/sidekiq', as: :sidekiq end diff --git a/config/routes/snippets.rb b/config/routes/snippets.rb index 9e0c42fa07d..5c162d0c37f 100644 --- a/config/routes/snippets.rb +++ b/config/routes/snippets.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + resources :snippets, except: [:create, :update, :destroy], concerns: :awardable, constraints: { id: /\d+/ } do member do get :raw diff --git a/config/routes/uploads.rb b/config/routes/uploads.rb index fb8af76397c..71a868175a9 100644 --- a/config/routes/uploads.rb +++ b/config/routes/uploads.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + scope path: :uploads do # Note attachments and User/Group/Project avatars get "-/system/:model/:mounted_as/:id/:filename", diff --git a/config/routes/wiki.rb b/config/routes/wiki.rb index 49ad39e8369..4d14743b3d3 100644 --- a/config/routes/wiki.rb +++ b/config/routes/wiki.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + scope(controller: :wikis) do scope(path: 'wikis', as: :wikis) do get :git_access diff --git a/config/sidekiq_queues.yml b/config/sidekiq_queues.yml index d5b3925131e..678b585e6d7 100644 --- a/config/sidekiq_queues.yml +++ b/config/sidekiq_queues.yml @@ -158,6 +158,12 @@ - 1 - - group_saml_group_sync - 1 +- - group_wikis_git_garbage_collect + - 1 +- - groups_schedule_bulk_repository_shard_moves + - 1 +- - groups_update_repository_storage + - 1 - - hashed_storage - 1 - - import_issues_csv @@ -166,6 +172,8 @@ - 2 - - incident_management_apply_incident_sla_exceeded_label - 1 +- - incident_management_oncall_rotations_persist_shifts_job + - 1 - - invalid_gpg_signature_update - 2 - - irker @@ -270,6 +278,8 @@ - 1 - - project_update_repository_storage - 1 +- - projects_git_garbage_collect + - 1 - - prometheus_create_default_alerts - 1 - - propagate_integration @@ -360,5 +370,7 @@ - 1 - - web_hooks_destroy - 1 +- - wikis_git_garbage_collect + - 1 - - x509_certificate_revoke - 1 diff --git a/config/smime_signature_settings.rb b/config/smime_signature_settings.rb index 4a8cf1a06f7..4b50e01dba0 100644 --- a/config/smime_signature_settings.rb +++ b/config/smime_signature_settings.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Set default values for email_smime settings class SmimeSignatureSettings def self.parse(email_smime) diff --git a/config/spring.rb b/config/spring.rb index 0092d0fd1b0..3f00e6ab23f 100644 --- a/config/spring.rb +++ b/config/spring.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + %w( .ruby-version .rbenv-vars diff --git a/config/webpack.config.js b/config/webpack.config.js index 958b27d674d..19059c35c46 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -9,6 +9,7 @@ const MonacoWebpackPlugin = require('./plugins/monaco_webpack'); const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; const CopyWebpackPlugin = require('copy-webpack-plugin'); const vendorDllHash = require('./helpers/vendor_dll_hash'); +const createIncrementalWebpackCompiler = require('./helpers/incremental_webpack_compiler'); const ROOT_PATH = path.resolve(__dirname, '..'); const VENDOR_DLL = process.env.WEBPACK_VENDOR_DLL && process.env.WEBPACK_VENDOR_DLL !== 'false'; @@ -23,6 +24,10 @@ const DEV_SERVER_ALLOWED_HOSTS = process.env.DEV_SERVER_ALLOWED_HOSTS && process.env.DEV_SERVER_ALLOWED_HOSTS.split(','); const DEV_SERVER_HTTPS = process.env.DEV_SERVER_HTTPS && process.env.DEV_SERVER_HTTPS !== 'false'; const DEV_SERVER_LIVERELOAD = IS_DEV_SERVER && process.env.DEV_SERVER_LIVERELOAD !== 'false'; +const INCREMENTAL_COMPILER_ENABLED = + IS_DEV_SERVER && + process.env.DEV_SERVER_INCREMENTAL && + process.env.DEV_SERVER_INCREMENTAL !== 'false'; const WEBPACK_REPORT = process.env.WEBPACK_REPORT && process.env.WEBPACK_REPORT !== 'false'; const WEBPACK_MEMORY_TEST = process.env.WEBPACK_MEMORY_TEST && process.env.WEBPACK_MEMORY_TEST !== 'false'; @@ -48,6 +53,11 @@ let autoEntriesCount = 0; let watchAutoEntries = []; const defaultEntries = ['./main']; +const incrementalCompiler = createIncrementalWebpackCompiler( + INCREMENTAL_COMPILER_ENABLED, + path.join(CACHE_PATH, 'incremental-webpack-compiler-history.json'), +); + function generateEntries() { // generate automatic entry points const autoEntries = {}; @@ -97,7 +107,7 @@ function generateEntries() { jira_connect_app: './jira_connect/index.js', }; - return Object.assign(manualEntries, autoEntries); + return Object.assign(manualEntries, incrementalCompiler.filterEntryPoints(autoEntries)); } const alias = { @@ -495,9 +505,13 @@ module.exports = { watchAutoEntries.forEach((watchPath) => compilation.contextDependencies.add(watchPath)); // report our auto-generated bundle count - console.log( - `${autoEntriesCount} entries from '/pages' automatically added to webpack output.`, - ); + if (incrementalCompiler.enabled) { + incrementalCompiler.logStatus(autoEntriesCount); + } else { + console.log( + `${autoEntriesCount} entries from '/pages' automatically added to webpack output.`, + ); + } callback(); }); @@ -576,8 +590,10 @@ module.exports = { */ new webpack.IgnorePlugin(/moment/, /pikaday/), ].filter(Boolean), - devServer: { + before(app, server) { + incrementalCompiler.setupMiddleware(app, server); + }, host: DEV_SERVER_HOST, port: DEV_SERVER_PORT, public: DEV_SERVER_PUBLIC_ADDR, |