From 04ac4180cb5ba0df460034c7e64862056fd498b3 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 10 May 2023 16:46:51 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/build-images.gitlab-ci.yml | 4 +- .gitlab/ci/global.gitlab-ci.yml | 2 +- .../ci/package-and-test-nightly/main.gitlab-ci.yml | 2 - .gitlab/ci/preflight.gitlab-ci.yml | 2 +- .gitlab/ci/qa-common/main.gitlab-ci.yml | 1 + .gitlab/ci/qa.gitlab-ci.yml | 2 +- .gitlab/ci/review-apps/main.gitlab-ci.yml | 2 +- .gitlab/ci/rules.gitlab-ci.yml | 12 +- .gitlab/ci/setup.gitlab-ci.yml | 2 +- .gitlab/ci/test-metadata.gitlab-ci.yml | 2 +- .gitlab/ci/test-on-gdk/main.gitlab-ci.yml | 3 +- .../components/messages_table.vue | 12 +- .../super_sidebar/components/menu_section.vue | 2 +- .../components/markdown/mount_markdown_editor.js | 1 - app/controllers/admin/abuse_reports_controller.rb | 21 +- app/controllers/profiles/preferences_controller.rb | 1 - .../projects/metrics_dashboard_controller.rb | 3 + .../resolvers/ci/inherited_variables_resolver.rb | 13 + app/graphql/types/ci/inherited_ci_variable_type.rb | 48 ++ app/graphql/types/project_type.rb | 6 + app/helpers/broadcast_messages_helper.rb | 5 +- app/helpers/clusters_helper.rb | 6 +- app/helpers/ide_helper.rb | 7 +- app/models/ci/group_variable.rb | 8 + app/models/concerns/taskable.rb | 12 +- app/models/merge_request.rb | 1 - app/models/namespace_setting.rb | 2 + app/models/resource_events/abuse_report_event.rb | 8 +- app/models/user.rb | 1 - app/models/user_preference.rb | 1 - app/policies/group_policy.rb | 4 +- app/policies/project_policy.rb | 2 + app/services/admin/abuse_report_update_service.rb | 89 ++++ app/views/clusters/clusters/show.html.haml | 2 +- app/views/groups/_group_admin_settings.html.haml | 3 +- app/views/profiles/preferences/show.html.haml | 23 +- config/routes/admin.rb | 2 +- data/deprecations/15-10-gitaly-legacy-config.yml | 2 +- data/deprecations/15-10-helm-chart-updates.yml | 2 +- data/deprecations/15-11-geo-project-redownload.yml | 2 +- .../15-11-runner-images-alpine-3.12-3.13-3.14.yml | 14 +- data/deprecations/15-8-third-party-registries.yml | 2 +- data/deprecations/15-9-JWT-OIDC.yml | 38 +- .../16-0-CiRunner-projects-default-sort.yml | 4 +- data/deprecations/16-0-Vault-integration.yml | 24 +- ...0-graphql-CiRunnerUpgradeStatusType-renamed.yml | 2 +- .../templates/_deprecation_template.md.erb | 5 +- data/removals/15_10/15_10-non-public-artifacts.yml | 4 +- data/removals/16_0/16-0-job_age.yml | 11 + doc/api/graphql/reference/index.md | 42 ++ doc/ci/cloud_services/aws/index.md | 4 + doc/ci/cloud_services/azure/index.md | 4 + doc/ci/cloud_services/google_cloud/index.md | 4 +- doc/ci/cloud_services/index.md | 12 +- doc/ci/components/index.md | 201 +++++++ .../authenticating-with-hashicorp-vault/index.md | 10 +- doc/ci/secrets/id_token_authentication.md | 36 +- doc/ci/variables/predefined_variables.md | 6 +- doc/update/deprecations.md | 588 ++++++++++++++------- doc/update/removals.md | 10 + doc/user/admin_area/settings/usage_statistics.md | 1 + .../dependency_scanning/index.md | 35 +- lib/api/resource_access_tokens.rb | 32 ++ .../templates/Terraform/Module-Base.gitlab-ci.yml | 4 +- lib/gitlab/source.rb | 2 +- locale/gitlab.pot | 20 +- package.json | 4 +- qa/qa/specs/helpers/context_selector.rb | 18 +- qa/spec/specs/helpers/context_selector_spec.rb | 14 +- qa/spec/specs/helpers/feature_flag_spec.rb | 2 +- .../profiles/preferences_controller_spec.rb | 3 +- .../clusters/cluster_health_dashboard_spec.rb | 20 + spec/features/ide_spec.rb | 11 - .../profiles/user_edit_preferences_spec.rb | 18 - .../frontend/admin/broadcast_messages/mock_data.js | 5 +- .../ci/inherited_variables_resolver_spec.rb | 40 ++ .../types/ci/inherited_ci_variable_type_spec.rb | 19 + spec/graphql/types/project_type_spec.rb | 2 +- spec/helpers/broadcast_messages_helper_spec.rb | 15 +- spec/helpers/ide_helper_spec.rb | 6 +- spec/lib/gitlab/source_spec.rb | 10 +- spec/models/ci/group_variable_spec.rb | 12 + spec/models/concerns/issuable_spec.rb | 26 +- spec/models/concerns/taskable_spec.rb | 7 +- spec/models/merge_request_spec.rb | 15 +- spec/models/namespace_setting_spec.rb | 90 ++-- spec/models/user_preference_spec.rb | 7 - spec/models/user_spec.rb | 3 - .../admin/abuse_reports_controller_spec.rb | 37 ++ .../api/graphql/ci/inherited_ci_variables_spec.rb | 108 ++++ spec/requests/api/merge_requests_spec.rb | 2 +- spec/requests/api/resource_access_tokens_spec.rb | 78 ++- spec/requests/ide_controller_spec.rb | 9 +- spec/requests/projects/metrics_dashboard_spec.rb | 12 + .../admin/abuse_report_update_service_spec.rb | 199 +++++++ spec/services/task_list_toggle_service_spec.rb | 19 +- spec/views/admin/groups/_form.html.haml_spec.rb | 42 ++ spec/views/help/index.html.haml_spec.rb | 8 +- yarn.lock | 18 +- 99 files changed, 1773 insertions(+), 544 deletions(-) create mode 100644 app/graphql/resolvers/ci/inherited_variables_resolver.rb create mode 100644 app/graphql/types/ci/inherited_ci_variable_type.rb create mode 100644 app/services/admin/abuse_report_update_service.rb create mode 100644 data/removals/16_0/16-0-job_age.yml create mode 100644 doc/ci/components/index.md create mode 100644 spec/graphql/resolvers/ci/inherited_variables_resolver_spec.rb create mode 100644 spec/graphql/types/ci/inherited_ci_variable_type_spec.rb create mode 100644 spec/requests/api/graphql/ci/inherited_ci_variables_spec.rb create mode 100644 spec/services/admin/abuse_report_update_service_spec.rb create mode 100644 spec/views/admin/groups/_form.html.haml_spec.rb diff --git a/.gitlab/ci/build-images.gitlab-ci.yml b/.gitlab/ci/build-images.gitlab-ci.yml index c1123b29d67..b866446c6e0 100644 --- a/.gitlab/ci/build-images.gitlab-ci.yml +++ b/.gitlab/ci/build-images.gitlab-ci.yml @@ -1,13 +1,13 @@ .base-image-build: extends: .use-kaniko variables: - GIT_LFS_SKIP_SMUDGE: 1 # disable pulling objects from lfs + GIT_LFS_SKIP_SMUDGE: 1 # disable pulling objects from lfs retry: 2 .base-image-build-buildx: extends: .use-buildx variables: - GIT_LFS_SKIP_SMUDGE: 1 # disable pulling objects from lfs + GIT_LFS_SKIP_SMUDGE: 1 # disable pulling objects from lfs retry: 2 # This image is used by: diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml index 23f4aef866c..4362269103b 100644 --- a/.gitlab/ci/global.gitlab-ci.yml +++ b/.gitlab/ci/global.gitlab-ci.yml @@ -437,7 +437,7 @@ docker run --rm --privileged ${QEMU_IMAGE} --uninstall qemu-*; docker run --rm --privileged ${QEMU_IMAGE} --install all; fi - - docker buildx create --use # creates and set's to active buildkit builder + - docker buildx create --use # creates and set's to active buildkit builder .use-kube-context: before_script: 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 841818d9e0f..4e240bedf3a 100644 --- a/.gitlab/ci/package-and-test-nightly/main.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test-nightly/main.gitlab-ci.yml @@ -85,5 +85,3 @@ relate-test-failures: notify-slack: extends: - .notify-slack - variables: - TYPE: "(nightly) " diff --git a/.gitlab/ci/preflight.gitlab-ci.yml b/.gitlab/ci/preflight.gitlab-ci.yml index 526492a75c7..7dee87ee715 100644 --- a/.gitlab/ci/preflight.gitlab-ci.yml +++ b/.gitlab/ci/preflight.gitlab-ci.yml @@ -31,7 +31,7 @@ rails-production-server-boot: script: - source scripts/utils.sh - bundle exec rails server -e production & - - 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://0.0.0.0: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 49695cb11af..cc0220b12c0 100644 --- a/.gitlab/ci/qa-common/main.gitlab-ci.yml +++ b/.gitlab/ci/qa-common/main.gitlab-ci.yml @@ -256,6 +256,7 @@ stages: SLACK_ICON_EMOJI: ci_failing STATUS_SYM: ☠️ STATUS: failed + TYPE: "($QA_RUN_TYPE) " when: always script: - | diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml index 97a2883c9e8..81127b7c113 100644 --- a/.gitlab/ci/qa.gitlab-ci.yml +++ b/.gitlab/ci/qa.gitlab-ci.yml @@ -26,7 +26,7 @@ GITLAB_QA_IMAGE: "${CI_REGISTRY_IMAGE}/gitlab-ee-qa:${CI_COMMIT_SHA}" RUN_WITH_BUNDLE: "true" # instructs pipeline to install and run gitlab-qa gem via bundler QA_PATH: qa # sets the optional path for bundler to run from - DYNAMIC_PIPELINE_YML: package-and-test-pipeline.yml # yml files are generated by scripts/generate-e2e-pipeline script + DYNAMIC_PIPELINE_YML: package-and-test-pipeline.yml # yml files are generated by scripts/generate-e2e-pipeline script inherit: variables: - CHROME_VERSION diff --git a/.gitlab/ci/review-apps/main.gitlab-ci.yml b/.gitlab/ci/review-apps/main.gitlab-ci.yml index aa61e67de08..28416c89f68 100644 --- a/.gitlab/ci/review-apps/main.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/main.gitlab-ci.yml @@ -110,7 +110,7 @@ review-deploy: image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}dtzar/helm-kubectl:3.9.3 needs: - review-build-cng - - review-delete-deployment # We always want to start from a clean slate (i.e. no helm release, no k8s namespace) + - review-delete-deployment # We always want to start from a clean slate (i.e. no helm release, no k8s namespace) cache: key: "review-deploy-dependencies-charts-${GITLAB_HELM_CHART_REF}-v1" paths: diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index cccf81b73a4..45a7924fb1e 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -1403,7 +1403,7 @@ allow_failure: true - <<: *if-merge-request changes: - - qa/Gemfile.lock # qa/Gemfile.lock is a part of *qa-patterns, so this rule must be placed before the one with *qa-patterns changes + - qa/Gemfile.lock # qa/Gemfile.lock is a part of *qa-patterns, so this rule must be placed before the one with *qa-patterns changes variables: UPDATE_QA_CACHE: "true" - <<: *if-merge-request @@ -1430,7 +1430,7 @@ KNAPSACK_GENERATE_REPORT: "true" UPDATE_QA_CACHE: "true" QA_SAVE_TEST_METRICS: "true" - QA_EXPORT_TEST_METRICS: "false" # on main runs, metrics are exported to separate bucket via rake task for better consistency + QA_EXPORT_TEST_METRICS: "false" # on main runs, metrics are exported to separate bucket via rake task for better consistency .qa:rules:package-and-test-ee: rules: @@ -2287,7 +2287,7 @@ variables: KNAPSACK_GENERATE_REPORT: "true" QA_SAVE_TEST_METRICS: "true" - QA_EXPORT_TEST_METRICS: "false" # on main runs, metrics are exported to separate bucket via rake task for better consistency + QA_EXPORT_TEST_METRICS: "false" # on main runs, metrics are exported to separate bucket via rake task for better consistency # The following rules needs to be the same as the one for .review:rules:start-review-app-pipeline # except that: @@ -2534,9 +2534,9 @@ - !reference [".as-if-jh-default-exclusion-rules", rules] - <<: *if-merge-request-labels-as-if-jh changes: *dependency-patterns - # Ideally, we should be able to do this: - # - <<: *if-dot-com-gitlab-org-merge-request - # changes: *feature-flag-development-config-patterns && *dependency-patterns + # Ideally, we should be able to do this: + # - <<: *if-dot-com-gitlab-org-merge-request + # changes: *feature-flag-development-config-patterns && *dependency-patterns # This rule should share the same logic with .as-if-jh:rules:prepare-as-if-jh # Because the jobs using this need jobs using the preparation rules diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml index 8e80598bc78..36e2c338748 100644 --- a/.gitlab/ci/setup.gitlab-ci.yml +++ b/.gitlab/ci/setup.gitlab-ci.yml @@ -106,7 +106,7 @@ detect-tests: variables: RSPEC_TESTS_MAPPING_ENABLED: "true" before_script: - - apt-get update && apt-get install -y curl # Not present in ruby-slim, so we add it manually + - apt-get update && apt-get install -y curl # Not present in ruby-slim, so we add it manually script: - source ./scripts/utils.sh - source ./scripts/rspec_helpers.sh diff --git a/.gitlab/ci/test-metadata.gitlab-ci.yml b/.gitlab/ci/test-metadata.gitlab-ci.yml index 20d768c9e90..41fd0b49173 100644 --- a/.gitlab/ci/test-metadata.gitlab-ci.yml +++ b/.gitlab/ci/test-metadata.gitlab-ci.yml @@ -18,7 +18,7 @@ retrieve-tests-metadata: image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION}-slim stage: prepare script: - - apt-get update && apt-get install -y curl # Not present in ruby-slim, so we add it manually + - apt-get update && apt-get install -y curl # Not present in ruby-slim, so we add it manually - install_gitlab_gem - source ./scripts/rspec_helpers.sh - retrieve_tests_metadata diff --git a/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml b/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml index 6eab87bd84c..ac23ea75eb1 100644 --- a/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml +++ b/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml @@ -42,7 +42,7 @@ include: - cd qa && bundle install --jobs=$(nproc) --retry=3 --quiet - mkdir -p $CI_PROJECT_DIR/test_output $CI_PROJECT_DIR/logs/gdk $CI_PROJECT_DIR/logs/gitlab # This command matches the permissions of the user that runs GDK inside the container. - - chown -R 1000:1000 $CI_PROJECT_DIR/test_output $CI_PROJECT_DIR/logs + - chown -R 1000:1000 $CI_PROJECT_DIR/test_output $CI_PROJECT_DIR/logs $CI_PROJECT_DIR/qa/knapsack - | docker run --rm --name gdk --add-host gdk.test:127.0.0.1 --shm-size=2gb \ --env-file <(bundle exec rake ci:env_var_name_list) \ @@ -120,4 +120,3 @@ notify-slack: - .rules:report:process-results variables: QA_RSPEC_JSON_FILE_PATTERN: $CI_PROJECT_DIR/test_output/rspec-*.json - TYPE: "(gdk) " diff --git a/app/assets/javascripts/admin/broadcast_messages/components/messages_table.vue b/app/assets/javascripts/admin/broadcast_messages/components/messages_table.vue index 2e8ecbd3a5d..c95d4c96ea9 100644 --- a/app/assets/javascripts/admin/broadcast_messages/components/messages_table.vue +++ b/app/assets/javascripts/admin/broadcast_messages/components/messages_table.vue @@ -1,5 +1,5 @@