From f3b09181beb1110ba6e55c907cc8db36f3c80fcd Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 10 Jul 2024 21:35:01 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- Gemfile | 2 +- Gemfile.checksum | 2 +- Gemfile.lock | 4 +- app/assets/javascripts/entrypoints/tracker.js | 5 +- .../components/timeline_chart.vue | 4 +- .../permissions/components/settings_panel.vue | 40 +- .../projects/shared/permissions/constants.js | 2 + .../charts/components/statistics_list.vue | 4 +- .../components/settings/settings_block.vue | 21 +- .../import/github_groups_controller.rb | 2 +- app/views/groups/edit.html.haml | 2 + app/views/layouts/_snowplow.html.haml | 1 + config/dependency_decisions.yml | 10 +- .../wip/ai_settings_vue_admin.yml | 9 + .../wip/ai_settings_vue_group.yml | 9 + ...etrics_and_profiling_pageload_monthly.yml} | 0 ...oles_and_permissions_pageload_monthly.yml} | 0 ...s_sec_and_compliance_pageload_monthly.yml} | 0 .../geo/replication/configuration.md | 10 +- .../geo/replication/troubleshooting.md | 11 - .../replication/upgrading_the_geo_sites.md | 2 +- doc/administration/pages/index.md | 28 +- doc/api/graphql/reference/index.md | 96 ++ doc/api/import.md | 2 +- .../decisions/001_policy_on_the_client.md | 45 + .../cells/impacted_features/user-profile.md | 2 +- .../cells/impacted_features/your-work.md | 2 +- .../blueprints/cells/iterations/cells-1.5.md | 2 +- .../ci_insights.md | 157 +- .../img/current_page.png | Bin 34877 -> 0 bytes .../ci_builds_runner_fleet_metrics/index.md | 143 +- .../decomposition_partitioning_comparison.png | Bin 33212 -> 0 bytes .../blueprints/ci_data_decay/index.md | 201 +-- .../ci_data_decay/pipeline_archival.md | 18 +- .../pipeline_data_time_decay.png | Bin 13687 -> 0 bytes .../ci_data_decay/pipeline_partitioning.md | 841 +--------- .../ci_data_decay/reduce_data_growth_rate.md | 42 +- .../ci_data_decay/retention_policies.md | 22 +- .../ci_pipeline_processing/index.md | 451 +----- .../ci_builds_cumulative_forecast.png | Bin 19274 -> 0 bytes .../ci_scale/ci_builds_daily_forecast.png | Bin 11550 -> 0 bytes doc/architecture/blueprints/ci_scale/index.md | 226 +-- .../clickhouse_dbwriter.png | Bin 46544 -> 0 bytes .../clickhouse_ingestion_pipeline/index.md | 292 +--- .../index.md | 321 +--- .../blueprints/clickhouse_usage/index.md | 65 +- .../index.md | 68 +- .../code_search_with_zoekt/index.md | 353 +--- .../index.md | 250 +-- .../blueprints/git_data_offloading/index.md | 224 +-- .../adaptive_concurrency_limit_flow.png | Bin 36052 -> 0 bytes .../index.md | 376 +---- .../blueprints/gitaly_plugins/index.md | 345 +--- .../gitaly_transaction_management/index.md | 430 +---- .../decisions/001_hierarchical_events.md | 65 +- .../blueprints/gitlab_ci_events/index.md | 99 +- .../proposal-1-using-the-gitlab-ci-file.md | 57 +- .../proposal-2-using-the-rules-keyword.md | 38 +- ...sal-3-using-the-gitlab-ci-events-folder.md | 60 +- ...proposal-4-creating-events-via-ci-files.md | 82 +- .../proposal-5-combined-proposal.md | 102 +- .../gitlab_events_platform/index.md | 123 +- .../blueprints/gitlab_ml_experiments/index.md | 286 +--- .../blueprints/graphql_api/index.md | 165 +- .../img/data_topology_after.png | Bin 42270 -> 0 bytes .../img/data_topology_before.png | Bin 43710 -> 0 bytes .../img/data_topology_changes.png | Bin 93135 -> 0 bytes .../img/experiments_vs_models.png | Bin 19038 -> 0 bytes .../model_experiments_and_registry/index.md | 258 +-- .../blueprints/object_pools/index.md | 913 +---------- .../blueprints/object_storage/index.md | 207 +-- .../blueprints/observability_logging/index.md | 8 +- .../blueprints/observability_metrics/index.md | 289 +--- .../metrics-read-path.png | Bin 24109 -> 0 bytes .../metrics_indexing_at_ingestion.png | Bin 49164 -> 0 bytes .../query-service-internals.png | Bin 38793 -> 0 bytes .../organization-isolation-broken.drawio.png | Bin 57795 -> 0 bytes .../organization-isolation.drawio.png | Bin 56021 -> 0 bytes .../blueprints/organization/index.md | 299 +--- .../blueprints/organization/isolation.md | 155 +- .../organization/organization-faq.md | 49 +- .../organization/organization-users.md | 298 +--- .../blueprints/permissions/index.md | 191 +-- .../blueprints/rate_limiting/index.md | 419 +---- .../100_new_agent_authorization_strategy.md | 40 +- .../blueprints/remote_development/index.md | 755 +-------- .../blueprints/repository_backups/index.md | 271 +--- .../runner_admission_controller/index.md | 289 +--- .../gitlab-autoscaling-overview.png | Bin 37761 -> 0 bytes .../blueprints/runner_scaling/index.md | 463 +----- .../blueprints/runner_tokens/index.md | 489 +----- ...uby_push_check_approach_within_monolith.md | 35 +- ...et_detection_gem_in_the_same_repository.md | 43 +- .../003_run_scan_within_subprocess.md | 43 +- .../004_secret_detection_scanner_service.md | 130 +- .../005_use_runway_for_deployment.md | 107 +- .../secret_detection/img/003_subprocess.jpg | Bin 62405 -> 0 bytes .../secret_detection/img/004_rpc_service.jpg | Bin 528564 -> 0 bytes .../blueprints/secret_detection/index.md | 481 +----- .../blueprints/work_items/index.md | 245 +-- .../site_architecture/global_nav.md | 36 +- .../topic_types/top_level_page.md | 47 + doc/development/fe_guide/style/scss.md | 22 +- doc/development/feature_flags/index.md | 14 + doc/development/pipelines/index.md | 2 +- doc/subscriptions/gitlab_dedicated/index.md | 12 +- doc/subscriptions/subscription-add-ons.md | 2 +- doc/topics/git/lfs/migrate_to_git_lfs.md | 11 - .../policies/pipeline_execution_policies.md | 2 +- doc/user/gitlab_duo/data_usage.md | 2 +- .../integrations/google_artifact_registry.md | 11 - .../reducing_the_repo_size_using_git.md | 4 + .../settings/project_features_permissions.md | 11 - .../gitlab-secret_detection/lib/gitleaks.toml | 373 ++--- .../lib/gitlab/secret_detection/scan_spec.rb | 2 +- jest.config.base.js | 1 + lib/api/import_github.rb | 4 +- lib/gitlab/github_import/client.rb | 14 +- locale/gitlab.pot | 32 +- package.json | 19 +- patches/jest-mock+29.7.0.dev.patch | 39 + rubocop/cop/search/namespaced_class.rb | 5 +- scripts/internal_events/cli/event_definer.rb | 17 +- scripts/internal_events/cli/metric_definer.rb | 28 +- .../scripts/internal_events/new_events.yml | 55 +- .../scripts/internal_events/new_metrics.yml | 126 +- .../usage_trends_count_chart_spec.js.snap | 22 +- .../ci/pipeline_details/pipeline_tabs_spec.js | 24 +- .../__snapshots__/resolvers_spec.js.snap | 40 +- .../__snapshots__/utils_spec.js.snap | 48 +- .../autocomplete_helper_spec.js.snap | 40 +- .../__snapshots__/tree_list_spec.js.snap | 18 +- spec/frontend/dropzone_input_spec.js | 4 +- ...nt_data_transformation_helper_spec.js.snap | 64 +- .../error_tracking/components/list_mock.json | 12 +- .../components/timeline_chart_spec.js | 8 +- spec/frontend/groups/store/utils_spec.js | 54 +- .../logger/__snapshots__/hello_spec.js.snap | 8 +- .../observability/date_range_filter_spec.js | 144 +- .../terraform_installation_spec.js.snap | 10 +- .../components/terraform_installation_spec.js | 18 +- .../maven_installation_spec.js.snap | 4 +- .../nuget_installation_spec.js.snap | 4 +- .../graphl/utils/optimistic_responses_spec.js | 66 +- .../settings/__snapshots__/utils_spec.js.snap | 42 +- .../components/settings_panel_spec.js | 33 +- .../components/__snapshots__/app_spec.js.snap | 8 +- .../new_project_push_tip_popover_spec.js | 4 +- .../statistics_list_spec.js.snap | 2 +- .../charts/components/statistics_list_spec.js | 2 +- .../releases/__snapshots__/util_spec.js.snap | 154 +- .../settings/settings_block_spec.js | 22 + spec/lib/gitlab/github_import/client_spec.rb | 34 + .../import/github_groups_controller_spec.rb | 21 +- spec/scripts/internal_events/cli_spec.rb | 18 +- yarn.lock | 1421 ++++++++--------- 156 files changed, 2406 insertions(+), 13530 deletions(-) create mode 100644 config/feature_flags/wip/ai_settings_vue_admin.yml create mode 100644 config/feature_flags/wip/ai_settings_vue_group.yml rename config/metrics/counts_28d/{count_distinct_user_id_from_view_admin_application_settings_metrics_and_profiling_pageload_monthly.yml => count_distinct_users_from_view_admin_application_settings_metrics_and_profiling_pageload_monthly.yml} (100%) rename config/metrics/counts_28d/{count_distinct_user_id_from_view_admin_application_settings_roles_and_permissions_pageload_monthly.yml => count_distinct_users_from_view_admin_application_settings_roles_and_permissions_pageload_monthly.yml} (100%) rename config/metrics/counts_28d/{count_distinct_user_id_from_view_admin_application_settings_security_and_compliance_pageload_monthly.yml => count_distinct_users_from_view_admin_application_settings_sec_and_compliance_pageload_monthly.yml} (100%) delete mode 100644 doc/administration/geo/replication/troubleshooting.md create mode 100644 doc/architecture/blueprints/ai_context_management/decisions/001_policy_on_the_client.md delete mode 100644 doc/architecture/blueprints/ci_builds_runner_fleet_metrics/img/current_page.png delete mode 100644 doc/architecture/blueprints/ci_data_decay/decomposition_partitioning_comparison.png delete mode 100644 doc/architecture/blueprints/ci_data_decay/pipeline_data_time_decay.png delete mode 100644 doc/architecture/blueprints/ci_scale/ci_builds_cumulative_forecast.png delete mode 100644 doc/architecture/blueprints/ci_scale/ci_builds_daily_forecast.png delete mode 100644 doc/architecture/blueprints/clickhouse_ingestion_pipeline/clickhouse_dbwriter.png delete mode 100644 doc/architecture/blueprints/gitaly_adaptive_concurrency_limit/adaptive_concurrency_limit_flow.png delete mode 100644 doc/architecture/blueprints/model_experiments_and_registry/img/data_topology_after.png delete mode 100644 doc/architecture/blueprints/model_experiments_and_registry/img/data_topology_before.png delete mode 100644 doc/architecture/blueprints/model_experiments_and_registry/img/data_topology_changes.png delete mode 100644 doc/architecture/blueprints/model_experiments_and_registry/img/experiments_vs_models.png delete mode 100644 doc/architecture/blueprints/observability_metrics/metrics-read-path.png delete mode 100644 doc/architecture/blueprints/observability_metrics/metrics_indexing_at_ingestion.png delete mode 100644 doc/architecture/blueprints/observability_metrics/query-service-internals.png delete mode 100644 doc/architecture/blueprints/organization/diagrams/organization-isolation-broken.drawio.png delete mode 100644 doc/architecture/blueprints/organization/diagrams/organization-isolation.drawio.png delete mode 100644 doc/architecture/blueprints/runner_scaling/gitlab-autoscaling-overview.png delete mode 100644 doc/architecture/blueprints/secret_detection/img/003_subprocess.jpg delete mode 100644 doc/architecture/blueprints/secret_detection/img/004_rpc_service.jpg create mode 100644 doc/development/documentation/topic_types/top_level_page.md delete mode 100644 doc/topics/git/lfs/migrate_to_git_lfs.md delete mode 100644 doc/user/project/integrations/google_artifact_registry.md delete mode 100644 doc/user/project/settings/project_features_permissions.md create mode 100644 patches/jest-mock+29.7.0.dev.patch diff --git a/Gemfile b/Gemfile index f5df3f8d08f..6d3847ad595 100644 --- a/Gemfile +++ b/Gemfile @@ -333,7 +333,7 @@ gem 'licensee', '~> 9.16' # rubocop:todo Gemfile/MissingFeatureCategory # Detect and convert string character encoding # We forked charlock_holmes at https://gitlab.com/gitlab-org/ruby/gems/charlock_holmes # but changed it's name to 'static_holmes' in the gemspec file. -gem 'static_holmes', '~> 0.7.7', require: 'charlock_holmes' # rubocop:todo Gemfile/MissingFeatureCategory +gem 'static_holmes', '~> 0.7.11', require: 'charlock_holmes', feature_category: :shared # Detect mime content type from content gem 'ruby-magic', '~> 0.6' # rubocop:todo Gemfile/MissingFeatureCategory diff --git a/Gemfile.checksum b/Gemfile.checksum index 455954099e0..b12dd205e5a 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -663,7 +663,7 @@ {"name":"state_machines","version":"0.5.0","platform":"ruby","checksum":"23e6249d374a920b528dccade403518b4abbd83841a3e2c9ef13e6f1a009b102"}, {"name":"state_machines-activemodel","version":"0.8.0","platform":"ruby","checksum":"e932dab190d4be044fb5f9cab01a3ea0b092c5f113d4676c6c0a0d49bf738d2c"}, {"name":"state_machines-activerecord","version":"0.8.0","platform":"ruby","checksum":"072fb701b8ab03de0608297f6c55dc34ed096e556fa8f77e556f3c461c71aab6"}, -{"name":"static_holmes","version":"0.7.7","platform":"ruby","checksum":"87c426d821728915518444342aaac58d078b359e0f4a34e4e0516b0daadc8207"}, +{"name":"static_holmes","version":"0.7.11","platform":"ruby","checksum":"c35cb3ed35986656e0b2bb4d69b89551d45c0a182ff6ae0181f1e2ba080732bb"}, {"name":"strings","version":"0.2.1","platform":"ruby","checksum":"933293b3c95cf85b81eb44b3cf673e3087661ba739bbadfeadf442083158d6fb"}, {"name":"strings-ansi","version":"0.2.0","platform":"ruby","checksum":"90262d760ea4a94cc2ae8d58205277a343409c288cbe7c29416b1826bd511c88"}, {"name":"swd","version":"1.3.0","platform":"ruby","checksum":"bc382a19e1d36a95529b25152976db61b80376c3d486b21c8dd60ac2b5c06389"}, diff --git a/Gemfile.lock b/Gemfile.lock index bca5c84b251..c76168cd31d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1753,7 +1753,7 @@ GEM state_machines-activerecord (0.8.0) activerecord (>= 5.1) state_machines-activemodel (>= 0.8.0) - static_holmes (0.7.7) + static_holmes (0.7.11) strings (0.2.1) strings-ansi (~> 0.2) unicode-display_width (>= 1.5, < 3.0) @@ -2251,7 +2251,7 @@ DEPENDENCIES ssh_data (~> 1.3) stackprof (~> 0.2.25) state_machines-activerecord (~> 0.8.0) - static_holmes (~> 0.7.7) + static_holmes (~> 0.7.11) sys-filesystem (~> 1.4.3) tanuki_emoji (~> 0.9) telesignenterprise (~> 2.2) diff --git a/app/assets/javascripts/entrypoints/tracker.js b/app/assets/javascripts/entrypoints/tracker.js index 91d19d249b3..814bde60aed 100644 --- a/app/assets/javascripts/entrypoints/tracker.js +++ b/app/assets/javascripts/entrypoints/tracker.js @@ -42,7 +42,10 @@ window.snowplowPlugins = [ LinkClickTrackingPlugin(), FormTrackingPlugin(), TimezonePlugin(), - GaCookiesPlugin(), + GaCookiesPlugin({ + ga4: true, + ga4MeasurementId: window.gl?.ga4MeasurementId, + }), PerformanceTimingPlugin(), ClientHintsPlugin(), ]; diff --git a/app/assets/javascripts/error_tracking/components/timeline_chart.vue b/app/assets/javascripts/error_tracking/components/timeline_chart.vue index 66a72453c20..69a84bc85c6 100644 --- a/app/assets/javascripts/error_tracking/components/timeline_chart.vue +++ b/app/assets/javascripts/error_tracking/components/timeline_chart.vue @@ -3,7 +3,7 @@ import { GlChart } from '@gitlab/ui/dist/charts'; import { DATA_VIZ_BLUE_500 } from '@gitlab/ui/src/tokens/build/js/tokens'; import { hexToRgba } from '@gitlab/ui/dist/utils/utils'; import { isNumber } from 'lodash'; -import { formatDate } from '~/lib/utils/datetime/date_format_utility'; +import { localeDateFormat } from '~/lib/utils/datetime/locale_dateformat'; import { logError } from '~/lib/logger'; function parseTimelineData(timelineData) { @@ -23,7 +23,7 @@ function parseTimelineData(timelineData) { if (rawDate !== undefined && count !== undefined) { // dates/timestamps are in seconds const date = isNumber(rawDate) ? rawDate * 1000 : rawDate; - xData.push(formatDate(date)); + xData.push(localeDateFormat.asDateTimeFull.format(date)); yData.push(count); } else { invalidDataPoints.push(f); diff --git a/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue b/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue index 53f18960edd..5154ff309d4 100644 --- a/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue +++ b/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue @@ -1,6 +1,7 @@