From d024f170c7cd0766d3403da2c5d5b37491b2db7b Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 10 Apr 2025 15:18:47 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .eslint_todo/vue-no-unused-properties.mjs | 1 - GITLAB_KAS_VERSION | 2 +- GITLAB_PAGES_VERSION | 2 +- Gemfile | 4 +- Gemfile.checksum | 22 +- Gemfile.lock | 8 +- Gemfile.next.checksum | 22 +- Gemfile.next.lock | 8 +- .../components/instance_runners_tab.vue | 69 ++++++ .../components/runners_tab.vue | 92 ++++++++ .../runner/project_runners_settings/index.js | 28 ++- .../project_runners_settings_app.vue | 61 +++++- .../javascripts/pages/groups/boards/index.js | 13 +- .../javascripts/pages/groups/issues/index.js | 13 +- .../projects/new_v2/components/app.vue | 1 + .../new_v2/components/blank_project_form.vue | 20 ++ .../shared_project_creation_fields.vue | 116 +++++++++++ .../tooltips/components/tooltips.vue | 3 + .../components/create_work_item.vue | 6 + .../components/create_work_item_modal.vue | 6 + .../components/notes/work_item_add_note.vue | 14 +- .../components/work_item_actions.vue | 1 + app/graphql/types/group_type.rb | 30 +++ app/graphql/types/project_type.rb | 32 +++ app/helpers/ci/runners_helper.rb | 10 + app/models/list.rb | 19 +- .../projects/runners/_settings.html.haml | 2 +- ...prefixed_password_fallback_sessionless.yml | 2 +- .../development/product_usage_data.yml | 2 +- .../backfill_lists_sharding_key.yml | 8 + ..._seat_assignments_namespace_id_not_null.rb | 14 ++ ...null_namespace_id_from_seat_assignments.rb | 27 +++ ...4095645_add_sharding_key_to_lists_table.rb | 10 + ...245_add_duo_nano_enabled_to_ai_settings.rb | 9 + ...isable_ai_events_backfill_to_ch_for_com.rb | 15 ++ ...ption_seat_assignments_namespace_id_idx.rb | 21 ++ ..._lists_sharding_key_not_null_constraint.rb | 14 ++ ...250404100407_add_lists_project_id_index.rb | 16 ++ ...20250404114140_add_lists_group_id_index.rb | 16 ++ ...9_add_lists_ensure_sharding_key_trigger.rb | 35 ++++ ...4120803_add_lists_project_id_invalid_fk.rb | 21 ++ ...404120839_add_lists_group_id_invalid_fk.rb | 21 ++ ...30722_queue_backfill_lists_sharding_key.rb | 25 +++ db/schema_migrations/20250324092642 | 1 + db/schema_migrations/20250324092854 | 1 + db/schema_migrations/20250324093158 | 1 + db/schema_migrations/20250404095645 | 1 + db/schema_migrations/20250404100126 | 1 + db/schema_migrations/20250404100407 | 1 + db/schema_migrations/20250404114140 | 1 + db/schema_migrations/20250404114449 | 1 + db/schema_migrations/20250404120803 | 1 + db/schema_migrations/20250404120839 | 1 + db/schema_migrations/20250404130722 | 1 + db/schema_migrations/20250409132245 | 1 + db/schema_migrations/20250410080824 | 1 + db/structure.sql | 39 +++- doc/administration/auditor_users.md | 2 +- doc/administration/pages/_index.md | 6 +- doc/api/graphql/reference/_index.md | 1 + doc/api/packages/conan_v1.md | 13 +- doc/api/packages/conan_v2.md | 29 +-- .../first_contribution/contribute-gdk.md | 15 +- .../first_contribution/contribute-gitpod.md | 10 +- .../first_contribution/contribute-web-ide.md | 8 +- .../documentation/topic_types/_index.md | 2 +- doc/install/docker/installation.md | 3 - doc/integration/saml.md | 197 +++++++++--------- .../data_residency_and_high_availability.md | 16 +- .../merge_request_approval_policies.md | 42 +++- doc/user/group/saml_sso/_index.md | 17 +- .../group/saml_sso/example_saml_config.md | 7 - doc/user/group/saml_sso/troubleshooting.md | 9 +- doc/user/workspace/_index.md | 3 +- gems/gitlab-active-context/doc/usage.md | 3 + .../databases/concerns/elastic_indexer.rb | 6 +- .../databases/concerns/indexer.rb | 4 - .../databases/postgresql/indexer.rb | 12 +- .../lib/active_context/reference.rb | 11 +- keeps/helpers/postgres_ai.rb | 2 + .../filter/markdown_engines/glfm_markdown.rb | 2 - .../backfill_lists_sharding_key.rb | 29 +++ lib/gitlab/doctor/encryption_keys.rb | 91 ++++++++ lib/gitlab/global_anonymous_id.rb | 5 + lib/gitlab/instrumentation_helper.rb | 28 ++- lib/gitlab/redis/cursor_store.rb | 28 +++ lib/gitlab/sidekiq_logging/json_formatter.rb | 3 +- .../sidekiq_logging/structured_logger.rb | 4 +- lib/gitlab/tracking/standard_context.rb | 3 +- lib/tasks/gitlab/doctor/secrets.rake | 6 + locale/gitlab.pot | 27 ++- spec/features/triggers_spec.rb | 4 + .../components/blank_project_form_spec.js | 8 + .../shared_project_creation_fields_spec.js | 83 ++++++++ .../components/create_work_item_modal_spec.js | 3 + .../components/create_work_item_spec.js | 6 +- .../notes/work_item_add_note_spec.js | 21 +- .../components/work_item_actions_spec.js | 3 + .../work_item_description_rendered_spec.js | 1 + spec/graphql/types/group_type_spec.rb | 87 +++++++- spec/graphql/types/project_type_spec.rb | 88 +++++++- spec/helpers/ci/runners_helper_spec.rb | 49 +++++ spec/keeps/helpers/postgres_ai_spec.rb | 9 + .../markdown_engines/glfm_markdown_spec.rb | 9 + .../backfill_lists_sharding_key_spec.rb | 71 +++++++ spec/lib/gitlab/global_anonymous_id_spec.rb | 17 ++ spec/lib/gitlab/import_export/all_models.yml | 2 + .../lib/gitlab/instrumentation_helper_spec.rb | 87 +++++--- spec/lib/gitlab/redis/cursor_store_spec.rb | 31 +++ .../sidekiq_logging/structured_logger_spec.rb | 10 +- .../sidekiq_middleware/server_metrics_spec.rb | 3 +- .../gitlab/tracking/standard_context_spec.rb | 3 +- ...namespace_id_from_seat_assignments_spec.rb | 28 +++ ..._queue_backfill_lists_sharding_key_spec.rb | 26 +++ spec/models/list_spec.rb | 38 ++++ .../markup/rendering_service_security_spec.rb | 2 +- .../have_loose_foreign_key.rb | 42 ++++ 117 files changed, 1945 insertions(+), 343 deletions(-) create mode 100644 app/assets/javascripts/ci/runner/project_runners_settings/components/instance_runners_tab.vue create mode 100644 app/assets/javascripts/ci/runner/project_runners_settings/components/runners_tab.vue create mode 100644 app/assets/javascripts/projects/new_v2/components/shared_project_creation_fields.vue create mode 100644 db/docs/batched_background_migrations/backfill_lists_sharding_key.yml create mode 100644 db/migrate/20250324092642_remove_seat_assignments_namespace_id_not_null.rb create mode 100644 db/migrate/20250324092854_cleanup_records_with_null_namespace_id_from_seat_assignments.rb create mode 100644 db/migrate/20250404095645_add_sharding_key_to_lists_table.rb create mode 100644 db/migrate/20250409132245_add_duo_nano_enabled_to_ai_settings.rb create mode 100644 db/migrate/20250410080824_disable_ai_events_backfill_to_ch_for_com.rb create mode 100644 db/post_migrate/20250324093158_replace_subscription_seat_assignments_namespace_id_idx.rb create mode 100644 db/post_migrate/20250404100126_add_lists_sharding_key_not_null_constraint.rb create mode 100644 db/post_migrate/20250404100407_add_lists_project_id_index.rb create mode 100644 db/post_migrate/20250404114140_add_lists_group_id_index.rb create mode 100644 db/post_migrate/20250404114449_add_lists_ensure_sharding_key_trigger.rb create mode 100644 db/post_migrate/20250404120803_add_lists_project_id_invalid_fk.rb create mode 100644 db/post_migrate/20250404120839_add_lists_group_id_invalid_fk.rb create mode 100644 db/post_migrate/20250404130722_queue_backfill_lists_sharding_key.rb create mode 100644 db/schema_migrations/20250324092642 create mode 100644 db/schema_migrations/20250324092854 create mode 100644 db/schema_migrations/20250324093158 create mode 100644 db/schema_migrations/20250404095645 create mode 100644 db/schema_migrations/20250404100126 create mode 100644 db/schema_migrations/20250404100407 create mode 100644 db/schema_migrations/20250404114140 create mode 100644 db/schema_migrations/20250404114449 create mode 100644 db/schema_migrations/20250404120803 create mode 100644 db/schema_migrations/20250404120839 create mode 100644 db/schema_migrations/20250404130722 create mode 100644 db/schema_migrations/20250409132245 create mode 100644 db/schema_migrations/20250410080824 create mode 100644 lib/gitlab/background_migration/backfill_lists_sharding_key.rb create mode 100644 lib/gitlab/doctor/encryption_keys.rb create mode 100644 lib/gitlab/redis/cursor_store.rb create mode 100644 spec/frontend/projects/new_v2/components/shared_project_creation_fields_spec.js create mode 100644 spec/lib/gitlab/background_migration/backfill_lists_sharding_key_spec.rb create mode 100644 spec/lib/gitlab/redis/cursor_store_spec.rb create mode 100644 spec/migrations/20250324092854_cleanup_records_with_null_namespace_id_from_seat_assignments_spec.rb create mode 100644 spec/migrations/20250404130722_queue_backfill_lists_sharding_key_spec.rb diff --git a/.eslint_todo/vue-no-unused-properties.mjs b/.eslint_todo/vue-no-unused-properties.mjs index 65bf5c82ef3..afb9ca1b519 100644 --- a/.eslint_todo/vue-no-unused-properties.mjs +++ b/.eslint_todo/vue-no-unused-properties.mjs @@ -256,7 +256,6 @@ export default { 'app/assets/javascripts/tags/components/delete_tag_modal.vue', 'app/assets/javascripts/token_access/components/outbound_token_access.vue', 'app/assets/javascripts/token_access/components/token_permissions.vue', - 'app/assets/javascripts/tooltips/components/tooltips.vue', 'app/assets/javascripts/usage_quotas/components/search_and_sort_bar/search_and_sort_bar.vue', 'app/assets/javascripts/user_lists/components/user_lists.vue', 'app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals.vue', diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index 004cc2e7794..5254ede6fbd 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -d19af9f22edb454a615b9bb90fdcaa24f72eb488 +a2177df705fe856c93c8576bb96cd15e225ea32f diff --git a/GITLAB_PAGES_VERSION b/GITLAB_PAGES_VERSION index e19e42f2a78..f5972327f67 100644 --- a/GITLAB_PAGES_VERSION +++ b/GITLAB_PAGES_VERSION @@ -1 +1 @@ -96892bcaa0e6b6ff3727d5b312cab22e8dcb9d59 +a817e7aaa39a4b29f1c99e38bf6b9f8a074d7098 diff --git a/Gemfile b/Gemfile index 5ac6ad608cb..940400992ca 100644 --- a/Gemfile +++ b/Gemfile @@ -270,7 +270,7 @@ gem 'asciidoctor-kroki', '~> 0.10.0', require: false, feature_category: :markdow gem 'rouge', '~> 4.5.0', feature_category: :shared gem 'truncato', '~> 0.7.13', feature_category: :team_planning gem 'nokogiri', '~> 1.18', feature_category: :shared -gem 'gitlab-glfm-markdown', '~> 0.0.27', feature_category: :markdown +gem 'gitlab-glfm-markdown', '~> 0.0.29', feature_category: :markdown gem 'tanuki_emoji', '~> 0.13', feature_category: :markdown gem 'unicode-emoji', '~> 4.0', feature_category: :markdown @@ -729,7 +729,7 @@ gem 'cvss-suite', '~> 3.3.0', require: 'cvss_suite', feature_category: :software gem 'arr-pm', '~> 0.0.12', feature_category: :package_registry # Remote Development -gem 'devfile', '~> 0.3.0', feature_category: :workspaces +gem 'devfile', '~> 0.4.0', feature_category: :workspaces # Apple plist parsing gem 'CFPropertyList', '~> 3.0.0', feature_category: :mobile_devops diff --git a/Gemfile.checksum b/Gemfile.checksum index b7ffb888a64..0a5935fbb7e 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -113,10 +113,10 @@ {"name":"deprecation_toolkit","version":"1.5.1","platform":"ruby","checksum":"a8a1ab1a19ae40ea12560b65010e099f3459ebde390b76621ef0c21c516a04ba"}, {"name":"derailed_benchmarks","version":"2.2.1","platform":"ruby","checksum":"654280664fded41c9cd8fc27fc0fcfaf096023afab90eb4ac1185ba70c5d4439"}, {"name":"descendants_tracker","version":"0.0.4","platform":"ruby","checksum":"e9c41dd4cfbb85829a9301ea7e7c48c2a03b26f09319db230e6479ccdc780897"}, -{"name":"devfile","version":"0.3.0","platform":"aarch64-linux","checksum":"a0fe52455c0c4b092727fb002a9c1ceed823c8c862522eab65090ae9325ecdb1"}, -{"name":"devfile","version":"0.3.0","platform":"arm64-darwin","checksum":"5c950972f6c064915f487678344e286bf1ca9225a104302a9092945e6942edf7"}, -{"name":"devfile","version":"0.3.0","platform":"ruby","checksum":"7de291449c57429867f3df33b9cf2f929bd39ed3cfba553b0959afdfdea8fa5a"}, -{"name":"devfile","version":"0.3.0","platform":"x86_64-linux","checksum":"3f90080602c660b36abf506559378ae904bca82023cce484c8a6f3f98b7155db"}, +{"name":"devfile","version":"0.4.0","platform":"aarch64-linux","checksum":"ca9a030210755023608e8f853794c0006ebd1acff2b0f54a47202a9bf98a8bce"}, +{"name":"devfile","version":"0.4.0","platform":"arm64-darwin","checksum":"99588818b3833373236af0cf0559932a4dac4ee6fa017fa7f8885e6acb83a7e3"}, +{"name":"devfile","version":"0.4.0","platform":"ruby","checksum":"885b7728dae945582321364346f5bb59c4f92457f6cea2231c30ad1e5a168af9"}, +{"name":"devfile","version":"0.4.0","platform":"x86_64-linux","checksum":"942fb20bce2a13a58ec58632ce1c7a1323cc7e95819e39b548529044b4ad89bc"}, {"name":"device_detector","version":"1.0.0","platform":"ruby","checksum":"b800fb3150b00c23e87b6768011808ac1771fffaae74c3238ebaf2b782947a7d"}, {"name":"devise","version":"4.9.4","platform":"ruby","checksum":"920042fe5e704c548aa4eb65ebdd65980b83ffae67feb32c697206bfd975a7f8"}, {"name":"devise-two-factor","version":"4.1.1","platform":"ruby","checksum":"c95f5b07533e62217aaed3c386874d94e2d472fb5f2b6598afe8600fc17a8b95"}, @@ -224,13 +224,13 @@ {"name":"gitlab-dangerfiles","version":"4.8.1","platform":"ruby","checksum":"bbad321c9638152a643d27a20b35ba1e2d8eddcc6bdfc4493d7b96e816ecf300"}, {"name":"gitlab-experiment","version":"0.9.1","platform":"ruby","checksum":"f230ee742154805a755d5f2539dc44d93cdff08c5bbbb7656018d61f93d01f48"}, {"name":"gitlab-fog-azure-rm","version":"2.2.0","platform":"ruby","checksum":"31aa7c2170f57874053144e7f716ec9e15f32e71ffbd2c56753dce46e2e78ba9"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"aarch64-linux-gnu","checksum":"67a2e7d2cd1208d22abb9c162e88aa725f0fa31ea7fa8a6f56481370a5d1ef2d"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"aarch64-linux-musl","checksum":"c4b8ce9061238f0cebdaeeceb64bf2e6f1d72f4bfe72b11ac191f45dce12e302"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"arm64-darwin","checksum":"fe71765e04305f5a34647b3338e5101f92547f627a76ddedab35631f98907420"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"ruby","checksum":"960e481c037bbe319ec73792a3fc0fa024a9c11ab16786f24591417a255514a1"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"x86_64-darwin","checksum":"1434de2be23464ac379e30a125213ce00e6c907f47362b50a2d50488bc1e73d2"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"x86_64-linux-gnu","checksum":"59c5a0c577cb9301253bce6c9c0e2b9585110a34c46197cedc16e1142fb2feaf"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"x86_64-linux-musl","checksum":"298757eb48905451285d8c2ef4ecbb1691ed2b30f522998bc65474be340def8a"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"aarch64-linux-gnu","checksum":"b4c12b3f87c27f4397344b58b37bb7db6d635747bb88bc9ffe57664b743b6d7b"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"aarch64-linux-musl","checksum":"815e476e31f7f0d89fc410ec95dc2bf502936073a5fa5ec6849fd38dfb27f1c1"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"arm64-darwin","checksum":"7a0b2e4f35e61a1227199117dd3632c45ee8e5b3ef06b4f92011a30de762f5f0"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"ruby","checksum":"a19a8a996d403d98b7d9acfb57d3be5259681011c647c5a8a0a1292f5f6eb226"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"x86_64-darwin","checksum":"1e322c51ec338a6958010a062005285f335318c2a4b2dee71c2848468498c08d"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"x86_64-linux-gnu","checksum":"e8086a21a4e3187d76fa89eecac88aa57a89627de2a3b789d70d4844efe881db"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"x86_64-linux-musl","checksum":"f934efe5efc53d36ea00a030cc0d530bad81901ef782b7774dd0bfaef73f1c37"}, {"name":"gitlab-kas-grpc","version":"17.9.1","platform":"ruby","checksum":"fd480c1669c741ceab8d5f86b7e5e32b71f4f25af8b523725382dae425aaa958"}, {"name":"gitlab-labkit","version":"0.37.0","platform":"ruby","checksum":"d2dd0a60db2149a9a8eebf2975dc23f54ac3ceb01bdba732eb1b26b86dfffa70"}, {"name":"gitlab-license","version":"2.6.0","platform":"ruby","checksum":"2c1f8ae73835640ec77bf758c1d0c9730635043c01cf77902f7976e826d7d016"}, diff --git a/Gemfile.lock b/Gemfile.lock index e8098875896..43808aab814 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -529,7 +529,7 @@ GEM thor (>= 0.19, < 2) descendants_tracker (0.0.4) thread_safe (~> 0.3, >= 0.3.1) - devfile (0.3.0) + devfile (0.4.0) device_detector (1.0.0) devise (4.9.4) bcrypt (~> 3.0) @@ -761,7 +761,7 @@ GEM mime-types net-http-persistent (~> 4.0) nokogiri (~> 1, >= 1.10.8) - gitlab-glfm-markdown (0.0.28) + gitlab-glfm-markdown (0.0.29) rb_sys (~> 0.9.109) gitlab-kas-grpc (17.9.1) grpc (~> 1.0) @@ -2057,7 +2057,7 @@ DEPENDENCIES declarative_policy (~> 1.1.0) deprecation_toolkit (~> 1.5.1) derailed_benchmarks - devfile (~> 0.3.0) + devfile (~> 0.4.0) device_detector devise (~> 4.9.3) devise-pbkdf2-encryptable (~> 0.0.0)! @@ -2108,7 +2108,7 @@ DEPENDENCIES gitlab-duo-workflow-service-client (~> 0.1)! gitlab-experiment (~> 0.9.1) gitlab-fog-azure-rm (~> 2.2.0) - gitlab-glfm-markdown (~> 0.0.27) + gitlab-glfm-markdown (~> 0.0.29) gitlab-housekeeper! gitlab-http! gitlab-kas-grpc (~> 17.9.0.pre.rc2) diff --git a/Gemfile.next.checksum b/Gemfile.next.checksum index 46debf5aa35..7b15b18fb73 100644 --- a/Gemfile.next.checksum +++ b/Gemfile.next.checksum @@ -113,10 +113,10 @@ {"name":"deprecation_toolkit","version":"1.5.1","platform":"ruby","checksum":"a8a1ab1a19ae40ea12560b65010e099f3459ebde390b76621ef0c21c516a04ba"}, {"name":"derailed_benchmarks","version":"2.2.1","platform":"ruby","checksum":"654280664fded41c9cd8fc27fc0fcfaf096023afab90eb4ac1185ba70c5d4439"}, {"name":"descendants_tracker","version":"0.0.4","platform":"ruby","checksum":"e9c41dd4cfbb85829a9301ea7e7c48c2a03b26f09319db230e6479ccdc780897"}, -{"name":"devfile","version":"0.3.0","platform":"aarch64-linux","checksum":"a0fe52455c0c4b092727fb002a9c1ceed823c8c862522eab65090ae9325ecdb1"}, -{"name":"devfile","version":"0.3.0","platform":"arm64-darwin","checksum":"5c950972f6c064915f487678344e286bf1ca9225a104302a9092945e6942edf7"}, -{"name":"devfile","version":"0.3.0","platform":"ruby","checksum":"7de291449c57429867f3df33b9cf2f929bd39ed3cfba553b0959afdfdea8fa5a"}, -{"name":"devfile","version":"0.3.0","platform":"x86_64-linux","checksum":"3f90080602c660b36abf506559378ae904bca82023cce484c8a6f3f98b7155db"}, +{"name":"devfile","version":"0.4.0","platform":"aarch64-linux","checksum":"ca9a030210755023608e8f853794c0006ebd1acff2b0f54a47202a9bf98a8bce"}, +{"name":"devfile","version":"0.4.0","platform":"arm64-darwin","checksum":"99588818b3833373236af0cf0559932a4dac4ee6fa017fa7f8885e6acb83a7e3"}, +{"name":"devfile","version":"0.4.0","platform":"ruby","checksum":"885b7728dae945582321364346f5bb59c4f92457f6cea2231c30ad1e5a168af9"}, +{"name":"devfile","version":"0.4.0","platform":"x86_64-linux","checksum":"942fb20bce2a13a58ec58632ce1c7a1323cc7e95819e39b548529044b4ad89bc"}, {"name":"device_detector","version":"1.0.0","platform":"ruby","checksum":"b800fb3150b00c23e87b6768011808ac1771fffaae74c3238ebaf2b782947a7d"}, {"name":"devise","version":"4.9.4","platform":"ruby","checksum":"920042fe5e704c548aa4eb65ebdd65980b83ffae67feb32c697206bfd975a7f8"}, {"name":"devise-two-factor","version":"4.1.1","platform":"ruby","checksum":"c95f5b07533e62217aaed3c386874d94e2d472fb5f2b6598afe8600fc17a8b95"}, @@ -224,13 +224,13 @@ {"name":"gitlab-dangerfiles","version":"4.8.1","platform":"ruby","checksum":"bbad321c9638152a643d27a20b35ba1e2d8eddcc6bdfc4493d7b96e816ecf300"}, {"name":"gitlab-experiment","version":"0.9.1","platform":"ruby","checksum":"f230ee742154805a755d5f2539dc44d93cdff08c5bbbb7656018d61f93d01f48"}, {"name":"gitlab-fog-azure-rm","version":"2.2.0","platform":"ruby","checksum":"31aa7c2170f57874053144e7f716ec9e15f32e71ffbd2c56753dce46e2e78ba9"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"aarch64-linux-gnu","checksum":"67a2e7d2cd1208d22abb9c162e88aa725f0fa31ea7fa8a6f56481370a5d1ef2d"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"aarch64-linux-musl","checksum":"c4b8ce9061238f0cebdaeeceb64bf2e6f1d72f4bfe72b11ac191f45dce12e302"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"arm64-darwin","checksum":"fe71765e04305f5a34647b3338e5101f92547f627a76ddedab35631f98907420"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"ruby","checksum":"960e481c037bbe319ec73792a3fc0fa024a9c11ab16786f24591417a255514a1"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"x86_64-darwin","checksum":"1434de2be23464ac379e30a125213ce00e6c907f47362b50a2d50488bc1e73d2"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"x86_64-linux-gnu","checksum":"59c5a0c577cb9301253bce6c9c0e2b9585110a34c46197cedc16e1142fb2feaf"}, -{"name":"gitlab-glfm-markdown","version":"0.0.28","platform":"x86_64-linux-musl","checksum":"298757eb48905451285d8c2ef4ecbb1691ed2b30f522998bc65474be340def8a"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"aarch64-linux-gnu","checksum":"b4c12b3f87c27f4397344b58b37bb7db6d635747bb88bc9ffe57664b743b6d7b"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"aarch64-linux-musl","checksum":"815e476e31f7f0d89fc410ec95dc2bf502936073a5fa5ec6849fd38dfb27f1c1"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"arm64-darwin","checksum":"7a0b2e4f35e61a1227199117dd3632c45ee8e5b3ef06b4f92011a30de762f5f0"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"ruby","checksum":"a19a8a996d403d98b7d9acfb57d3be5259681011c647c5a8a0a1292f5f6eb226"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"x86_64-darwin","checksum":"1e322c51ec338a6958010a062005285f335318c2a4b2dee71c2848468498c08d"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"x86_64-linux-gnu","checksum":"e8086a21a4e3187d76fa89eecac88aa57a89627de2a3b789d70d4844efe881db"}, +{"name":"gitlab-glfm-markdown","version":"0.0.29","platform":"x86_64-linux-musl","checksum":"f934efe5efc53d36ea00a030cc0d530bad81901ef782b7774dd0bfaef73f1c37"}, {"name":"gitlab-kas-grpc","version":"17.9.1","platform":"ruby","checksum":"fd480c1669c741ceab8d5f86b7e5e32b71f4f25af8b523725382dae425aaa958"}, {"name":"gitlab-labkit","version":"0.37.0","platform":"ruby","checksum":"d2dd0a60db2149a9a8eebf2975dc23f54ac3ceb01bdba732eb1b26b86dfffa70"}, {"name":"gitlab-license","version":"2.6.0","platform":"ruby","checksum":"2c1f8ae73835640ec77bf758c1d0c9730635043c01cf77902f7976e826d7d016"}, diff --git a/Gemfile.next.lock b/Gemfile.next.lock index aa86b16b2c8..29e757cb1cf 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -541,7 +541,7 @@ GEM thor (>= 0.19, < 2) descendants_tracker (0.0.4) thread_safe (~> 0.3, >= 0.3.1) - devfile (0.3.0) + devfile (0.4.0) device_detector (1.0.0) devise (4.9.4) bcrypt (~> 3.0) @@ -773,7 +773,7 @@ GEM mime-types net-http-persistent (~> 4.0) nokogiri (~> 1, >= 1.10.8) - gitlab-glfm-markdown (0.0.28) + gitlab-glfm-markdown (0.0.29) rb_sys (~> 0.9.109) gitlab-kas-grpc (17.9.1) grpc (~> 1.0) @@ -2091,7 +2091,7 @@ DEPENDENCIES declarative_policy (~> 1.1.0) deprecation_toolkit (~> 1.5.1) derailed_benchmarks - devfile (~> 0.3.0) + devfile (~> 0.4.0) device_detector devise (~> 4.9.3) devise-pbkdf2-encryptable (~> 0.0.0)! @@ -2142,7 +2142,7 @@ DEPENDENCIES gitlab-duo-workflow-service-client (~> 0.1)! gitlab-experiment (~> 0.9.1) gitlab-fog-azure-rm (~> 2.2.0) - gitlab-glfm-markdown (~> 0.0.27) + gitlab-glfm-markdown (~> 0.0.29) gitlab-housekeeper! gitlab-http! gitlab-kas-grpc (~> 17.9.0.pre.rc2) diff --git a/app/assets/javascripts/ci/runner/project_runners_settings/components/instance_runners_tab.vue b/app/assets/javascripts/ci/runner/project_runners_settings/components/instance_runners_tab.vue new file mode 100644 index 00000000000..bc721d432c8 --- /dev/null +++ b/app/assets/javascripts/ci/runner/project_runners_settings/components/instance_runners_tab.vue @@ -0,0 +1,69 @@ + + diff --git a/app/assets/javascripts/ci/runner/project_runners_settings/components/runners_tab.vue b/app/assets/javascripts/ci/runner/project_runners_settings/components/runners_tab.vue new file mode 100644 index 00000000000..a4cbd9e3f39 --- /dev/null +++ b/app/assets/javascripts/ci/runner/project_runners_settings/components/runners_tab.vue @@ -0,0 +1,92 @@ + + diff --git a/app/assets/javascripts/ci/runner/project_runners_settings/index.js b/app/assets/javascripts/ci/runner/project_runners_settings/index.js index 635fb6a1be0..d6e77824ed9 100644 --- a/app/assets/javascripts/ci/runner/project_runners_settings/index.js +++ b/app/assets/javascripts/ci/runner/project_runners_settings/index.js @@ -1,6 +1,11 @@ import Vue from 'vue'; +import VueApollo from 'vue-apollo'; +import createDefaultClient from '~/lib/graphql'; +import { parseBoolean } from '~/lib/utils/common_utils'; import ProjectRunnersSettingsApp from './project_runners_settings_app.vue'; +Vue.use(VueApollo); + export const initProjectRunnersSettings = (selector = '#js-project-runners-settings') => { const el = document.querySelector(selector); @@ -8,10 +13,31 @@ export const initProjectRunnersSettings = (selector = '#js-project-runners-setti return null; } + const apolloProvider = new VueApollo({ + defaultClient: createDefaultClient(), + }); + + const { + canCreateRunner, + allowRegistrationToken, + registrationToken, + newProjectRunnerPath, + groupFullPath, + } = el.dataset; + return new Vue({ el, + apolloProvider, render(h) { - return h(ProjectRunnersSettingsApp, {}); + return h(ProjectRunnersSettingsApp, { + props: { + canCreateRunner: parseBoolean(canCreateRunner), + allowRegistrationToken: parseBoolean(allowRegistrationToken), + registrationToken, + newProjectRunnerPath, + groupFullPath, + }, + }); }, }); }; diff --git a/app/assets/javascripts/ci/runner/project_runners_settings/project_runners_settings_app.vue b/app/assets/javascripts/ci/runner/project_runners_settings/project_runners_settings_app.vue index 6a8c8d8cda4..73e02c6a620 100644 --- a/app/assets/javascripts/ci/runner/project_runners_settings/project_runners_settings_app.vue +++ b/app/assets/javascripts/ci/runner/project_runners_settings/project_runners_settings_app.vue @@ -1,11 +1,64 @@ diff --git a/app/assets/javascripts/pages/groups/boards/index.js b/app/assets/javascripts/pages/groups/boards/index.js index df1aa2cee5b..02ae84eef2e 100644 --- a/app/assets/javascripts/pages/groups/boards/index.js +++ b/app/assets/javascripts/pages/groups/boards/index.js @@ -1,14 +1,23 @@ import { addShortcutsExtension } from '~/behaviors/shortcuts'; import ShortcutsNavigation from '~/behaviors/shortcuts/shortcuts_navigation'; import initBoards from '~/boards'; +import { ISSUE_WIT_FEEDBACK_BADGE } from '~/work_items/constants'; addShortcutsExtension(ShortcutsNavigation); initBoards(); -if (gon.features.workItemsViewPreference) { +let feedback = {}; + +if (gon.features.workItemViewForIssues) { + feedback = { + ...ISSUE_WIT_FEEDBACK_BADGE, + }; +} + +if (gon.features.workItemsViewPreference || gon.features.workItemViewForIssues) { import(/* webpackChunkName: 'work_items_feedback' */ '~/work_items_feedback') .then(({ initWorkItemsFeedback }) => { - initWorkItemsFeedback(); + initWorkItemsFeedback(feedback); }) .catch({}); } diff --git a/app/assets/javascripts/pages/groups/issues/index.js b/app/assets/javascripts/pages/groups/issues/index.js index e66cb004f4d..8efe4cfb06f 100644 --- a/app/assets/javascripts/pages/groups/issues/index.js +++ b/app/assets/javascripts/pages/groups/issues/index.js @@ -1,11 +1,20 @@ import { mountIssuesListApp } from '~/issues/list'; +import { ISSUE_WIT_FEEDBACK_BADGE } from '~/work_items/constants'; mountIssuesListApp(); -if (gon.features.workItemsViewPreference) { +let feedback = {}; + +if (gon.features.workItemViewForIssues) { + feedback = { + ...ISSUE_WIT_FEEDBACK_BADGE, + }; +} + +if (gon.features.workItemsViewPreference || gon.features.workItemViewForIssues) { import(/* webpackChunkName: 'work_items_feedback' */ '~/work_items_feedback') .then(({ initWorkItemsFeedback }) => { - initWorkItemsFeedback(); + initWorkItemsFeedback(feedback); }) .catch({}); } diff --git a/app/assets/javascripts/projects/new_v2/components/app.vue b/app/assets/javascripts/projects/new_v2/components/app.vue index 7a404cfce1a..d4b394b858c 100644 --- a/app/assets/javascripts/projects/new_v2/components/app.vue +++ b/app/assets/javascripts/projects/new_v2/components/app.vue @@ -291,6 +291,7 @@ export default { :option="selectedProjectOption" :namespace="namespace" data-testid="new-project-step2" + @onSelectNamespace="onSelectNamespace" @back="onBack" @next="onNext" /> diff --git a/app/assets/javascripts/projects/new_v2/components/blank_project_form.vue b/app/assets/javascripts/projects/new_v2/components/blank_project_form.vue index 8b67a233b2f..5b856db72e9 100644 --- a/app/assets/javascripts/projects/new_v2/components/blank_project_form.vue +++ b/app/assets/javascripts/projects/new_v2/components/blank_project_form.vue @@ -1,11 +1,13 @@