From d592691fa53fa19d0abb4fb755ac2ed9717fb9f6 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 1 Jul 2025 00:12:41 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .rubocop_todo/layout/line_length.yml | 2 - .rubocop_todo/rspec/context_wording.yml | 1 - .rubocop_todo/rspec/feature_category.yml | 1 - .rubocop_todo/rspec/named_subject.yml | 1 - .../admin/groups/index/constants.js | 18 +++- .../components/runner_create_wizard.vue | 7 ++ .../runner_create_wizard_optional_fields.vue | 80 ++++++++++++++++-- .../runner_create_wizard_registration.vue | 37 +++++++++ .../bubble_menus/link_bubble_menu.vue | 7 +- .../rapid_diffs/options_menu/adapter.js | 1 + ...pipeline_secret_detection_feature_card.vue | 6 +- .../rapid_diffs/diff_file_component.scss | 5 ++ .../diff_file_header_component.html.haml | 39 +++++---- .../rapid_diffs/diff_file_header_component.rb | 23 ++---- config/application.rb | 1 - .../requirements_management_test_reports.yml | 12 +-- ...gement_test_reports_project_id_not_null.rb | 14 ++++ db/schema_migrations/20250627193056 | 1 + db/structure.sql | 3 +- doc/development/advanced_search.md | 2 +- lib/gitlab/auth/unique_ips_limiter.rb | 12 ++- locale/gitlab.pot | 6 ++ package.json | 2 +- .../import/import_github_repo_spec.rb | 2 +- .../import/import_large_github_repo_spec.rb | 2 +- .../integrations/webhook_events_spec.rb | 2 +- .../migration/gitlab_migration_group_spec.rb | 2 +- .../migration/gitlab_migration_issue_spec.rb | 2 +- .../gitlab_migration_large_project_spec.rb | 2 +- .../gitlab_migration_members_spec.rb | 2 +- .../migration/gitlab_migration_mr_spec.rb | 2 +- .../gitlab_migration_pipeline_spec.rb | 2 +- .../gitlab_migration_project_spec.rb | 2 +- .../gitlab_migration_release_spec.rb | 2 +- .../features/api/1_manage/rate_limits_spec.rb | 2 +- .../import/import_github_repo_spec.rb | 2 +- .../jenkins/jenkins_build_status_spec.rb | 2 +- .../jira/jira_basic_integration_spec.rb | 2 +- .../jira/jira_issue_import_spec.rb | 2 +- .../pipeline_status_emails_spec.rb | 2 +- .../integrations/slash_commands_spec.rb | 2 +- .../migration/gitlab_migration_group_spec.rb | 2 +- ...ion_user_contribution_reassignment_spec.rb | 2 +- .../diff_file_header_component_spec.rb | 34 ++++---- .../merge_request_diff_file_component_spec.rb | 21 +---- .../application_controller_spec.rb | 17 ++++ .../admin/groups/index/components/app_spec.js | 82 +++++++++++++++++-- ...nner_create_wizard_optional_fields_spec.js | 11 ++- .../runner_create_wizard_registration_spec.js | 32 ++++++++ .../bubble_menus/link_bubble_menu_spec.js | 25 +++++- ...line_secret_detection_feature_card_spec.js | 4 +- .../gitlab/auth/unique_ips_limiter_spec.rb | 7 ++ spec/support/rspec_order_todo.yml | 1 - .../rich_text_editor/links_shared_examples.rb | 43 ++++++++++ yarn.lock | 8 +- 55 files changed, 470 insertions(+), 136 deletions(-) create mode 100644 app/assets/javascripts/ci/runner/components/runner_create_wizard_registration.vue create mode 100644 db/post_migrate/20250627193056_add_requirements_management_test_reports_project_id_not_null.rb create mode 100644 db/schema_migrations/20250627193056 create mode 100644 spec/frontend/ci/runner/components/runner_create_wizard_registration_spec.js diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml index 6500140a981..b62dad6633b 100644 --- a/.rubocop_todo/layout/line_length.yml +++ b/.rubocop_todo/layout/line_length.yml @@ -526,7 +526,6 @@ Layout/LineLength: - 'ee/app/helpers/ee/notes_helper.rb' - 'ee/app/helpers/ee/profiles_helper.rb' - 'ee/app/helpers/ee/subscribable_banner_helper.rb' - - 'ee/app/helpers/epics_helper.rb' - 'ee/app/helpers/gitlab_subscriptions/upcoming_reconciliation_helper.rb' - 'ee/app/helpers/license_helper.rb' - 'ee/app/helpers/projects/on_demand_scans_helper.rb' @@ -1222,7 +1221,6 @@ Layout/LineLength: - 'ee/spec/lib/gitlab/custom_file_templates_spec.rb' - 'ee/spec/lib/gitlab/data_builder/vulnerability_spec.rb' - 'ee/spec/lib/gitlab/elastic/group_search_results_spec.rb' - - 'ee/spec/lib/gitlab/elastic/snippet_search_results_spec.rb' - 'ee/spec/lib/gitlab/email/handler/create_note_handler_spec.rb' - 'ee/spec/lib/gitlab/expiring_subscription_message_spec.rb' - 'ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb' diff --git a/.rubocop_todo/rspec/context_wording.yml b/.rubocop_todo/rspec/context_wording.yml index 25e2ab5889c..cfeded17d92 100644 --- a/.rubocop_todo/rspec/context_wording.yml +++ b/.rubocop_todo/rspec/context_wording.yml @@ -318,7 +318,6 @@ RSpec/ContextWording: - 'ee/spec/lib/gitlab/code_owners/users_loader_spec.rb' - 'ee/spec/lib/gitlab/custom_file_templates_spec.rb' - 'ee/spec/lib/gitlab/elastic/group_search_results_spec.rb' - - 'ee/spec/lib/gitlab/elastic/snippet_search_results_spec.rb' - 'ee/spec/lib/gitlab/email/handler/create_note_handler_spec.rb' - 'ee/spec/lib/gitlab/expiring_subscription_message_spec.rb' - 'ee/spec/lib/gitlab/geo/cron_manager_spec.rb' diff --git a/.rubocop_todo/rspec/feature_category.yml b/.rubocop_todo/rspec/feature_category.yml index c0a332598fe..80fc13c77f5 100644 --- a/.rubocop_todo/rspec/feature_category.yml +++ b/.rubocop_todo/rspec/feature_category.yml @@ -553,7 +553,6 @@ RSpec/FeatureCategory: - 'ee/spec/lib/gitlab/custom_file_templates_spec.rb' - 'ee/spec/lib/gitlab/customers_dot/jwt_spec.rb' - 'ee/spec/lib/gitlab/elastic/elasticsearch_enabled_cache_spec.rb' - - 'ee/spec/lib/gitlab/elastic/snippet_search_results_spec.rb' - 'ee/spec/lib/gitlab/email/handler/create_note_handler_spec.rb' - 'ee/spec/lib/gitlab/expiring_subscription_message_spec.rb' - 'ee/spec/lib/gitlab/favicon_spec.rb' diff --git a/.rubocop_todo/rspec/named_subject.yml b/.rubocop_todo/rspec/named_subject.yml index 562406de9f5..50707eaa5bd 100644 --- a/.rubocop_todo/rspec/named_subject.yml +++ b/.rubocop_todo/rspec/named_subject.yml @@ -273,7 +273,6 @@ RSpec/NamedSubject: - 'ee/spec/lib/ee/sidebars/projects/menus/security_compliance_menu_spec.rb' - 'ee/spec/lib/ee/sidebars/projects/menus/settings_menu_spec.rb' - 'ee/spec/lib/elastic/latest/application_instance_proxy_spec.rb' - - 'ee/spec/lib/elastic/latest/epic_class_proxy_spec.rb' - 'ee/spec/lib/elastic/latest/epic_instance_proxy_spec.rb' - 'ee/spec/lib/elastic/latest/git_instance_proxy_spec.rb' - 'ee/spec/lib/elastic/latest/routing_spec.rb' diff --git a/app/assets/javascripts/admin/groups/index/constants.js b/app/assets/javascripts/admin/groups/index/constants.js index 166d92cd1c9..0806de5174b 100644 --- a/app/assets/javascripts/admin/groups/index/constants.js +++ b/app/assets/javascripts/admin/groups/index/constants.js @@ -1,4 +1,5 @@ -import { __ } from '~/locale'; +import groupsEmptyStateIllustration from '@gitlab/svgs/dist/illustrations/empty-state/empty-groups-md.svg?url'; +import { s__, __ } from '~/locale'; import { SORT_LABEL_NAME, SORT_LABEL_CREATED, @@ -7,6 +8,7 @@ import { } from '~/groups_projects/constants'; import GroupsList from '~/vue_shared/components/groups_list/groups_list.vue'; import { formatGraphQLGroups } from '~/vue_shared/components/groups_list/formatter'; +import ResourceListsEmptyState from '~/vue_shared/components/resource_lists/empty_state.vue'; import adminGroupsQuery from './graphql/queries/groups.query.graphql'; const baseTab = { @@ -24,6 +26,7 @@ const baseTab = { listItemClass: 'gl-px-5', showGroupIcon: true, }, + emptyStateComponent: ResourceListsEmptyState, query: adminGroupsQuery, queryPath: 'groups', }; @@ -34,6 +37,14 @@ export const ACTIVE_TAB = { value: 'active', variables: { active: true }, countsQueryPath: 'active', + emptyStateComponentProps: { + svgPath: groupsEmptyStateIllustration, + title: s__("Groups|You don't have any active groups yet."), + description: s__( + 'Organization|A group is a collection of several projects. If you organize your projects under a group, it works like a folder.', + ), + 'data-testid': 'groups-empty-state', + }, }; export const INACTIVE_TAB = { @@ -42,6 +53,11 @@ export const INACTIVE_TAB = { value: 'inactive', variables: { active: false }, countsQueryPath: 'inactive', + emptyStateComponentProps: { + svgPath: groupsEmptyStateIllustration, + title: s__("Groups|You don't have any inactive groups."), + description: s__('Groups|Groups that are archived or pending deletion will appear here.'), + }, }; export const SORT_OPTION_NAME = { diff --git a/app/assets/javascripts/ci/runner/components/runner_create_wizard.vue b/app/assets/javascripts/ci/runner/components/runner_create_wizard.vue index 7ad66f394fa..2eeece2b639 100644 --- a/app/assets/javascripts/ci/runner/components/runner_create_wizard.vue +++ b/app/assets/javascripts/ci/runner/components/runner_create_wizard.vue @@ -2,12 +2,14 @@ import { RUNNER_TYPES } from '../constants'; import RequiredFields from './runner_create_wizard_required_fields.vue'; import OptionalFields from './runner_create_wizard_optional_fields.vue'; +import RunnerRegistration from './runner_create_wizard_registration.vue'; export default { name: 'RunnerCreateWizard', components: { RequiredFields, OptionalFields, + RunnerRegistration, }, props: { runnerType: { @@ -58,4 +60,9 @@ export default { @next="onNext" @back="onBack" /> + diff --git a/app/assets/javascripts/ci/runner/components/runner_create_wizard_optional_fields.vue b/app/assets/javascripts/ci/runner/components/runner_create_wizard_optional_fields.vue index dcc19771042..aa797e9e14e 100644 --- a/app/assets/javascripts/ci/runner/components/runner_create_wizard_optional_fields.vue +++ b/app/assets/javascripts/ci/runner/components/runner_create_wizard_optional_fields.vue @@ -1,12 +1,19 @@