From 6d61802bb77314c942b99e70011d9092281de4af Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 22 Jul 2025 21:16:37 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .eslint_todo/vue-no-unused-properties.mjs | 2 - .gitlab/ci/rules.gitlab-ci.yml | 9 +- .gitlab/ci/test-on-cng/main.gitlab-ci.yml | 8 + Gemfile.lock | 2 +- Gemfile.next.lock | 2 +- .../components/status_badge.vue | 1 + .../components/assignees/assignee_avatar.vue | 13 +- .../components/reviewers/reviewer_avatar.vue | 8 +- .../components/create_work_item.vue | 15 +- .../work_items/components/work_item_title.vue | 11 +- app/assets/stylesheets/framework/sidebar.scss | 2 +- .../packages/composer/package_finder.rb | 35 + .../group_or_project_package_finder.rb | 2 + app/models/ci/pipeline.rb | 8 +- app/models/merge_request.rb | 1 - .../coverage_report_worker.rb | 2 +- .../packages_composer_finder_refactor.yml | 10 + config/feature_flags/wip/validity_refresh.yml | 10 + ...roject_id_to_merge_request_diff_commits.rb | 2 +- ...x_merge_request_diff_commits_project_id.rb | 16 + ...erge_requests_id_created_at_prepared_at.rb | 17 + db/schema_migrations/20250708034548 | 1 + db/schema_migrations/20250714085240 | 1 + db/structure.sql | 2 - doc/api/get_started/get_started_extending.md | 2 +- doc/api/graphql/reference/_index.md | 1 + doc/api/groups.md | 620 +++++++++--------- doc/ci/_index.md | 2 +- doc/development/backend/ruby_style_guide.md | 112 ++-- .../event_definition_guide.md | 1 - doc/topics/git/get_started.md | 2 +- .../get-started-security.md | 2 +- .../get_started/get_started_deploy_release.md | 2 +- .../get_started/get_started_managing_code.md | 2 +- .../get_started_managing_infrastructure.md | 2 +- .../get_started/get_started_monitoring.md | 2 +- .../get_started/get_started_planning_work.md | 2 +- doc/user/get_started/get_started_projects.md | 2 +- doc/user/get_started/get_started_runner.md | 2 +- .../get_started/getting_started_gitlab_duo.md | 2 +- doc/user/gitlab_duo/context.md | 2 +- doc/user/group/_index.md | 3 +- lib/api/composer_packages.rb | 25 +- locale/gitlab.pot | 12 +- package.json | 2 +- qa/qa/tools/delete_resource_base.rb | 4 +- qa/qa/tools/test_resources_handler.rb | 9 +- spec/db/schema_spec.rb | 2 +- .../packages/composer/package_finder_spec.rb | 54 ++ .../assignees/assignee_avatar_spec.js | 9 +- .../components/assignees/assignees_spec.js | 4 - spec/models/ci/pipeline_spec.rb | 28 +- spec/models/merge_request_spec.rb | 8 - spec/requests/api/composer_packages_spec.rb | 50 ++ .../coverage_report_worker_spec.rb | 16 +- yarn.lock | 8 +- 56 files changed, 705 insertions(+), 469 deletions(-) create mode 100644 app/finders/packages/composer/package_finder.rb create mode 100644 config/feature_flags/gitlab_com_derisk/packages_composer_finder_refactor.yml create mode 100644 config/feature_flags/wip/validity_refresh.yml create mode 100644 db/post_migrate/20250708034548_prepare_async_index_merge_request_diff_commits_project_id.rb create mode 100644 db/post_migrate/20250714085240_drop_index_merge_requests_id_created_at_prepared_at.rb create mode 100644 db/schema_migrations/20250708034548 create mode 100644 db/schema_migrations/20250714085240 create mode 100644 spec/finders/packages/composer/package_finder_spec.rb diff --git a/.eslint_todo/vue-no-unused-properties.mjs b/.eslint_todo/vue-no-unused-properties.mjs index fefcf10d8f3..8a36574207f 100644 --- a/.eslint_todo/vue-no-unused-properties.mjs +++ b/.eslint_todo/vue-no-unused-properties.mjs @@ -96,7 +96,6 @@ export default { 'app/assets/javascripts/jira_connect/branches/components/new_branch_form.vue', 'app/assets/javascripts/jira_import/components/jira_import_form.vue', 'app/assets/javascripts/members/components/filter_sort/sort_dropdown.vue', - 'app/assets/javascripts/merge_request_dashboard/components/status_badge.vue', 'app/assets/javascripts/ml/experiment_tracking/components/candidate_list.vue', 'app/assets/javascripts/ml/experiment_tracking/components/delete_button.vue', 'app/assets/javascripts/ml/experiment_tracking/routes/candidates/promote/model_selection_dropdown.vue', @@ -219,7 +218,6 @@ export default { 'ee/app/assets/javascripts/analytics/productivity_analytics/components/app.vue', 'ee/app/assets/javascripts/analytics/repository_analytics/components/test_coverage_summary.vue', 'ee/app/assets/javascripts/analytics/repository_analytics/components/test_coverage_table.vue', - 'ee/app/assets/javascripts/audit_events/components/stream/stream_delete_modal.vue', 'ee/app/assets/javascripts/billings/components/zuora_simple.vue', 'ee/app/assets/javascripts/billings/subscriptions/components/subscription_table.vue', 'ee/app/assets/javascripts/ci/merge_trains/components/merge_trains_table.vue', diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 255661f5861..1b02ae2da48 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -1153,6 +1153,9 @@ .build-images:rules:build-gdk-image: rules: - !reference [".qa:rules:e2e-test-never-run", rules] + # E2E tests are already executed against cng deployment so gdk is skipped + - <<: *if-merge-request-targeting-stable-branch + when: never - <<: *if-default-branch-schedule-nightly # already executed in the 2-hourly schedule when: never - <<: *if-dot-com-gitlab-org-schedule @@ -2019,6 +2022,9 @@ when: never - <<: *if-default-branch-schedule-nightly # already executed in the 2-hourly schedule when: never + # Full suite is already executed against cng deployment which is a proper release environment + - <<: *if-merge-request-targeting-stable-branch + when: never - !reference [".qa:rules:e2e-blocking-base-before", rules] # Run tests automatically for MRs that touch Ruby version files - <<: *if-merge-request @@ -2038,9 +2044,6 @@ .qa:rules:e2e:test-on-cng: rules: - # TODO: Enable for stable branches once cng is fully enabled in mr pipelines - - <<: *if-merge-request-targeting-stable-branch - when: never # TODO: Check security fork is able to build cng images before enabling - <<: *if-security-merge-request when: never diff --git a/.gitlab/ci/test-on-cng/main.gitlab-ci.yml b/.gitlab/ci/test-on-cng/main.gitlab-ci.yml index 9389e131db0..4984358767b 100644 --- a/.gitlab/ci/test-on-cng/main.gitlab-ci.yml +++ b/.gitlab/ci/test-on-cng/main.gitlab-ci.yml @@ -115,6 +115,14 @@ build-cng-env: CNG_ACCESS_TOKEN: $CNG_MIRROR_ACCESS_TOKEN CNG_SKIP_REDUNDANT_JOBS: "true" GIT_STRATEGY: none + # when running in backport, override CNG_COMMIT so it defaults to release branch instead + # this ensures images are built using same stable release branch in CNG repository + # this is needed in case CNG repository backports some fixes related to specific release + rules: + - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /^[\d-]+-stable(-ee|-jh)?$/ + variables: + CNG_COMMIT_SHA: '' + - when: always build-cng: stage: .pre diff --git a/Gemfile.lock b/Gemfile.lock index 00b354b1006..de9b4347470 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2420,4 +2420,4 @@ DEPENDENCIES yard (~> 0.9) BUNDLED WITH - 2.6.5 + 2.7.1 diff --git a/Gemfile.next.lock b/Gemfile.next.lock index 6ef02328728..f866f3c2f89 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -2415,4 +2415,4 @@ DEPENDENCIES yard (~> 0.9) BUNDLED WITH - 2.6.5 + 2.7.1 diff --git a/app/assets/javascripts/merge_request_dashboard/components/status_badge.vue b/app/assets/javascripts/merge_request_dashboard/components/status_badge.vue index 7cd74b47739..0f67b663dfb 100644 --- a/app/assets/javascripts/merge_request_dashboard/components/status_badge.vue +++ b/app/assets/javascripts/merge_request_dashboard/components/status_badge.vue @@ -26,6 +26,7 @@ export default { currentUserId() { return convertToGraphQLId(TYPENAME_USER, gon.current_user_id); }, + // eslint-disable-next-line vue/no-unused-properties -- currentUserAsReviewer is accessed by badge methods when 'this' component instance is passed to them. currentUserAsReviewer() { return this.mergeRequest.reviewers.nodes.find((r) => r.id === this.currentUserId); }, diff --git a/app/assets/javascripts/sidebar/components/assignees/assignee_avatar.vue b/app/assets/javascripts/sidebar/components/assignees/assignee_avatar.vue index 69d19b54e7b..79f49f1f3aa 100644 --- a/app/assets/javascripts/sidebar/components/assignees/assignee_avatar.vue +++ b/app/assets/javascripts/sidebar/components/assignees/assignee_avatar.vue @@ -1,7 +1,6 @@