From 4e65fc3589914bc328539943f1164f4aff2b8d58 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 12 May 2023 00:12:55 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab/CODEOWNERS | 4 +- .../main.gitlab-ci.yml | 2 +- .gitlab/ci/preflight.gitlab-ci.yml | 2 +- .gitlab/ci/qa-common/main.gitlab-ci.yml | 7 +- .gitlab/ci/review-apps/main.gitlab-ci.yml | 2 +- .gitlab/ci/review-apps/qa.gitlab-ci.yml | 2 +- .rubocop_todo/cop/user_admin.yml | 2 +- .../dropdown_contents_labels_view.vue | 2 +- .../embedded_labels_list.vue | 2 +- .../components/issuable_label_selector.vue | 7 +- app/controllers/projects/issues_controller.rb | 2 +- .../timeline_event/promote_from_note.rb | 2 +- .../user_achievements_resolver.rb | 2 +- .../types/achievements/achievement_type.rb | 4 +- app/helpers/form_helper.rb | 3 +- app/helpers/issuables_helper.rb | 31 +- app/helpers/issues_helper.rb | 2 +- app/models/achievements/user_achievement.rb | 1 + app/models/concerns/issuable.rb | 12 +- app/models/concerns/protected_ref_access.rb | 23 +- app/models/issue.rb | 23 + app/models/personal_access_token.rb | 24 + app/policies/issuable_policy.rb | 2 +- .../incident_management/usage_data.rb | 2 +- app/services/issues/base_service.rb | 2 +- app/services/issues/close_service.rb | 2 +- app/services/issues/create_service.rb | 2 +- app/services/issues/reopen_service.rb | 2 +- .../resource_access_tokens/create_service.rb | 10 +- .../resource_events/change_labels_service.rb | 2 +- .../issues/_design_management.html.haml | 2 +- .../shared/issuable/form/_metadata.html.haml | 15 +- .../issuable/form/_type_selector.html.haml | 2 +- .../development/default_pat_expiration.yml | 7 + .../visible_label_selection_on_metadata.yml | 8 + ...6-0-Security-report-schemas-version-14.yml | 11 + .../16_0/16-0-dast-api-variable-removal.yml | 2 +- data/removals/16_0/16-0-grafana-chart.yml | 2 +- .../removals/16_0/16-0-limit-ci-job-token.yml | 2 +- .../16_0/16-0-non-expiring-access-tokens.yml | 19 + data/removals/16_0/16-0-postgresql-12.yml | 2 +- .../16.0-config-fields-runner-helm-chart.yml | 2 +- .../16.0-eol-windows-server-2004-and-20H2.yml | 2 +- ...nner-api-does-not-return-paused-active.yml | 2 +- ...remove_shimo_zentao_integration_records.rb | 21 + ...fill_corrected_secure_files_expirations.rb | 27 ++ db/schema_migrations/20230428085332 | 1 + db/schema_migrations/20230508175057 | 1 + doc/api/discussions.md | 10 +- doc/api/graphql/reference/index.md | 1 + .../database/database_migration_pipeline.md | 38 ++ doc/update/index.md | 4 +- doc/update/removals.md | 20 + .../group/settings/group_access_tokens.md | 13 +- doc/user/profile/personal_access_tokens.md | 14 +- .../project/settings/project_access_tokens.md | 14 +- doc/user/workspace/index.md | 2 +- lib/gitlab/access.rb | 1 + lib/gitlab/database/gitlab_schema.rb | 2 +- lib/gitlab/quick_actions/issue_actions.rb | 4 +- lib/tasks/gitlab/db.rake | 2 + locale/gitlab.pot | 5 +- package.json | 2 +- spec/features/issues/form_spec.rb | 455 +++++++++++++----- .../issues/user_creates_issue_spec.rb | 55 ++- spec/features/labels_hierarchy_spec.rb | 73 ++- .../merge_request/user_creates_mr_spec.rb | 151 +++++- .../merge_request/user_edits_mr_spec.rb | 222 ++++++++- .../issuable_label_selector_spec.js | 20 - spec/helpers/issuables_helper_spec.rb | 57 +++ .../entities/personal_access_token_spec.rb | 2 +- ...e_shimo_zentao_integration_records_spec.rb | 46 ++ ...corrected_secure_files_expirations_spec.rb | 24 + spec/models/concerns/issuable_spec.rb | 4 +- spec/models/issue_spec.rb | 14 + spec/models/personal_access_token_spec.rb | 69 ++- .../merge_access_level_spec.rb | 1 + .../push_access_level_spec.rb | 1 + .../protected_tag/create_access_level_spec.rb | 1 + .../user_achievements_query_spec.rb | 13 +- .../user/user_achievements_query_spec.rb | 11 +- spec/requests/api/internal/base_spec.rb | 86 ++-- spec/requests/api/issues/issues_spec.rb | 2 +- .../api/resource_access_tokens_spec.rb | 32 +- .../access_token_entity_base_spec.rb | 2 +- spec/services/issues/create_service_spec.rb | 2 +- .../create_service_spec.rb | 52 +- ...creatable_merge_request_shared_examples.rb | 6 +- ...f_access_allowed_access_levels_examples.rb | 36 ++ .../concerns/protected_ref_access_examples.rb | 31 ++ .../merge_requests/edit.html.haml_spec.rb | 82 +++- yarn.lock | 31 +- 92 files changed, 1656 insertions(+), 370 deletions(-) create mode 100644 config/feature_flags/development/default_pat_expiration.yml create mode 100644 config/feature_flags/development/visible_label_selection_on_metadata.yml create mode 100644 data/removals/16_0/16-0-Security-report-schemas-version-14.yml create mode 100644 data/removals/16_0/16-0-non-expiring-access-tokens.yml create mode 100644 db/post_migrate/20230428085332_remove_shimo_zentao_integration_records.rb create mode 100644 db/post_migrate/20230508175057_backfill_corrected_secure_files_expirations.rb create mode 100644 db/schema_migrations/20230428085332 create mode 100644 db/schema_migrations/20230508175057 create mode 100644 spec/migrations/20230428085332_remove_shimo_zentao_integration_records_spec.rb create mode 100644 spec/migrations/20230508175057_backfill_corrected_secure_files_expirations_spec.rb create mode 100644 spec/support/shared_examples/models/concerns/protected_ref_access_allowed_access_levels_examples.rb diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 3ce956b7022..f555355bfc9 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -437,7 +437,6 @@ lib/gitlab/checks/** /doc/administration/maintenance_mode/ @axil /doc/administration/merge_request_diffs.md @aqualls /doc/administration/monitoring/github_imports.md @eread @ashrafkhamis -/doc/administration/monitoring/gitlab_self_monitoring_project/ @msedlakjakubowski /doc/administration/monitoring/index.md @msedlakjakubowski /doc/administration/monitoring/ip_allowlist.md @jglassman1 /doc/administration/monitoring/performance/gitlab_configuration.md @msedlakjakubowski @@ -565,6 +564,7 @@ lib/gitlab/checks/** /doc/api/license.md @fneill /doc/api/linked_epics.md @msedlakjakubowski /doc/api/lint.md @marcel.amirault +/doc/api/managed_licenses.md @fneill /doc/api/markdown.md @msedlakjakubowski /doc/api/member_roles.md @jglassman1 /doc/api/members.md @jglassman1 @@ -652,6 +652,7 @@ lib/gitlab/checks/** /doc/ci/chatops/ @eread @ashrafkhamis /doc/ci/cloud_deployment/ @phillipwells /doc/ci/cloud_services/ @marcel.amirault +/doc/ci/components/ @marcel.amirault /doc/ci/directed_acyclic_graph/ @marcel.amirault /doc/ci/docker/using_docker_images.md @fneill /doc/ci/environments/ @phillipwells @@ -982,6 +983,7 @@ lib/gitlab/checks/** /doc/user/tasks.md @msedlakjakubowski /doc/user/todos.md @msedlakjakubowski /doc/user/usage_quotas.md @fneill +/doc/user/workspace/ @ashrafkhamis # End rake-managed-docs-block [Authentication and Authorization] @gitlab-org/manage/authentication-and-authorization/approvers diff --git a/.gitlab/ci/package-and-test-nightly/main.gitlab-ci.yml b/.gitlab/ci/package-and-test-nightly/main.gitlab-ci.yml index 4e240bedf3a..a5474d00cb6 100644 --- a/.gitlab/ci/package-and-test-nightly/main.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test-nightly/main.gitlab-ci.yml @@ -27,7 +27,7 @@ trigger-omnibus-env-ce: extends: - .trigger-omnibus-env-ce variables: - FOSS_ONLY: "1" # set FOSS_ONLY because we don't pass it via trigger job + FOSS_ONLY: "1" # set FOSS_ONLY because we don't pass it via trigger job # TODO: enable once ee jobs are added # trigger-omnibus: diff --git a/.gitlab/ci/preflight.gitlab-ci.yml b/.gitlab/ci/preflight.gitlab-ci.yml index 04cb36354a9..e477466e5f3 100644 --- a/.gitlab/ci/preflight.gitlab-ci.yml +++ b/.gitlab/ci/preflight.gitlab-ci.yml @@ -34,7 +34,7 @@ rails-production-server-boot: - sed --in-place "s:/home/git/gitlab:${PWD}:" config/puma.rb - echo 'bind "tcp://127.0.0.1:3000"' >> config/puma.rb - bundle exec puma --environment production --config config/puma.rb & - - sleep 40 # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/114124#note_1309506358 + - sleep 40 # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/114124#note_1309506358 - retry_times_sleep 10 5 "curl http://127.0.0.1:3000" - kill $(jobs -p) diff --git a/.gitlab/ci/qa-common/main.gitlab-ci.yml b/.gitlab/ci/qa-common/main.gitlab-ci.yml index 3be1bc955c5..3f33b3e8451 100644 --- a/.gitlab/ci/qa-common/main.gitlab-ci.yml +++ b/.gitlab/ci/qa-common/main.gitlab-ci.yml @@ -214,9 +214,9 @@ stages: fi - | bundle exec relate-failure-issue \ - --input-files "$CI_PROJECT_DIR/gitlab-qa-run-*/**/rspec-*.json" \ + --input-files "${CI_PROJECT_DIR}/gitlab-qa-run-*/**/rspec-*.json" \ --project "gitlab-org/gitlab" \ - --token "$RELATE_TEST_FAILURE_TOKEN" + --token "${RELATE_TEST_FAILURE_TOKEN}" .generate-test-session: extends: @@ -247,7 +247,6 @@ stages: - .ruby-image stage: notify variables: - QA_RSPEC_XML_FILE_PATTERN: $CI_PROJECT_DIR/gitlab-qa-run-*/**/rspec-*.xml SLACK_ICON_EMOJI: ci_failing STATUS_SYM: ☠️ STATUS: failed @@ -259,7 +258,7 @@ stages: echo "Test suite passed. Exiting..." exit 0 fi - - bundle exec gitlab-qa-report --prepare-stage-reports "$QA_RSPEC_XML_FILE_PATTERN" # generate summary + - bundle exec prepare-stage-reports --input-files "${CI_PROJECT_DIR}/gitlab-qa-run-*/**/rspec-*.xml" - !reference [.notify-slack-qa, script] # ========================================== diff --git a/.gitlab/ci/review-apps/main.gitlab-ci.yml b/.gitlab/ci/review-apps/main.gitlab-ci.yml index 28416c89f68..680254a6640 100644 --- a/.gitlab/ci/review-apps/main.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/main.gitlab-ci.yml @@ -92,7 +92,7 @@ review-build-cng: .review-workflow-base: image: ${REVIEW_APPS_IMAGE} retry: - max: 2 # This is confusing but this means "3 runs at max" + max: 2 # This is confusing but this means "3 runs at max" variables: HOST_SUFFIX: "${CI_ENVIRONMENT_SLUG}" DOMAIN: "-${CI_ENVIRONMENT_SLUG}.${REVIEW_APPS_DOMAIN}" diff --git a/.gitlab/ci/review-apps/qa.gitlab-ci.yml b/.gitlab/ci/review-apps/qa.gitlab-ci.yml index 0cfd4bbfb93..c01317ad9bd 100644 --- a/.gitlab/ci/review-apps/qa.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/qa.gitlab-ci.yml @@ -169,7 +169,7 @@ notify-slack: TYPE: "(review-app) " when: on_failure script: - - bundle exec gitlab-qa-report --prepare-stage-reports "$CI_PROJECT_DIR/qa/tmp/rspec-*.xml" # generate summary + - bundle exec prepare-stage-reports --input-files "${CI_PROJECT_DIR}/qa/tmp/rspec-*.xml" - !reference [.notify-slack-qa, script] export-test-metrics: diff --git a/.rubocop_todo/cop/user_admin.yml b/.rubocop_todo/cop/user_admin.yml index ce16309d3f8..82f57e52888 100644 --- a/.rubocop_todo/cop/user_admin.yml +++ b/.rubocop_todo/cop/user_admin.yml @@ -5,6 +5,7 @@ Cop/UserAdmin: - 'app/controllers/sessions_controller.rb' - 'app/graphql/mutations/admin/sidekiq_queues/delete_jobs.rb' - 'app/graphql/resolvers/admin/analytics/usage_trends/measurements_resolver.rb' + - 'app/models/concerns/protected_ref_access.rb' - 'app/models/concerns/spammable.rb' - 'app/models/merge_requests_closing_issues.rb' - 'app/models/protected_branch.rb' @@ -15,7 +16,6 @@ Cop/UserAdmin: - 'app/services/projects/fork_service.rb' - 'app/services/users/build_service.rb' - 'ee/app/controllers/ee/projects_controller.rb' - - 'ee/app/models/concerns/ee/protected_ref_access.rb' - 'ee/app/models/ee/user.rb' - 'ee/app/policies/ee/group_policy.rb' - 'ee/app/services/ee/groups/create_service.rb' diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue index dce80af8a5e..1d8b21700c3 100644 --- a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue +++ b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue @@ -147,7 +147,7 @@ export default {