diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 133b1920c28..cea797ef75f 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -1251,6 +1251,7 @@ lib/gitlab/checks/** /app/assets/javascripts/packages_and_registries/dependency_proxy/ /app/assets/javascripts/packages_and_registries/harbor_registry/ /ee/app/services/ee/auth/container_registry_authentication_service.rb +app/services/auth/container_registry_authentication_service.rb [Authentication] @gitlab-org/software-supply-chain-security/authentication/approvers /app/assets/javascripts/access_tokens/ diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index ab82a1b31aa..c4ef7ff11d7 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -725,6 +725,12 @@ - "tooling/custom_roles/docs/templates/custom_abilities.md.erb" - "ee/{lib/,spec/}tasks/gitlab/custom_roles/*" +.ci-job-token-policies-patterns: &ci-job-token-policies-patterns + - "{,ee/}lib/api/*.rb" + - "app/validators/json_schemas/ci_job_token_policies.json" + - "doc/ci/jobs/fine_grained_permissions.md" + - "tooling/ci/job_tokens/docs/templates/fine_grained_permissions.md.erb" + .cng-orchestrator-patterns: &cng-orchestrator-patterns - "qa/gems/gitlab-cng/**/*.rb" - "qa/gems/gitlab-cng/{Gemfile,Gemfile.lock}" @@ -1262,6 +1268,14 @@ - <<: *if-default-refs changes: *custom-roles-patterns +############################# +# CI job token policy rules # +############################# +.ci-job-token-policies:rules:ci-job-token-policies-verify: + rules: + - <<: *if-default-refs + changes: *ci-job-token-policies-patterns + ################## # Frontend rules # ################## diff --git a/.gitlab/ci/static-analysis.gitlab-ci.yml b/.gitlab/ci/static-analysis.gitlab-ci.yml index a540f634cff..197add3f142 100644 --- a/.gitlab/ci/static-analysis.gitlab-ci.yml +++ b/.gitlab/ci/static-analysis.gitlab-ci.yml @@ -243,6 +243,19 @@ custom-roles-verify: script: - bundle exec rake gitlab:custom_roles:check_docs +ci-job-token-policies-verify: + variables: + SETUP_DB: "false" + extends: + - .default-retry + - .ruby-cache + - .default-before_script + - .ci-job-token-policies:rules:ci-job-token-policies-verify + stage: lint + needs: [] + script: + - bundle exec rake ci:job_tokens:check_policies + templates-shellcheck: extends: - .ci-templates:rules:shellcheck diff --git a/.gitlab/ci/test-on-omnibus/main.gitlab-ci.yml b/.gitlab/ci/test-on-omnibus/main.gitlab-ci.yml index 18f10146eb3..333a52e9d82 100644 --- a/.gitlab/ci/test-on-omnibus/main.gitlab-ci.yml +++ b/.gitlab/ci/test-on-omnibus/main.gitlab-ci.yml @@ -268,6 +268,17 @@ importers: rules: - if: $QA_SUITES =~ /Test::Integration::Import/ +import-with-smtp: + extends: + - .qa + - .failure-videos + variables: + QA_SCENARIO: Test::Integration::ImportWithSMTP + rules: + - !reference [.rules:test:qa, rules] + - if: $QA_SUITES =~ /Test::Integration::ImportWithSMTP/ + - !reference [.rules:test:manual, rules] + # ========== ai-gateway =========== ai-gateway: extends: diff --git a/.rubocop_todo/gitlab/bounded_contexts.yml b/.rubocop_todo/gitlab/bounded_contexts.yml index 05957e372dc..6b4b5300313 100644 --- a/.rubocop_todo/gitlab/bounded_contexts.yml +++ b/.rubocop_todo/gitlab/bounded_contexts.yml @@ -239,7 +239,6 @@ Gitlab/BoundedContexts: - 'app/graphql/resolvers/board_lists_resolver.rb' - 'app/graphql/resolvers/board_resolver.rb' - 'app/graphql/resolvers/boards_resolver.rb' - - 'app/graphql/resolvers/branch_commit_resolver.rb' - 'app/graphql/resolvers/bulk_labels_resolver.rb' - 'app/graphql/resolvers/codequality_reports_comparer_resolver.rb' - 'app/graphql/resolvers/commit_pipelines_resolver.rb' @@ -3209,7 +3208,6 @@ Gitlab/BoundedContexts: - 'ee/app/services/elastic/data_migration_service.rb' - 'ee/app/services/elastic/index_projects_by_id_service.rb' - 'ee/app/services/elastic/index_projects_by_range_service.rb' - - 'ee/app/services/elastic/indexing_control_service.rb' - 'ee/app/services/elastic/process_bookkeeping_service.rb' - 'ee/app/services/elastic/process_initial_bookkeeping_service.rb' - 'ee/app/services/epic_issues/create_service.rb' @@ -3448,7 +3446,6 @@ Gitlab/BoundedContexts: - 'ee/app/workers/click_house/events_sync_worker.rb' - 'ee/app/workers/click_house/rebuild_materialized_view_cron_worker.rb' - 'ee/app/workers/concerns/elastic/bulk_cron_worker.rb' - - 'ee/app/workers/concerns/elastic/indexing_control.rb' - 'ee/app/workers/concerns/elastic/migration_backfill_helper.rb' - 'ee/app/workers/concerns/elastic/migration_create_index.rb' - 'ee/app/workers/concerns/elastic/migration_helper.rb' diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml index 7fe8c9fffda..d5a35a16f06 100644 --- a/.rubocop_todo/layout/line_length.yml +++ b/.rubocop_todo/layout/line_length.yml @@ -1734,7 +1734,6 @@ Layout/LineLength: - 'ee/spec/services/ee/users/destroy_service_spec.rb' - 'ee/spec/services/ee/users/update_service_spec.rb' - 'ee/spec/services/elastic/data_migration_service_spec.rb' - - 'ee/spec/services/elastic/indexing_control_service_spec.rb' - 'ee/spec/services/elastic/process_initial_bookkeeping_service_spec.rb' - 'ee/spec/services/epic_issues/create_service_spec.rb' - 'ee/spec/services/epics/issue_promote_service_spec.rb' diff --git a/.rubocop_todo/lint/unused_method_argument.yml b/.rubocop_todo/lint/unused_method_argument.yml index a8ab58dafd8..0229e6ae938 100644 --- a/.rubocop_todo/lint/unused_method_argument.yml +++ b/.rubocop_todo/lint/unused_method_argument.yml @@ -20,7 +20,6 @@ Lint/UnusedMethodArgument: - 'app/graphql/mutations/notes/create/image_diff_note.rb' - 'app/graphql/resolvers/base_resolver.rb' - 'app/graphql/resolvers/board_list_issues_resolver.rb' - - 'app/graphql/resolvers/branch_commit_resolver.rb' - 'app/graphql/resolvers/ci/runner_groups_resolver.rb' - 'app/graphql/resolvers/ci/runner_platforms_resolver.rb' - 'app/graphql/resolvers/ci/runner_setup_resolver.rb' diff --git a/.rubocop_todo/rspec/any_instance_of.yml b/.rubocop_todo/rspec/any_instance_of.yml index e02d2fe91d1..8f4f1112452 100644 --- a/.rubocop_todo/rspec/any_instance_of.yml +++ b/.rubocop_todo/rspec/any_instance_of.yml @@ -52,7 +52,6 @@ RSpec/AnyInstanceOf: - 'ee/spec/support/shared_examples/lib/gitlab/geo/geo_logs_event_source_info_shared_examples.rb' - 'ee/spec/support/shared_examples/models/member_shared_examples.rb' - 'ee/spec/support/shared_examples/services/base_sync_service_shared_examples.rb' - - 'ee/spec/workers/concerns/elastic/indexing_control_spec.rb' - 'ee/spec/workers/geo/registry_sync_worker_spec.rb' - 'ee/spec/workers/project_cache_worker_spec.rb' - 'ee/spec/workers/repository_import_worker_spec.rb' diff --git a/.rubocop_todo/rspec/be_eq.yml b/.rubocop_todo/rspec/be_eq.yml index d1bd2086139..c415088857f 100644 --- a/.rubocop_todo/rspec/be_eq.yml +++ b/.rubocop_todo/rspec/be_eq.yml @@ -23,8 +23,6 @@ RSpec/BeEq: - 'ee/spec/controllers/projects/settings/operations_controller_spec.rb' - 'ee/spec/controllers/projects/settings/repository_controller_spec.rb' - 'ee/spec/controllers/projects_controller_spec.rb' - - 'ee/spec/elastic/migrate/20240814231502_remove_work_item_access_level_from_work_item_spec.rb' - - 'ee/spec/elastic/migrate/20241002103536_reindex_merge_requests_for_title_completion_spec.rb' - 'ee/spec/elastic/migrate/20241017094601_add_embedding_to_work_items_opensearch_spec.rb' - 'ee/spec/features/admin/admin_emails_spec.rb' - 'ee/spec/features/admin/admin_settings_spec.rb' @@ -529,7 +527,6 @@ RSpec/BeEq: - 'ee/spec/workers/ee/repository_check/batch_worker_spec.rb' - 'ee/spec/workers/ee/repository_check/single_repository_worker_spec.rb' - 'ee/spec/workers/elastic_cluster_reindexing_cron_worker_spec.rb' - - 'ee/spec/workers/elastic_index_bulk_cron_worker_spec.rb' - 'ee/spec/workers/elastic_remove_expired_namespace_subscriptions_from_index_cron_worker_spec.rb' - 'ee/spec/workers/llm/completion_worker_spec.rb' - 'ee/spec/workers/product_analytics/initialize_snowplow_product_analytics_worker_spec.rb' diff --git a/.rubocop_todo/rspec/context_wording.yml b/.rubocop_todo/rspec/context_wording.yml index 3f945187a52..597f2a64dfd 100644 --- a/.rubocop_todo/rspec/context_wording.yml +++ b/.rubocop_todo/rspec/context_wording.yml @@ -657,7 +657,6 @@ RSpec/ContextWording: - 'ee/spec/services/ee/users/update_service_spec.rb' - 'ee/spec/services/ee/vulnerability_feedback_module/update_service_spec.rb' - 'ee/spec/services/elastic/data_migration_service_spec.rb' - - 'ee/spec/services/elastic/indexing_control_service_spec.rb' - 'ee/spec/services/epic_issues/destroy_service_spec.rb' - 'ee/spec/services/epic_issues/list_service_spec.rb' - 'ee/spec/services/epic_issues/update_service_spec.rb' @@ -811,7 +810,6 @@ RSpec/ContextWording: - 'ee/spec/workers/ci/runners/stale_group_runners_prune_cron_worker_spec.rb' - 'ee/spec/workers/ci/upstream_projects_subscriptions_cleanup_worker_spec.rb' - 'ee/spec/workers/ee/repository_check/batch_worker_spec.rb' - - 'ee/spec/workers/elastic_indexing_control_worker_spec.rb' - 'ee/spec/workers/geo/prune_event_log_worker_spec.rb' - 'ee/spec/workers/geo/verification_timeout_worker_spec.rb' - 'ee/spec/workers/group_saml_group_sync_worker_spec.rb' diff --git a/.rubocop_todo/rspec/expect_change.yml b/.rubocop_todo/rspec/expect_change.yml index 110044f2bcf..44f2a5d7e36 100644 --- a/.rubocop_todo/rspec/expect_change.yml +++ b/.rubocop_todo/rspec/expect_change.yml @@ -97,7 +97,6 @@ RSpec/ExpectChange: - 'ee/spec/services/ee/users/block_service_spec.rb' - 'ee/spec/services/ee/users/create_service_spec.rb' - 'ee/spec/services/ee/users/destroy_service_spec.rb' - - 'ee/spec/services/elastic/indexing_control_service_spec.rb' - 'ee/spec/services/epic_issues/create_service_spec.rb' - 'ee/spec/services/epics/issue_promote_service_spec.rb' - 'ee/spec/services/epics/transfer_service_spec.rb' diff --git a/.rubocop_todo/rspec/expect_in_hook.yml b/.rubocop_todo/rspec/expect_in_hook.yml index 040f573de4d..82373b3b1a7 100644 --- a/.rubocop_todo/rspec/expect_in_hook.yml +++ b/.rubocop_todo/rspec/expect_in_hook.yml @@ -67,7 +67,6 @@ RSpec/ExpectInHook: - 'ee/spec/tasks/gitlab/license_rake_spec.rb' - 'ee/spec/tasks/gitlab/spdx_rake_spec.rb' - 'ee/spec/workers/analytics/cycle_analytics/consistency_worker_spec.rb' - - 'ee/spec/workers/elastic_indexing_control_worker_spec.rb' - 'ee/spec/workers/geo/secondary/registry_consistency_worker_spec.rb' - 'ee/spec/workers/geo/verification_state_backfill_worker_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb' diff --git a/.rubocop_todo/rspec/feature_category.yml b/.rubocop_todo/rspec/feature_category.yml index d29c0d7423f..cac9a0613ec 100644 --- a/.rubocop_todo/rspec/feature_category.yml +++ b/.rubocop_todo/rspec/feature_category.yml @@ -1441,7 +1441,6 @@ RSpec/FeatureCategory: - 'spec/graphql/resolvers/board_lists_resolver_spec.rb' - 'spec/graphql/resolvers/board_resolver_spec.rb' - 'spec/graphql/resolvers/boards_resolver_spec.rb' - - 'spec/graphql/resolvers/branch_commit_resolver_spec.rb' - 'spec/graphql/resolvers/ci/template_resolver_spec.rb' - 'spec/graphql/resolvers/ci/test_report_summary_resolver_spec.rb' - 'spec/graphql/resolvers/ci/test_suite_resolver_spec.rb' diff --git a/.rubocop_todo/rspec/named_subject.yml b/.rubocop_todo/rspec/named_subject.yml index 6698145500b..bc89b3cfe33 100644 --- a/.rubocop_todo/rspec/named_subject.yml +++ b/.rubocop_todo/rspec/named_subject.yml @@ -912,7 +912,6 @@ RSpec/NamedSubject: - 'ee/spec/services/ee/users/build_service_spec.rb' - 'ee/spec/services/ee/work_items/import_csv_service_spec.rb' - 'ee/spec/services/elastic/data_migration_service_spec.rb' - - 'ee/spec/services/elastic/indexing_control_service_spec.rb' - 'ee/spec/services/elastic/metrics_update_service_spec.rb' - 'ee/spec/services/epic_issues/create_service_spec.rb' - 'ee/spec/services/epic_issues/destroy_service_spec.rb' @@ -1074,7 +1073,6 @@ RSpec/NamedSubject: - 'ee/spec/workers/ee/repository_check/batch_worker_spec.rb' - 'ee/spec/workers/elastic/namespace_update_worker_spec.rb' - 'ee/spec/workers/elastic_full_index_worker_spec.rb' - - 'ee/spec/workers/elastic_indexing_control_worker_spec.rb' - 'ee/spec/workers/elastic_namespace_rollout_worker_spec.rb' - 'ee/spec/workers/geo/destroy_worker_spec.rb' - 'ee/spec/workers/geo/registry_sync_worker_spec.rb' diff --git a/.rubocop_todo/search/namespaced_class.yml b/.rubocop_todo/search/namespaced_class.yml index ad94ba53c2a..fdebee1797c 100644 --- a/.rubocop_todo/search/namespaced_class.yml +++ b/.rubocop_todo/search/namespaced_class.yml @@ -38,12 +38,10 @@ Search/NamespacedClass: - 'ee/app/services/elastic/data_migration_service.rb' - 'ee/app/services/elastic/index_projects_by_id_service.rb' - 'ee/app/services/elastic/index_projects_by_range_service.rb' - - 'ee/app/services/elastic/indexing_control_service.rb' - 'ee/app/services/elastic/process_bookkeeping_service.rb' - 'ee/app/services/elastic/process_initial_bookkeeping_service.rb' - 'ee/app/services/protected_environments/search_service.rb' - 'ee/app/workers/concerns/elastic/bulk_cron_worker.rb' - - 'ee/app/workers/concerns/elastic/indexing_control.rb' - 'ee/app/workers/concerns/elastic/migration_backfill_helper.rb' - 'ee/app/workers/concerns/elastic/migration_create_index.rb' - 'ee/app/workers/concerns/elastic/migration_helper.rb' diff --git a/.rubocop_todo/style/inline_disable_annotation.yml b/.rubocop_todo/style/inline_disable_annotation.yml index c49bc025aa4..442351c60ce 100644 --- a/.rubocop_todo/style/inline_disable_annotation.yml +++ b/.rubocop_todo/style/inline_disable_annotation.yml @@ -1289,7 +1289,6 @@ Style/InlineDisableAnnotation: - 'ee/app/services/ee/users/destroy_service.rb' - 'ee/app/services/ee/users/update_service.rb' - 'ee/app/services/elastic/index_projects_by_range_service.rb' - - 'ee/app/services/elastic/indexing_control_service.rb' - 'ee/app/services/elastic/process_bookkeeping_service.rb' - 'ee/app/services/epic_issues/create_service.rb' - 'ee/app/services/epics/strategies/base_dates_strategy.rb' diff --git a/.rubocop_todo/style/mutable_constant.yml b/.rubocop_todo/style/mutable_constant.yml index 4f214c4154e..fe608f65462 100644 --- a/.rubocop_todo/style/mutable_constant.yml +++ b/.rubocop_todo/style/mutable_constant.yml @@ -11,7 +11,6 @@ Style/MutableConstant: - 'app/services/packages/maven/metadata/append_package_file_service.rb' - 'app/workers/concerns/worker_context.rb' - 'danger/architecture/Dangerfile' - - 'ee/app/services/elastic/indexing_control_service.rb' - 'ee/app/services/security/ingestion/tasks/ingest_vulnerability_statistics.rb' - 'ee/app/services/vulnerabilities/statistics/adjustment_service.rb' - 'ee/app/services/vulnerabilities/statistics/update_service.rb' diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index 4f2b1fc00de..b6a83a8e655 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -75f33270bda9bf257949abfc1fcbe6ca90c7a479 +eb969b365e75ba081eebc768e59e546c915ea185 diff --git a/app/assets/javascripts/members/placeholders/components/placeholders_table.vue b/app/assets/javascripts/members/placeholders/components/placeholders_table.vue index 79dfe109127..f18095b08b9 100644 --- a/app/assets/javascripts/members/placeholders/components/placeholders_table.vue +++ b/app/assets/javascripts/members/placeholders/components/placeholders_table.vue @@ -266,6 +266,7 @@ export default { v-if="statusBadge(item)" v-gl-tooltip="statusBadge(item).tooltip" :variant="statusBadge(item).variant" + data-testid="placeholder-status" tabindex="0" >{{ statusBadge(item).text }} @@ -279,6 +280,7 @@ export default { :src="reassignedUser(item).avatarUrl" :label="reassignedUser(item).name" :sub-label="`@${reassignedUser(item).username}`" + data-testid="placeholder-reassigned" /> diff --git a/app/assets/javascripts/vue_shared/issuable/show/components/issuable_header.vue b/app/assets/javascripts/vue_shared/issuable/show/components/issuable_header.vue index 26693b65bb1..b4ab447299b 100644 --- a/app/assets/javascripts/vue_shared/issuable/show/components/issuable_header.vue +++ b/app/assets/javascripts/vue_shared/issuable/show/components/issuable_header.vue @@ -190,7 +190,12 @@ export default { {{ serviceDeskReplyTo }}