From ed899a6a1e00336d234387cf2f0ab173bfb93ff2 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 29 May 2024 18:15:31 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab-ci.yml | 2 +- .gitlab/CODEOWNERS | 2 +- .gitlab/ci/test-on-cng/main.gitlab-ci.yml | 12 +- .../layout/first_hash_element_indentation.yml | 11 - .../layout/space_in_lambda_literal.yml | 14 - .../admin/abuse_reports/components/app.vue | 4 +- .../components/delete_custom_metric_modal.vue | 2 +- .../components/stacktrace_entry.vue | 4 +- .../components/related_issuable_item.vue | 4 +- .../new/components/title_suggestions_item.vue | 8 +- .../javascripts/observability/client.js | 19 +- .../components/list_page/image_list.vue | 16 +- .../components/manifests_list.vue | 12 +- .../details/components/app.vue | 22 +- .../list/components/packages_list.vue | 16 +- .../shared/components/registry_list.vue | 16 +- .../components/service_desk_setting.vue | 6 +- .../components/table/parent_row.vue | 2 +- .../assignees/assignee_avatar_link.vue | 8 +- .../reviewers/reviewer_avatar_link.vue | 6 +- .../components/changed_file_icon.vue | 2 +- .../components/registry/list_item.vue | 4 +- .../components/issuable_bulk_edit_sidebar.vue | 4 +- .../list/components/issuable_item.vue | 1 - .../list/components/issuable_list_root.vue | 67 +- app/graphql/types/ci/catalog/resource_type.rb | 2 +- .../types/design_management/design_fields.rb | 2 +- app/models/container_repository.rb | 10 +- app/models/project.rb | 7 + app/models/project_ci_cd_setting.rb | 31 + app/policies/project_policy.rb | 14 +- .../deploy_keys/basic_deploy_key_entity.rb | 8 +- app/serializers/deployment_cluster_entity.rb | 4 +- app/serializers/deployment_entity.rb | 10 +- app/serializers/detailed_status_entity.rb | 2 +- app/serializers/diff_file_base_entity.rb | 8 +- app/serializers/diff_file_entity.rb | 14 +- app/serializers/diffs_entity.rb | 8 +- app/serializers/discussion_entity.rb | 4 +- app/serializers/draft_note_entity.rb | 2 +- app/serializers/environment_entity.rb | 6 +- app/serializers/feature_flag_entity.rb | 6 +- app/serializers/issue_board_entity.rb | 12 +- app/serializers/issue_entity.rb | 6 +- app/serializers/issue_sidebar_basic_entity.rb | 2 +- app/services/concerns/base_service_utility.rb | 4 +- app/services/projects/update_service.rb | 37 + .../remote_mirrors/destroy_service.rb | 23 + .../work_items/parent_links/create_service.rb | 9 +- .../projects/issues/_new_branch.html.haml | 2 +- .../merge_requests/_merge_request.html.haml | 10 +- app/views/search/results/_issuable.html.haml | 2 +- .../profiles/_private_profile.html.haml | 6 + .../user_settings/profiles/show.html.haml | 4 +- .../allow_user_variables_by_minimum_role.yml | 8 + .../use_remote_mirror_destroy_service.yml | 9 + ...pic_issues_into_work_item_parent_links.yml | 9 + ...ci_pipeline_variables_minimum_role_enum.rb | 10 + ...94240_delete_invalid_path_locks_records.rb | 26 + ...6_add_not_null_constraint_to_path_locks.rb | 14 + ...epic_issues_into_work_item_parent_links.rb | 31 + db/schema_migrations/20240411204324 | 1 + db/schema_migrations/20240515094240 | 1 + db/schema_migrations/20240515094256 | 1 + db/schema_migrations/20240522183910 | 1 + db/structure.sql | 6 +- doc/administration/admin_area.md | 2 +- doc/api/graphql/reference/index.md | 8 +- doc/api/openapi/openapi_v2.yaml | 15 +- doc/ci/variables/index.md | 24 +- .../enabling_features_on_dedicated.md | 35 + gems/gitlab-cng/Gemfile.lock | 1 + gems/gitlab-cng/gitlab-cng.gemspec | 1 + .../lib/gitlab/cng/commands/create.rb | 20 +- .../lib/deployment/configurations/_base.rb | 21 +- .../cng/lib/deployment/configurations/kind.rb | 122 ++- .../cng/lib/deployment/default_values.rb | 72 ++ .../gitlab/cng/lib/deployment/installation.rb | 100 ++- .../lib/gitlab/cng/lib/helpers/ci.rb | 33 + .../lib/gitlab/cng/lib/kind/cluster.rb | 6 +- .../lib/gitlab/cng/lib/kubectl/client.rb | 41 +- .../spec/fixture/GITALY_SERVER_VERSION | 1 + .../spec/fixture/GITLAB_SHELL_VERSION | 1 + .../unit/gitlab/cng/commands/create_spec.rb | 38 +- .../deployment/configurations/base_spec.rb | 42 + .../deployment/configurations/kind_spec.rb | 102 +++ .../cng/deployment/installation_spec.rb | 167 +++- .../unit/gitlab/cng/kubectl/client_spec.rb | 11 + .../lib/gitlab/secret_detection/scan_spec.rb | 18 +- lib/api/entities/project.rb | 1 + lib/api/helpers/projects_helpers.rb | 2 + lib/api/projects.rb | 2 + lib/api/remote_mirrors.rb | 24 +- ...epic_issues_into_work_item_parent_links.rb | 94 +++ .../query_analyzers/ast/logger_analyzer.rb | 2 + locale/gitlab.pot | 15 + qa/Gemfile.lock | 1 + .../product_analytics/browser_sdk_app.rb | 6 +- .../product_analytics/dotnet_sdk_app.rb | 6 +- .../product_analytics/ruby_sdk_app.rb | 67 ++ scripts/qa/cng_deploy/cng-kind.sh | 157 ---- scripts/qa/cng_deploy/config/hook.sh | 6 - scripts/qa/cng_deploy/config/kind-config.yml | 28 - spec/frontend/observability/client_spec.js | 226 +++--- .../package_list_row_spec.js.snap | 4 +- .../package_list_row_spec.js.snap | 4 +- .../components/issuable_list_root_spec.js | 725 +++++++----------- ...issues_into_work_item_parent_links_spec.rb | 218 ++++++ spec/lib/gitlab/database/sharding_key_spec.rb | 1 - .../ast/logger_analyzer_spec.rb | 9 + ...issues_into_work_item_parent_links_spec.rb | 27 + ..._delete_invalid_path_locks_records_spec.rb | 41 + spec/models/container_repository_spec.rb | 14 +- spec/models/project_ci_cd_setting_spec.rb | 6 + spec/models/project_spec.rb | 1 + spec/policies/project_policy_spec.rb | 234 +++++- .../api/container_repositories_spec.rb | 18 +- .../container_repository_details_spec.rb | 49 +- spec/requests/api/project_attributes.yml | 1 + .../project_container_repositories_spec.rb | 51 +- spec/requests/api/projects_spec.rb | 142 ++++ spec/requests/api/remote_mirrors_spec.rb | 37 +- spec/services/projects/update_service_spec.rb | 103 +++ .../remote_mirrors/destroy_service_spec.rb | 68 ++ .../parent_links/create_service_spec.rb | 11 + .../profiles/show.html.haml_spec.rb | 15 + workhorse/go.mod | 4 +- workhorse/go.sum | 7 +- workhorse/internal/helper/command/command.go | 8 +- .../internal/helper/countingresponsewriter.go | 3 + .../helper/countingresponsewriter_test.go | 3 +- .../internal/helper/exception/exception.go | 3 + workhorse/internal/helper/fail/fail.go | 2 + workhorse/internal/helper/helpers.go | 9 +- workhorse/internal/helper/nginx/nginx.go | 4 + 135 files changed, 2792 insertions(+), 1184 deletions(-) create mode 100644 app/services/remote_mirrors/destroy_service.rb create mode 100644 app/views/user_settings/profiles/_private_profile.html.haml create mode 100644 config/feature_flags/development/allow_user_variables_by_minimum_role.yml create mode 100644 config/feature_flags/gitlab_com_derisk/use_remote_mirror_destroy_service.yml create mode 100644 db/docs/batched_background_migrations/backfill_epic_issues_into_work_item_parent_links.yml create mode 100644 db/migrate/20240411204324_add_ci_pipeline_variables_minimum_role_enum.rb create mode 100644 db/post_migrate/20240515094240_delete_invalid_path_locks_records.rb create mode 100644 db/post_migrate/20240515094256_add_not_null_constraint_to_path_locks.rb create mode 100644 db/post_migrate/20240522183910_queue_backfill_epic_issues_into_work_item_parent_links.rb create mode 100644 db/schema_migrations/20240411204324 create mode 100644 db/schema_migrations/20240515094240 create mode 100644 db/schema_migrations/20240515094256 create mode 100644 db/schema_migrations/20240522183910 create mode 100644 doc/development/enabling_features_on_dedicated.md create mode 100644 gems/gitlab-cng/lib/gitlab/cng/lib/deployment/default_values.rb create mode 100644 gems/gitlab-cng/lib/gitlab/cng/lib/helpers/ci.rb create mode 100644 gems/gitlab-cng/spec/fixture/GITALY_SERVER_VERSION create mode 100644 gems/gitlab-cng/spec/fixture/GITLAB_SHELL_VERSION create mode 100644 gems/gitlab-cng/spec/unit/gitlab/cng/deployment/configurations/base_spec.rb create mode 100644 gems/gitlab-cng/spec/unit/gitlab/cng/deployment/configurations/kind_spec.rb create mode 100644 lib/gitlab/background_migration/backfill_epic_issues_into_work_item_parent_links.rb create mode 100644 qa/qa/service/docker_run/product_analytics/ruby_sdk_app.rb delete mode 100755 scripts/qa/cng_deploy/config/hook.sh delete mode 100644 scripts/qa/cng_deploy/config/kind-config.yml create mode 100644 spec/lib/gitlab/background_migration/backfill_epic_issues_into_work_item_parent_links_spec.rb create mode 100644 spec/migrations/20240320193910_queue_backfill_epic_issues_into_work_item_parent_links_spec.rb create mode 100644 spec/migrations/20240515094240_delete_invalid_path_locks_records_spec.rb create mode 100644 spec/services/remote_mirrors/destroy_service_spec.rb diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 35064e89941..ef28900bc08 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -220,7 +220,7 @@ variables: DOCS_REVIEW_APPS_DOMAIN: "docs.gitlab-review.app" DOCS_GITLAB_REPO_SUFFIX: "ee" - REVIEW_APPS_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bookworm-ruby-3.0:gcloud-383-kubectl-1.26-helm-3.9" + REVIEW_APPS_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bookworm-ruby-3.0:gcloud-383-kubectl-1.27-helm-3.9" REVIEW_APPS_DOMAIN: "gitlab-review.app" REVIEW_APPS_GCP_PROJECT: "gitlab-review-apps" REVIEW_APPS_GCP_REGION: "us-central1" diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 0a9f5bfad43..f55066fcddf 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -7,7 +7,7 @@ .gitlab/CODEOWNERS @gitlab-org/development-leaders @gitlab-org/tw-leadership ## Allows release tooling and Gitaly team members to update the Gitaly Version -GITALY_SERVER_VERSION @project_278964_bot6 @gitlab-org/maintainers/rails-backend @gitlab-org/delivery @gl-gitaly +/GITALY_SERVER_VERSION @project_278964_bot6 @gitlab-org/maintainers/rails-backend @gitlab-org/delivery @gl-gitaly ## Files that are excluded from required approval ## These rules override the * rule above, so that changes to docs and templates diff --git a/.gitlab/ci/test-on-cng/main.gitlab-ci.yml b/.gitlab/ci/test-on-cng/main.gitlab-ci.yml index a830dcb0343..0c07556322c 100644 --- a/.gitlab/ci/test-on-cng/main.gitlab-ci.yml +++ b/.gitlab/ci/test-on-cng/main.gitlab-ci.yml @@ -50,12 +50,8 @@ workflow: - export QA_GITLAB_URL="http://gitlab.${GITLAB_DOMAIN}" - source scripts/utils.sh - source scripts/rspec_helpers.sh - - source scripts/qa/cng_deploy/cng-kind.sh - cd qa && bundle install - - bundle exec cng create cluster --ci - # Currently this only performs pre-deploy setup - - bundle exec cng create deployment --ci - - deploy ${GITLAB_DOMAIN} + - bundle exec cng create deployment --gitlab-domain "${GITLAB_DOMAIN}" --ci --with-cluster ${EXTRA_DEPLOY_VALUES} script: - export QA_COMMAND="bundle exec bin/qa ${QA_SCENARIO:=Test::Instance::All} $QA_GITLAB_URL -- --force-color --order random --format documentation" - echo "Running - '$QA_COMMAND'" @@ -120,7 +116,11 @@ cng-qa-min-redis-version: extends: .cng-base variables: QA_SCENARIO: Test::Instance::Smoke - REDIS_VERSION_TYPE: MIN_REDIS_VERSION + before_script: + - | + redis_version=$(awk -F "=" "/MIN_REDIS_VERSION =/ {print \$2}" $CI_PROJECT_DIR/lib/system_check/app/redis_version_check.rb | sed "s/['\" ]//g") + export EXTRA_DEPLOY_VALUES="--set redis.image.tag=${redis_version%.*}" + - !reference [.cng-base, before_script] after_script: - !reference [.set-suite-status, after_script] - !reference [.cng-base, after_script] diff --git a/.rubocop_todo/layout/first_hash_element_indentation.yml b/.rubocop_todo/layout/first_hash_element_indentation.yml index 02cb82c9f22..5e3cf9681ee 100644 --- a/.rubocop_todo/layout/first_hash_element_indentation.yml +++ b/.rubocop_todo/layout/first_hash_element_indentation.yml @@ -2,17 +2,6 @@ # Cop supports --autocorrect. Layout/FirstHashElementIndentation: Exclude: - - 'ee/app/helpers/ee/geo_helper.rb' - - 'ee/app/helpers/ee/groups/group_members_helper.rb' - - 'ee/app/models/ee/list.rb' - - 'ee/app/services/app_sec/dast/profiles/update_service.rb' - - 'ee/app/services/elastic/cluster_reindexing_service.rb' - - 'ee/app/services/iterations/create_service.rb' - - 'ee/app/services/resource_events/change_iteration_service.rb' - - 'ee/app/services/security/token_revocation_service.rb' - - 'ee/app/services/timebox_report_service.rb' - - 'ee/lib/ee/gitlab/ci/parsers.rb' - - 'ee/lib/ee/gitlab/usage_data.rb' - 'ee/spec/factories/dependencies.rb' - 'ee/spec/finders/epics_finder_spec.rb' - 'ee/spec/finders/namespaces/free_user_cap/users_finder_spec.rb' diff --git a/.rubocop_todo/layout/space_in_lambda_literal.yml b/.rubocop_todo/layout/space_in_lambda_literal.yml index fa2afd02f84..88b4419d441 100644 --- a/.rubocop_todo/layout/space_in_lambda_literal.yml +++ b/.rubocop_todo/layout/space_in_lambda_literal.yml @@ -2,20 +2,6 @@ # Cop supports --autocorrect. Layout/SpaceInLambdaLiteral: Exclude: - - 'app/serializers/deploy_keys/basic_deploy_key_entity.rb' - - 'app/serializers/deployment_cluster_entity.rb' - - 'app/serializers/deployment_entity.rb' - - 'app/serializers/detailed_status_entity.rb' - - 'app/serializers/diff_file_base_entity.rb' - - 'app/serializers/diff_file_entity.rb' - - 'app/serializers/diffs_entity.rb' - - 'app/serializers/discussion_entity.rb' - - 'app/serializers/draft_note_entity.rb' - - 'app/serializers/environment_entity.rb' - - 'app/serializers/feature_flag_entity.rb' - - 'app/serializers/issue_board_entity.rb' - - 'app/serializers/issue_entity.rb' - - 'app/serializers/issue_sidebar_basic_entity.rb' - 'ee/app/serializers/blocking_merge_request_entity.rb' - 'ee/app/serializers/clusters/environment_entity.rb' - 'ee/app/serializers/dashboard_operations_project_entity.rb' diff --git a/app/assets/javascripts/admin/abuse_reports/components/app.vue b/app/assets/javascripts/admin/abuse_reports/components/app.vue index 521634f7209..a9a6c3a63ad 100644 --- a/app/assets/javascripts/admin/abuse_reports/components/app.vue +++ b/app/assets/javascripts/admin/abuse_reports/components/app.vue @@ -40,7 +40,9 @@ export default {