From 915d10b20d68d095f130efa7de2a036258ba47ca Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 9 May 2025 15:11:36 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/global.gitlab-ci.yml | 32 ---- .gitlab/ci/rails.gitlab-ci.yml | 1 + .gitlab/ci/rules.gitlab-ci.yml | 1 + .../gitlab/feature_flag_without_actor.yml | 1 - .rubocop_todo/layout/class_structure.yml | 1 - .rubocop_todo/style/map_into_array.yml | 1 - GITLAB_ZOEKT_VERSION | 1 + Gemfile | 2 +- Gemfile.checksum | 2 +- Gemfile.lock | 6 +- Gemfile.next.checksum | 2 +- Gemfile.next.lock | 6 +- .../list/components/issue_card_time_info.vue | 3 +- .../components/profile_preferences.vue | 5 +- app/finders/group_members_finder.rb | 6 +- config/initializers/1_settings.rb | 3 + .../postgresql_versions.md | 1 + doc/api/graphql/reference/_index.md | 24 +++ doc/ci/pipelines/_index.md | 2 +- doc/development/ai_features/duo_chat.md | 21 ++ doc/user/analytics/ci_cd_analytics.md | 85 ++++----- doc/user/analytics/dora_metrics.md | 6 + doc/user/analytics/dora_metrics_charts.md | 50 +++++ .../static_reachability.md | 11 +- .../import/direct_transfer_migrations.md | 7 +- doc/user/project/import/_index.md | 14 ++ doc/user/project/milestones/_index.md | 9 - .../getting_started/pages_from_scratch.md | 20 +- .../Dependency-Scanning.latest.gitlab-ci.yml | 179 +++--------------- scripts/frontend/quarantined_vue3_specs.txt | 1 - scripts/setup-test-env | 1 + 31 files changed, 228 insertions(+), 276 deletions(-) create mode 100644 GITLAB_ZOEKT_VERSION create mode 100644 doc/user/analytics/dora_metrics_charts.md diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml index 5123fbf0817..cec54c38b4e 100644 --- a/.gitlab/ci/global.gitlab-ci.yml +++ b/.gitlab/ci/global.gitlab-ci.yml @@ -344,16 +344,6 @@ alias: postgres - !reference [.redis-services, services] -.zoekt-variables: - variables: - ZOEKT_INDEX_BASE_URL: http://zoekt-ci-image:6060 - ZOEKT_SEARCH_BASE_URL: http://zoekt-ci-image:6070 - -.zoekt-services: - services: - - name: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:zoekt-ci-image-1.10 - alias: zoekt-ci-image - .use-pg14: extends: - .pg-base-variables @@ -396,14 +386,12 @@ .es7-services: services: - - !reference [.zoekt-services, services] - name: elasticsearch:7.17.6 command: ["elasticsearch", "-E", "discovery.type=single-node", "-E", "xpack.security.enabled=false", "-E", "cluster.routing.allocation.disk.threshold_enabled=false"] .use-pg14-es7-ee: extends: - .use-pg14 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.es7-services, services] @@ -411,7 +399,6 @@ .use-pg15-es7-ee: extends: - .use-pg15 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.es7-services, services] @@ -419,7 +406,6 @@ .use-pg16-es7-ee: extends: - .use-pg16 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.es7-services, services] @@ -427,14 +413,12 @@ .use-pg17-es7-ee: extends: - .use-pg17 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.es7-services, services] .es8-services: services: - - !reference [.zoekt-services, services] - name: elasticsearch:8.17.4 .es8-variables: @@ -446,7 +430,6 @@ .use-pg14-es8-ee: extends: - .use-pg14 - - .zoekt-variables - .es8-variables services: - !reference [.db-services-with-auto-explain, services] @@ -455,7 +438,6 @@ .use-pg15-es8-ee: extends: - .use-pg15 - - .zoekt-variables - .es8-variables services: - !reference [.db-services-with-auto-explain, services] @@ -464,7 +446,6 @@ .use-pg16-es8-ee: extends: - .use-pg16 - - .zoekt-variables - .es8-variables services: - !reference [.db-services-with-auto-explain, services] @@ -473,7 +454,6 @@ .use-pg17-es8-ee: extends: - .use-pg17 - - .zoekt-variables - .es8-variables services: - !reference [.db-services-with-auto-explain, services] @@ -481,7 +461,6 @@ .opensearch-latest-services: services: - - !reference [.zoekt-services, services] - name: opensearchproject/opensearch:latest alias: elasticsearch command: ["bin/opensearch", "-E", "discovery.type=single-node", "-E", "plugins.security.disabled=true", "-E", "cluster.routing.allocation.disk.threshold_enabled=false"] @@ -489,14 +468,12 @@ .use-pg16-opensearch-latest-ee: extends: - .use-pg16 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.opensearch-latest-services, services] .os1-services: services: - - !reference [.zoekt-services, services] - name: opensearchproject/opensearch:1.3.18 alias: elasticsearch command: ["bin/opensearch", "-E", "discovery.type=single-node", "-E", "plugins.security.disabled=true", "-E", "cluster.routing.allocation.disk.threshold_enabled=false"] @@ -504,7 +481,6 @@ .use-pg14-opensearch1-ee: extends: - .use-pg14 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.os1-services, services] @@ -512,7 +488,6 @@ .use-pg15-opensearch1-ee: extends: - .use-pg15 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.os1-services, services] @@ -520,7 +495,6 @@ .use-pg16-opensearch1-ee: extends: - .use-pg16 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.os1-services, services] @@ -528,14 +502,12 @@ .use-pg17-opensearch1-ee: extends: - .use-pg17 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.os1-services, services] .os2-services: services: - - !reference [.zoekt-services, services] - name: opensearchproject/opensearch:2.15.0 alias: elasticsearch command: ["bin/opensearch", "-E", "discovery.type=single-node", "-E", "plugins.security.disabled=true", "-E", "cluster.routing.allocation.disk.threshold_enabled=false"] @@ -543,7 +515,6 @@ .use-pg14-opensearch2-ee: extends: - .use-pg14 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.os2-services, services] @@ -551,7 +522,6 @@ .use-pg15-opensearch2-ee: extends: - .use-pg15 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.os2-services, services] @@ -559,7 +529,6 @@ .use-pg16-opensearch2-ee: extends: - .use-pg16 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.os2-services, services] @@ -567,7 +536,6 @@ .use-pg17-opensearch2-ee: extends: - .use-pg17 - - .zoekt-variables services: - !reference [.db-services-with-auto-explain, services] - !reference [.os2-services, services] diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 2ccbe33cc63..0b55d4b9956 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -44,6 +44,7 @@ setup-test-env: - ${TMP_TEST_FOLDER}/gitaly/praefect.config.toml - ${TMP_TEST_FOLDER}/gitaly/praefect-db.config.toml - ${TMP_TEST_FOLDER}/gitlab-elasticsearch-indexer/bin/gitlab-elasticsearch-indexer + - ${TMP_TEST_FOLDER}/gitlab-zoekt/bin/gitlab-zoekt - ${TMP_TEST_FOLDER}/gitlab-shell/ - ${TMP_TEST_FOLDER}/gitlab-test-fork/ - ${TMP_TEST_FOLDER}/gitlab-test-fork.bundle diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index e6c17a87322..5a4a859b44e 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -442,6 +442,7 @@ - "{,jh/}Gemfile.lock" - "{,jh/}Gemfile.next.lock" - "GITLAB_ELASTICSEARCH_INDEXER_VERSION" + - "GITLAB_ZOEKT_VERSION" # List explicitly all the app/ dirs that are backend (i.e. all except app/assets). - "{,ee/,jh/}{app/channels,app/components,app/controllers,app/finders,app/graphql,app/helpers,app/mailers,app/models,app/policies,app/presenters,app/serializers,app/services,app/uploaders,app/validators,app/views,app/workers}/**/*" - "{,ee/,jh/}{bin,config,db,elastic,gems,generator_templates,lib}/**/*" diff --git a/.rubocop_todo/gitlab/feature_flag_without_actor.yml b/.rubocop_todo/gitlab/feature_flag_without_actor.yml index 1f9b36f7d13..b1634c623c2 100644 --- a/.rubocop_todo/gitlab/feature_flag_without_actor.yml +++ b/.rubocop_todo/gitlab/feature_flag_without_actor.yml @@ -105,7 +105,6 @@ Gitlab/FeatureFlagWithoutActor: - 'ee/lib/gitlab/geo/replication/blob_downloader.rb' - 'ee/lib/gitlab/geo/replicator.rb' - 'ee/lib/gitlab/llm/tanuki_bot.rb' - - 'ee/lib/gitlab/search/zoekt/client.rb' - 'ee/lib/gitlab/usage_data_counters/epic_activity_unique_counter.rb' - 'ee/lib/search/zoekt/circuit_breaker.rb' - 'ee/spec/lib/gitlab/product_analytics/developments/setup_spec.rb' diff --git a/.rubocop_todo/layout/class_structure.yml b/.rubocop_todo/layout/class_structure.yml index c529571e039..02b86de76f4 100644 --- a/.rubocop_todo/layout/class_structure.yml +++ b/.rubocop_todo/layout/class_structure.yml @@ -2,7 +2,6 @@ # Cop supports --autocorrect. Layout/ClassStructure: Exclude: - - 'app/finders/group_members_finder.rb' - 'app/finders/groups/environment_scopes_finder.rb' - 'app/finders/issuable_finder.rb' - 'app/graphql/mutations/base_mutation.rb' diff --git a/.rubocop_todo/style/map_into_array.yml b/.rubocop_todo/style/map_into_array.yml index 5f5ccc05785..e34d79784c6 100644 --- a/.rubocop_todo/style/map_into_array.yml +++ b/.rubocop_todo/style/map_into_array.yml @@ -8,7 +8,6 @@ Style/MapIntoArray: - 'config/settings.rb' - 'ee/app/workers/product_analytics/move_funnels_worker.rb' - 'ee/lib/elastic/latest/user_class_proxy.rb' - - 'ee/lib/gitlab/search/zoekt/client.rb' - 'ee/spec/lib/search/elastic/references/embedding_spec.rb' - 'lib/gitlab/database/query_analyzers/prevent_set_operator_mismatch/node.rb' - 'lib/gitlab/git/blame.rb' diff --git a/GITLAB_ZOEKT_VERSION b/GITLAB_ZOEKT_VERSION new file mode 100644 index 00000000000..04a373efe6b --- /dev/null +++ b/GITLAB_ZOEKT_VERSION @@ -0,0 +1 @@ +0.16.0 diff --git a/Gemfile b/Gemfile index 17387ba647a..fbfa5189eb6 100644 --- a/Gemfile +++ b/Gemfile @@ -533,7 +533,7 @@ group :development, :test do gem 'influxdb-client', '~> 3.1', require: false, feature_category: :tooling gem 'knapsack', '~> 4.0.0', feature_category: :tooling - gem 'crystalball', '~> 0.7.0', require: false, feature_category: :tooling + gem 'gitlab-crystalball', '~> 0.7.2', require: false, feature_category: :tooling gem 'test_file_finder', '~> 0.3.1', feature_category: :tooling gem 'simple_po_parser', '~> 1.1.6', require: false, feature_category: :shared diff --git a/Gemfile.checksum b/Gemfile.checksum index e51b92c845e..fc06f0f368e 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -94,7 +94,6 @@ {"name":"crack","version":"0.4.3","platform":"ruby","checksum":"5318ba8cd9cf7e0b5feb38948048503ba4b1fdc1b6ff30a39f0a00feb6036b29"}, {"name":"crass","version":"1.0.6","platform":"ruby","checksum":"dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d"}, {"name":"creole","version":"0.5.0","platform":"ruby","checksum":"951701e2d80760f156b1cb2a93471ca97c076289becc067a33b745133ed32c03"}, -{"name":"crystalball","version":"0.7.0","platform":"ruby","checksum":"6e729f372a5071daec877adb40c5df4cb25fe21f350635e2a9624373fc151ef2"}, {"name":"css_parser","version":"1.14.0","platform":"ruby","checksum":"f2ce6148cd505297b07bdbe7a5db4cce5cf530071f9b732b9a23538d6cdc0113"}, {"name":"cssbundling-rails","version":"1.4.3","platform":"ruby","checksum":"53aecd5a7d24ac9c8fcd92975acd0e830fead4ee4583d3d3d49bb64651946e41"}, {"name":"csv","version":"3.3.0","platform":"ruby","checksum":"0bbd1defdc31134abefed027a639b3723c2753862150f4c3ee61cab71b20d67d"}, @@ -220,6 +219,7 @@ {"name":"gitlab","version":"4.19.0","platform":"ruby","checksum":"3f645e3e195dbc24f0834fbf83e8ccfb2056d8e9712b01a640aad418a6949679"}, {"name":"gitlab-chronic","version":"0.10.6","platform":"ruby","checksum":"a244d11a1396d2aac6ae9b2f326adf1605ec1ad20c29f06e8b672047d415a9ac"}, {"name":"gitlab-cloud-connector","version":"1.11.0","platform":"ruby","checksum":"fb131bb3d04a7d014a08311cd7ff669ed3c5577d9d0b11df7216f768dfd5c0c8"}, +{"name":"gitlab-crystalball","version":"0.7.2","platform":"ruby","checksum":"c4ed7871d5952377ba38dedc2d64febc204273b5a7d98c954b777b4a9aceb49a"}, {"name":"gitlab-dangerfiles","version":"4.9.1","platform":"ruby","checksum":"296b19d8aca5e4da8d391234914a1c4dfedc29700ddbcd9c554b6ffaa7fdf1b2"}, {"name":"gitlab-experiment","version":"0.9.1","platform":"ruby","checksum":"f230ee742154805a755d5f2539dc44d93cdff08c5bbbb7656018d61f93d01f48"}, {"name":"gitlab-fog-azure-rm","version":"2.2.0","platform":"ruby","checksum":"31aa7c2170f57874053144e7f716ec9e15f32e71ffbd2c56753dce46e2e78ba9"}, diff --git a/Gemfile.lock b/Gemfile.lock index b0d1be09abf..96a0854f3a8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -479,8 +479,6 @@ GEM safe_yaml (~> 1.0.0) crass (1.0.6) creole (0.5.0) - crystalball (0.7.0) - git css_parser (1.14.0) addressable cssbundling-rails (1.4.3) @@ -753,6 +751,8 @@ GEM gitlab-cloud-connector (1.11.0) activesupport (~> 7.0) jwt (~> 2.9.3) + gitlab-crystalball (0.7.2) + git (< 4) gitlab-dangerfiles (4.9.1) danger (>= 9.3.0) danger-gitlab (>= 8.0.0) @@ -2107,7 +2107,6 @@ DEPENDENCIES countries (~> 4.0.0) coverband (= 6.1.5) creole (~> 0.5.0) - crystalball (~> 0.7.0) cssbundling-rails (= 1.4.3) csv_builder! cvss-suite (~> 3.3.0) @@ -2163,6 +2162,7 @@ DEPENDENCIES gitlab-backup-cli! gitlab-chronic (~> 0.10.5) gitlab-cloud-connector (~> 1.11) + gitlab-crystalball (~> 0.7.2) gitlab-dangerfiles (~> 4.9.0) gitlab-duo-workflow-service-client (~> 0.1)! gitlab-experiment (~> 0.9.1) diff --git a/Gemfile.next.checksum b/Gemfile.next.checksum index e51b92c845e..fc06f0f368e 100644 --- a/Gemfile.next.checksum +++ b/Gemfile.next.checksum @@ -94,7 +94,6 @@ {"name":"crack","version":"0.4.3","platform":"ruby","checksum":"5318ba8cd9cf7e0b5feb38948048503ba4b1fdc1b6ff30a39f0a00feb6036b29"}, {"name":"crass","version":"1.0.6","platform":"ruby","checksum":"dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d"}, {"name":"creole","version":"0.5.0","platform":"ruby","checksum":"951701e2d80760f156b1cb2a93471ca97c076289becc067a33b745133ed32c03"}, -{"name":"crystalball","version":"0.7.0","platform":"ruby","checksum":"6e729f372a5071daec877adb40c5df4cb25fe21f350635e2a9624373fc151ef2"}, {"name":"css_parser","version":"1.14.0","platform":"ruby","checksum":"f2ce6148cd505297b07bdbe7a5db4cce5cf530071f9b732b9a23538d6cdc0113"}, {"name":"cssbundling-rails","version":"1.4.3","platform":"ruby","checksum":"53aecd5a7d24ac9c8fcd92975acd0e830fead4ee4583d3d3d49bb64651946e41"}, {"name":"csv","version":"3.3.0","platform":"ruby","checksum":"0bbd1defdc31134abefed027a639b3723c2753862150f4c3ee61cab71b20d67d"}, @@ -220,6 +219,7 @@ {"name":"gitlab","version":"4.19.0","platform":"ruby","checksum":"3f645e3e195dbc24f0834fbf83e8ccfb2056d8e9712b01a640aad418a6949679"}, {"name":"gitlab-chronic","version":"0.10.6","platform":"ruby","checksum":"a244d11a1396d2aac6ae9b2f326adf1605ec1ad20c29f06e8b672047d415a9ac"}, {"name":"gitlab-cloud-connector","version":"1.11.0","platform":"ruby","checksum":"fb131bb3d04a7d014a08311cd7ff669ed3c5577d9d0b11df7216f768dfd5c0c8"}, +{"name":"gitlab-crystalball","version":"0.7.2","platform":"ruby","checksum":"c4ed7871d5952377ba38dedc2d64febc204273b5a7d98c954b777b4a9aceb49a"}, {"name":"gitlab-dangerfiles","version":"4.9.1","platform":"ruby","checksum":"296b19d8aca5e4da8d391234914a1c4dfedc29700ddbcd9c554b6ffaa7fdf1b2"}, {"name":"gitlab-experiment","version":"0.9.1","platform":"ruby","checksum":"f230ee742154805a755d5f2539dc44d93cdff08c5bbbb7656018d61f93d01f48"}, {"name":"gitlab-fog-azure-rm","version":"2.2.0","platform":"ruby","checksum":"31aa7c2170f57874053144e7f716ec9e15f32e71ffbd2c56753dce46e2e78ba9"}, diff --git a/Gemfile.next.lock b/Gemfile.next.lock index b0d1be09abf..96a0854f3a8 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -479,8 +479,6 @@ GEM safe_yaml (~> 1.0.0) crass (1.0.6) creole (0.5.0) - crystalball (0.7.0) - git css_parser (1.14.0) addressable cssbundling-rails (1.4.3) @@ -753,6 +751,8 @@ GEM gitlab-cloud-connector (1.11.0) activesupport (~> 7.0) jwt (~> 2.9.3) + gitlab-crystalball (0.7.2) + git (< 4) gitlab-dangerfiles (4.9.1) danger (>= 9.3.0) danger-gitlab (>= 8.0.0) @@ -2107,7 +2107,6 @@ DEPENDENCIES countries (~> 4.0.0) coverband (= 6.1.5) creole (~> 0.5.0) - crystalball (~> 0.7.0) cssbundling-rails (= 1.4.3) csv_builder! cvss-suite (~> 3.3.0) @@ -2163,6 +2162,7 @@ DEPENDENCIES gitlab-backup-cli! gitlab-chronic (~> 0.10.5) gitlab-cloud-connector (~> 1.11) + gitlab-crystalball (~> 0.7.2) gitlab-dangerfiles (~> 4.9.0) gitlab-duo-workflow-service-client (~> 0.1)! gitlab-experiment (~> 0.9.1) diff --git a/app/assets/javascripts/issues/list/components/issue_card_time_info.vue b/app/assets/javascripts/issues/list/components/issue_card_time_info.vue index e5b0ca8fa65..a611067fd9c 100644 --- a/app/assets/javascripts/issues/list/components/issue_card_time_info.vue +++ b/app/assets/javascripts/issues/list/components/issue_card_time_info.vue @@ -77,8 +77,9 @@ export default { diff --git a/app/assets/javascripts/profile/preferences/components/profile_preferences.vue b/app/assets/javascripts/profile/preferences/components/profile_preferences.vue index aeb83d7e4fd..c2a3e5922c0 100644 --- a/app/assets/javascripts/profile/preferences/components/profile_preferences.vue +++ b/app/assets/javascripts/profile/preferences/components/profile_preferences.vue @@ -1,4 +1,5 @@