From 78aaabb87f180e93fa53aba407a0eef1e12a7a56 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 3 Dec 2021 15:10:36 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .gitlab/CODEOWNERS | 16 ++-- .gitlab/ci/rules.gitlab-ci.yml | 2 +- Dangerfile | 20 +++- Gemfile | 2 +- Gemfile.lock | 6 +- app/assets/javascripts/ide/lib/themes/monokai.js | 2 +- .../javascripts/ide/lib/themes/solarized_dark.js | 2 +- .../javascripts/ide/lib/themes/solarized_light.js | 2 +- .../javascripts/runner/components/runner_list.vue | 11 +-- app/assets/stylesheets/utilities.scss | 7 ++ app/graphql/types/ci/job_type.rb | 14 ++- ...i_configuration__sast_create_service_create.yml | 21 +++++ ...i_configuration__sast_create_service_update.yml | 21 +++++ ...ion__secret_detection_create_service_create.yml | 21 +++++ ...ion__secret_detection_create_service_update.yml | 21 +++++ ...up_container_repositories_list_repositories.yml | 21 +++++ ...ct_container_repositories_delete_repository.yml | 21 +++++ ...__project_container_repositories_delete_tag.yml | 21 +++++ ...ject_container_repositories_delete_tag_bulk.yml | 21 +++++ ...ct_container_repositories_list_repositories.yml | 21 +++++ ...i__project_container_repositories_list_tags.yml | 21 +++++ ...02109151015_api__pypi_packages_list_package.yml | 21 +++++ ...uster_applications_cluster_application_name.yml | 21 +++++ ...vices_prometheus_disabled_manual_prometheus.yml | 21 +++++ ...rvices_prometheus_enabled_manual_prometheus.yml | 21 +++++ ...ner_registry_notification_create_repository.yml | 21 +++++ ...ner_registry_notification_delete_repository.yml | 21 +++++ ..._container_registry_notification_delete_tag.yml | 21 +++++ ...ainer_registry_notification_push_repository.yml | 21 +++++ ...15_container_registry_notification_push_tag.yml | 21 +++++ .../202109151015_delete_repository_container.yml | 21 +++++ config/events/202109151015_delete_tag_bulk_tag.yml | 21 +++++ .../202109151015_experiment_name_initial_write.yml | 21 +++++ .../events/202109151015_experiment_name_write.yml | 21 +++++ ...15_groups__email_campaigns_controller_click.yml | 21 +++++ ...__repositories_controller_list_repositories.yml | 21 +++++ ...nagement__zoom_integration_add_zoom_meeting.yml | 21 +++++ ...ement__zoom_integration_remove_zoom_meeting.yml | 21 +++++ .../202109151015_list_repositories_container.yml | 21 +++++ .../202109151015_notes__create_service_execute.yml | 21 +++++ .../202109151015_package_class_pull_package.yml | 21 +++++ .../202109151015_package_class_push_package.yml | 21 +++++ ...__repositories_controller_delete_repository.yml | 21 +++++ ...__repositories_controller_list_repositories.yml | 21 +++++ ...jects__registry__tags_controller_delete_tag.yml | 21 +++++ ...__registry__tags_controller_delete_tag_bulk.yml | 21 +++++ ...ojects__registry__tags_controller_list_tags.yml | 21 +++++ ...up_container_repositories_list_repositories.yml | 18 ---- ...ct_container_repositories_delete_repository.yml | 18 ---- ...__project_container_repositories_delete_tag.yml | 18 ---- ...ject_container_repositories_delete_tag_bulk.yml | 18 ---- ...ct_container_repositories_list_repositories.yml | 18 ---- ...i__project_container_repositories_list_tags.yml | 18 ---- config/events/api__pypi_packages_list_package.yml | 18 ---- ...uster_applications_cluster_application_name.yml | 18 ---- ...vices_prometheus_disabled_manual_prometheus.yml | 18 ---- ...rvices_prometheus_enabled_manual_prometheus.yml | 18 ---- ...ner_registry_notification_create_repository.yml | 18 ---- ...ner_registry_notification_delete_repository.yml | 18 ---- .../container_registry_notification_delete_tag.yml | 18 ---- ...ainer_registry_notification_push_repository.yml | 18 ---- .../container_registry_notification_push_tag.yml | 18 ---- config/events/delete_repository_container.yml | 18 ---- config/events/delete_tag_bulk_tag.yml | 18 ---- config/events/experiment_name_initial_write.yml | 18 ---- config/events/experiment_name_write.yml | 18 ---- .../groups__email_campaigns_controller_click.yml | 18 ---- ...__repositories_controller_list_repositories.yml | 18 ---- ...nagement__zoom_integration_add_zoom_meeting.yml | 18 ---- ...ement__zoom_integration_remove_zoom_meeting.yml | 18 ---- config/events/list_repositories_container.yml | 18 ---- config/events/notes__create_service_execute.yml | 18 ---- config/events/package_class_pull_package.yml | 18 ---- config/events/package_class_push_package.yml | 18 ---- ...__repositories_controller_delete_repository.yml | 18 ---- ...__repositories_controller_list_repositories.yml | 18 ---- ...jects__registry__tags_controller_delete_tag.yml | 18 ---- ...__registry__tags_controller_delete_tag_bulk.yml | 18 ---- ...ojects__registry__tags_controller_list_tags.yml | 18 ---- danger/ci_templates/Dangerfile | 2 +- danger/database/Dangerfile | 2 +- danger/documentation/Dangerfile | 2 +- danger/product_intelligence/Dangerfile | 2 +- danger/roulette/Dangerfile | 6 +- danger/specialization_labels/Dangerfile | 2 +- danger/specs/Dangerfile | 2 +- doc/administration/audit_events.md | 2 +- doc/administration/auth/ldap/index.md | 4 +- .../geo/replication/version_specific_updates.md | 18 ++-- doc/administration/geo/secondary_proxy/index.md | 2 +- doc/administration/instance_limits.md | 2 +- .../package_information/deprecation_policy.md | 26 ++--- doc/administration/repository_storage_types.md | 4 +- doc/api/graphql/reference/index.md | 2 +- doc/api/members.md | 6 +- doc/api/projects.md | 2 +- doc/ci/environments/protected_environments.md | 2 +- doc/ci/git_submodules.md | 2 +- doc/ci/pipelines/merge_trains.md | 2 +- doc/development/adding_database_indexes.md | 4 +- .../contributing/merge_request_workflow.md | 2 +- doc/development/fe_guide/vue.md | 2 +- doc/development/fe_guide/vue3_migration.md | 2 +- doc/development/image_scaling.md | 4 +- doc/development/service_ping/implement.md | 2 +- doc/development/service_ping/index.md | 6 +- doc/development/sidekiq_style_guide.md | 2 +- doc/development/snowplow/implementation.md | 38 ++++---- .../img/review-app-parent-pipeline.png | Bin 136842 -> 42721 bytes doc/integration/elasticsearch.md | 2 +- doc/integration/img/ding_talk_menu.png | Bin 66465 -> 22685 bytes doc/integration/img/omniauth_providers_v_14_6.png | Bin 37256 -> 12165 bytes doc/integration/jira/dvcs.md | 2 +- doc/security/webhooks.md | 2 +- doc/subscriptions/gitlab_com/index.md | 2 +- doc/topics/cron/index.md | 2 +- doc/update/deprecations.md | 2 +- doc/user/admin_area/index.md | 2 +- .../img/product_analytics_commits_per_mr_v14_4.png | Bin 135480 -> 35894 bytes .../productivity_analytics_time_to_merge_v14_4.png | Bin 96144 -> 21953 bytes .../img/productivity_analytics_trendline_v14_4.png | Bin 47250 -> 13089 bytes doc/user/analytics/index.md | 28 +++--- doc/user/analytics/productivity_analytics.md | 14 +-- doc/user/application_security/api_fuzzing/index.md | 2 +- .../application_security/dast/browser_based.md | 2 +- doc/user/application_security/dast/index.md | 2 +- doc/user/application_security/index.md | 2 +- .../img/pipeline_security_dashboard_v14_4.png | Bin 126412 -> 44152 bytes .../security_dashboard/index.md | 2 +- doc/user/clusters/agent/index.md | 2 +- doc/user/clusters/agent/install/index.md | 2 +- .../img/policies_maintainer_edit_v14_3.png | Bin 25383 -> 26480 bytes doc/user/compliance/license_compliance/index.md | 7 +- doc/user/group/devops_adoption/index.md | 16 ++-- doc/user/group/index.md | 2 +- doc/user/group/saml_sso/index.md | 6 +- doc/user/group/value_stream_analytics/index.md | 6 +- doc/user/img/award_emoji_select_v14_6.png | Bin 50200 -> 17252 bytes doc/user/profile/index.md | 2 +- .../project/integrations/img/webhook_testing.png | Bin 96374 -> 30732 bytes .../project/repository/gpg_signed_commits/index.md | 2 +- .../img/jupyter_notebook_diff_v14_5.png | Bin 249380 -> 71585 bytes locale/gitlab.pot | 3 + qa/qa/resource/deploy_token.rb | 49 ---------- qa/qa/resource/project_deploy_token.rb | 66 +++++++++++++ .../container_registry_omnibus_spec.rb | 16 ++-- .../package_registry/helm_registry_spec.rb | 2 +- .../maven_gradle_repository_spec.rb | 2 +- .../package_registry/maven_repository_spec.rb | 2 +- .../npm/npm_instance_level_spec.rb | 12 +-- .../package_registry/npm/npm_project_level_spec.rb | 12 +-- .../deploy_token/add_deploy_token_spec.rb | 6 +- .../packages_registry_shared_context.rb | 10 +- spec/factories/ci/pipelines.rb | 6 +- spec/graphql/types/ci/job_type_spec.rb | 2 +- .../namespaces/user_namespace_policy_spec.rb | 8 +- spec/requests/api/commit_statuses_spec.rb | 30 +++++- spec/requests/api/graphql/ci/jobs_spec.rb | 50 +++------- .../cross-database-modification-allowlist.yml | 2 - .../models/atomic_internal_id_shared_examples.rb | 22 ++++- spec/tooling/danger/project_helper_spec.rb | 105 +-------------------- spec/tooling/danger/specs_spec.rb | 2 +- .../shared/ssh_keys/_key_details.html.haml_spec.rb | 4 +- tooling/danger/changelog.rb | 6 +- tooling/danger/project_helper.rb | 23 +---- 165 files changed, 1117 insertions(+), 1004 deletions(-) create mode 100644 config/events/202108302307_security__ci_configuration__sast_create_service_create.yml create mode 100644 config/events/202108302307_security__ci_configuration__sast_create_service_update.yml create mode 100644 config/events/202108302307_security__ci_configuration__secret_detection_create_service_create.yml create mode 100644 config/events/202108302307_security__ci_configuration__secret_detection_create_service_update.yml create mode 100644 config/events/202109151015_api__group_container_repositories_list_repositories.yml create mode 100644 config/events/202109151015_api__project_container_repositories_delete_repository.yml create mode 100644 config/events/202109151015_api__project_container_repositories_delete_tag.yml create mode 100644 config/events/202109151015_api__project_container_repositories_delete_tag_bulk.yml create mode 100644 config/events/202109151015_api__project_container_repositories_list_repositories.yml create mode 100644 config/events/202109151015_api__project_container_repositories_list_tags.yml create mode 100644 config/events/202109151015_api__pypi_packages_list_package.yml create mode 100644 config/events/202109151015_cluster_applications_cluster_application_name.yml create mode 100644 config/events/202109151015_cluster_services_prometheus_disabled_manual_prometheus.yml create mode 100644 config/events/202109151015_cluster_services_prometheus_enabled_manual_prometheus.yml create mode 100644 config/events/202109151015_container_registry_notification_create_repository.yml create mode 100644 config/events/202109151015_container_registry_notification_delete_repository.yml create mode 100644 config/events/202109151015_container_registry_notification_delete_tag.yml create mode 100644 config/events/202109151015_container_registry_notification_push_repository.yml create mode 100644 config/events/202109151015_container_registry_notification_push_tag.yml create mode 100644 config/events/202109151015_delete_repository_container.yml create mode 100644 config/events/202109151015_delete_tag_bulk_tag.yml create mode 100644 config/events/202109151015_experiment_name_initial_write.yml create mode 100644 config/events/202109151015_experiment_name_write.yml create mode 100644 config/events/202109151015_groups__email_campaigns_controller_click.yml create mode 100644 config/events/202109151015_groups__registry__repositories_controller_list_repositories.yml create mode 100644 config/events/202109151015_incident_management__zoom_integration_add_zoom_meeting.yml create mode 100644 config/events/202109151015_incident_management__zoom_integration_remove_zoom_meeting.yml create mode 100644 config/events/202109151015_list_repositories_container.yml create mode 100644 config/events/202109151015_notes__create_service_execute.yml create mode 100644 config/events/202109151015_package_class_pull_package.yml create mode 100644 config/events/202109151015_package_class_push_package.yml create mode 100644 config/events/202109151015_projects__registry__repositories_controller_delete_repository.yml create mode 100644 config/events/202109151015_projects__registry__repositories_controller_list_repositories.yml create mode 100644 config/events/202109151015_projects__registry__tags_controller_delete_tag.yml create mode 100644 config/events/202109151015_projects__registry__tags_controller_delete_tag_bulk.yml create mode 100644 config/events/202109151015_projects__registry__tags_controller_list_tags.yml delete mode 100644 config/events/api__group_container_repositories_list_repositories.yml delete mode 100644 config/events/api__project_container_repositories_delete_repository.yml delete mode 100644 config/events/api__project_container_repositories_delete_tag.yml delete mode 100644 config/events/api__project_container_repositories_delete_tag_bulk.yml delete mode 100644 config/events/api__project_container_repositories_list_repositories.yml delete mode 100644 config/events/api__project_container_repositories_list_tags.yml delete mode 100644 config/events/api__pypi_packages_list_package.yml delete mode 100644 config/events/cluster_applications_cluster_application_name.yml delete mode 100644 config/events/cluster_services_prometheus_disabled_manual_prometheus.yml delete mode 100644 config/events/cluster_services_prometheus_enabled_manual_prometheus.yml delete mode 100644 config/events/container_registry_notification_create_repository.yml delete mode 100644 config/events/container_registry_notification_delete_repository.yml delete mode 100644 config/events/container_registry_notification_delete_tag.yml delete mode 100644 config/events/container_registry_notification_push_repository.yml delete mode 100644 config/events/container_registry_notification_push_tag.yml delete mode 100644 config/events/delete_repository_container.yml delete mode 100644 config/events/delete_tag_bulk_tag.yml delete mode 100644 config/events/experiment_name_initial_write.yml delete mode 100644 config/events/experiment_name_write.yml delete mode 100644 config/events/groups__email_campaigns_controller_click.yml delete mode 100644 config/events/groups__registry__repositories_controller_list_repositories.yml delete mode 100644 config/events/incident_management__zoom_integration_add_zoom_meeting.yml delete mode 100644 config/events/incident_management__zoom_integration_remove_zoom_meeting.yml delete mode 100644 config/events/list_repositories_container.yml delete mode 100644 config/events/notes__create_service_execute.yml delete mode 100644 config/events/package_class_pull_package.yml delete mode 100644 config/events/package_class_push_package.yml delete mode 100644 config/events/projects__registry__repositories_controller_delete_repository.yml delete mode 100644 config/events/projects__registry__repositories_controller_list_repositories.yml delete mode 100644 config/events/projects__registry__tags_controller_delete_tag.yml delete mode 100644 config/events/projects__registry__tags_controller_delete_tag_bulk.yml delete mode 100644 config/events/projects__registry__tags_controller_list_tags.yml delete mode 100644 qa/qa/resource/deploy_token.rb create mode 100644 qa/qa/resource/project_deploy_token.rb diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index ed96b185ab2..5eb96d1addd 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -11,19 +11,19 @@ /doc/.markdownlint @marcel.amirault @eread @aqualls @cnorris /doc/ @gl-docsteam /doc/.vale/ @marcel.amirault @eread @aqualls @cnorris -/doc/administration/geo/ @marcel.amirault +/doc/administration/geo/ @axil /doc/administration/gitaly/ @eread /doc/administration/lfs/ @aqualls /doc/administration/monitoring/ @ngaskill -/doc/administration/operations/ @marcel.amirault @eread @marcia +/doc/administration/operations/ @axil @eread @marcia /doc/administration/packages/ @ngaskill /doc/administration/pages/ @rdickenson @kpaizee /doc/administration/postgresql/ @marcia -/doc/administration/raketasks/ @marcel.amirault @eread -/doc/administration/redis/ @marcel.amirault -/doc/administration/reference_architectures/ @marcel.amirault +/doc/administration/raketasks/ @axil @eread +/doc/administration/redis/ @axil +/doc/administration/reference_architectures/ @axil /doc/administration/snippets/ @aqualls -/doc/administration/troubleshooting @marcel.amirault @marcia @eread +/doc/administration/troubleshooting @axil @marcia @eread /doc/api/graphql/ @msedlakjakubowski @kpaizee /doc/api/graphql/reference/ @kpaizee /doc/api/group_activity_analytics.md @fneill @@ -37,7 +37,7 @@ /doc/development/i18n/ @ngaskill /doc/development/value_stream_analytics.md @fneill /doc/gitlab-basics/ @aqualls -/doc/install/ @marcel.amirault +/doc/install/ @axil /doc/operations/ @ngaskill @rdickenson /doc/push_rules/ @aqualls /doc/security/ @eread @@ -45,7 +45,7 @@ /doc/subscriptions/ @sselhorn /doc/topics/autodevops/ @marcia /doc/topics/git/ @aqualls -/doc/update/ @marcel.amirault @marcia +/doc/update/ @axil @marcia /doc/user/analytics/ @fneill @ngaskill /doc/user/application_security/ @rdickenson /doc/user/application_security/container_scanning/ @ngaskill diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 0d6c81c9624..ec28488fe05 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -1367,7 +1367,7 @@ - <<: *if-not-ee when: never - <<: *if-merge-request-labels-skip-undercoverage - allow_failure: true + when: never - <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request changes: *backend-patterns diff --git a/Dangerfile b/Dangerfile index 212097f6a68..ca729f1b941 100644 --- a/Dangerfile +++ b/Dangerfile @@ -2,14 +2,24 @@ require 'gitlab-dangerfiles' -gitlab_dangerfiles = Gitlab::Dangerfiles::Engine.new(self) -gitlab_dangerfiles.import_plugins +def ee? + # Support former project name for `dev` and support local Danger run + %w[gitlab gitlab-ee].include?(ENV['CI_PROJECT_NAME']) || Dir.exist?(File.expand_path('ee', __dir__)) +end -return if helper.release_automation? +project_name = ee? ? 'gitlab' : 'gitlab-foss' -danger.import_plugin('danger/plugins/*.rb') +Gitlab::Dangerfiles.for_project(self, project_name) do |gitlab_dangerfiles| + gitlab_dangerfiles.import_plugins -gitlab_dangerfiles.import_dangerfiles + unless helper.release_automation? + danger.import_plugin('danger/plugins/*.rb') + gitlab_dangerfiles.import_dangerfiles(except: %w[simple_roulette]) + gitlab_dangerfiles.config.files_to_category = ProjectHelper::CATEGORIES + end +end + +return if helper.release_automation? project_helper.rule_names.each do |rule| danger.import_dangerfile(path: File.join('danger', rule)) diff --git a/Gemfile b/Gemfile index 1d379042099..38ffccf1778 100644 --- a/Gemfile +++ b/Gemfile @@ -400,7 +400,7 @@ group :development, :test do end group :development, :test, :danger do - gem 'gitlab-dangerfiles', '~> 2.5.0', require: false + gem 'gitlab-dangerfiles', '~> 2.6.1', require: false end group :development, :test, :coverage do diff --git a/Gemfile.lock b/Gemfile.lock index 8a1a1a65757..e417b8da225 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -222,7 +222,7 @@ GEM css_parser (1.7.0) addressable daemons (1.3.1) - danger (8.4.1) + danger (8.4.2) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -458,7 +458,7 @@ GEM terminal-table (~> 1.5, >= 1.5.1) gitlab-chronic (0.10.5) numerizer (~> 0.2) - gitlab-dangerfiles (2.5.0) + gitlab-dangerfiles (2.6.1) danger (>= 8.3.1) danger-gitlab (>= 8.0.0) gitlab-experiment (0.6.5) @@ -1475,7 +1475,7 @@ DEPENDENCIES gitaly (~> 14.4.0.pre.rc43) github-markup (~> 1.7.0) gitlab-chronic (~> 0.10.5) - gitlab-dangerfiles (~> 2.5.0) + gitlab-dangerfiles (~> 2.6.1) gitlab-experiment (~> 0.6.5) gitlab-fog-azure-rm (~> 1.2.0) gitlab-labkit (~> 0.21.1) diff --git a/app/assets/javascripts/ide/lib/themes/monokai.js b/app/assets/javascripts/ide/lib/themes/monokai.js index d7636574754..36fa5039be7 100644 --- a/app/assets/javascripts/ide/lib/themes/monokai.js +++ b/app/assets/javascripts/ide/lib/themes/monokai.js @@ -162,8 +162,8 @@ export default { 'editor.selectionBackground': '#49483E', 'editor.lineHighlightBackground': '#3E3D32', 'editorCursor.foreground': '#F8F8F0', - 'editorWhitespace.foreground': '#3B3A32', 'editorIndentGuide.activeBackground': '#9D550FB0', 'editor.selectionHighlightBorder': '#222218', + 'editorWhitespace.foreground': '#75715e', }, }; diff --git a/app/assets/javascripts/ide/lib/themes/solarized_dark.js b/app/assets/javascripts/ide/lib/themes/solarized_dark.js index 3c9414b9dc9..8ae609285ac 100644 --- a/app/assets/javascripts/ide/lib/themes/solarized_dark.js +++ b/app/assets/javascripts/ide/lib/themes/solarized_dark.js @@ -1105,6 +1105,6 @@ export default { 'editor.selectionBackground': '#073642', 'editor.lineHighlightBackground': '#073642', 'editorCursor.foreground': '#819090', - 'editorWhitespace.foreground': '#073642', + 'editorWhitespace.foreground': '#586e75', }, }; diff --git a/app/assets/javascripts/ide/lib/themes/solarized_light.js b/app/assets/javascripts/ide/lib/themes/solarized_light.js index b7bfcf33b0f..2c9f3d904f1 100644 --- a/app/assets/javascripts/ide/lib/themes/solarized_light.js +++ b/app/assets/javascripts/ide/lib/themes/solarized_light.js @@ -1096,6 +1096,6 @@ export default { 'editor.selectionBackground': '#EEE8D5', 'editor.lineHighlightBackground': '#EEE8D5', 'editorCursor.foreground': '#000000', - 'editorWhitespace.foreground': '#EAE3C9', + 'editorWhitespace.foreground': '#93a1a1', }, }; diff --git a/app/assets/javascripts/runner/components/runner_list.vue b/app/assets/javascripts/runner/components/runner_list.vue index bb91d1a6e1d..d70a28a2421 100644 --- a/app/assets/javascripts/runner/components/runner_list.vue +++ b/app/assets/javascripts/runner/components/runner_list.vue @@ -9,20 +9,17 @@ import RunnerSummaryCell from './cells/runner_summary_cell.vue'; import RunnerStatusCell from './cells/runner_status_cell.vue'; import RunnerTags from './runner_tags.vue'; -const tableField = ({ key, label = '', width = 10 }) => { +const tableField = ({ key, label = '', thClasses = [] }) => { return { key, label, thClass: [ - `gl-w-${width}p`, 'gl-bg-transparent!', 'gl-border-b-solid!', 'gl-border-b-gray-100!', - 'gl-py-5!', - 'gl-px-0!', 'gl-border-b-1!', + ...thClasses, ], - tdClass: ['gl-py-5!', 'gl-px-1!'], tdAttr: { 'data-testid': `td-${key}`, }, @@ -66,10 +63,10 @@ export default { }, fields: [ tableField({ key: 'status', label: s__('Runners|Status') }), - tableField({ key: 'summary', label: s__('Runners|Runner ID'), width: 30 }), + tableField({ key: 'summary', label: s__('Runners|Runner ID'), thClasses: ['gl-lg-w-25p'] }), tableField({ key: 'version', label: __('Version') }), tableField({ key: 'ipAddress', label: __('IP Address') }), - tableField({ key: 'tagList', label: __('Tags'), width: 20 }), + tableField({ key: 'tagList', label: __('Tags'), thClasses: ['gl-lg-w-25p'] }), tableField({ key: 'contactedAt', label: __('Last contact') }), tableField({ key: 'actions', label: '' }), ], diff --git a/app/assets/stylesheets/utilities.scss b/app/assets/stylesheets/utilities.scss index 65961edb833..d2cc1f8640f 100644 --- a/app/assets/stylesheets/utilities.scss +++ b/app/assets/stylesheets/utilities.scss @@ -302,3 +302,10 @@ $gl-line-height-42: px-to-rem(42px); .gl-z-index-200 { z-index: 200; } + +// Will be moved to @gitlab/ui by https://gitlab.com/gitlab-org/gitlab-ui/-/issues/1637 +.gl-lg-w-25p { + @include gl-media-breakpoint-up(lg) { + width: 25%; + } +} diff --git a/app/graphql/types/ci/job_type.rb b/app/graphql/types/ci/job_type.rb index 57ff35bcaa5..115cc611072 100644 --- a/app/graphql/types/ci/job_type.rb +++ b/app/graphql/types/ci/job_type.rb @@ -50,8 +50,8 @@ module Types null: true, description: 'How long the job was enqueued before starting.' - field :previous_stage_jobs_and_needs, Types::Ci::JobType.connection_type, null: true, - description: 'All prerequisite jobs.' + field :previous_stage_jobs_or_needs, Types::Ci::JobType.connection_type, null: true, + description: 'Jobs that must complete before the job runs. Returns needed jobs if the job uses the `needs` keyword, and returns previous stage jobs otherwise.' field :detailed_status, Types::Ci::DetailedStatusType, null: true, description: 'Detailed status of the job.' field :artifacts, Types::Ci::JobArtifactType.connection_type, null: true, @@ -103,9 +103,13 @@ module Types end end - def previous_stage_jobs_and_needs - Gitlab::Graphql::Lazy.with_value(previous_stage_jobs) do |jobs| - (jobs + object.needs).uniq(&:name) + def previous_stage_jobs_or_needs + if object.scheduling_type == 'stage' + Gitlab::Graphql::Lazy.with_value(previous_stage_jobs) do |jobs| + jobs + end + else + object.needs end end diff --git a/config/events/202108302307_security__ci_configuration__sast_create_service_create.yml b/config/events/202108302307_security__ci_configuration__sast_create_service_create.yml new file mode 100644 index 00000000000..6fb2c1878be --- /dev/null +++ b/config/events/202108302307_security__ci_configuration__sast_create_service_create.yml @@ -0,0 +1,21 @@ +description: Create SAST +category: Security::CiConfiguration::SastCreateService +action: create +label_description: One of "true", "false" +property_description: +value_description: +extra_properties: +identifiers: +product_section: sec +product_stage: secure +product_group: group::static_analysis +product_category: +milestone: "13.12" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58230 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202108302307_security__ci_configuration__sast_create_service_update.yml b/config/events/202108302307_security__ci_configuration__sast_create_service_update.yml new file mode 100644 index 00000000000..c4e65e47847 --- /dev/null +++ b/config/events/202108302307_security__ci_configuration__sast_create_service_update.yml @@ -0,0 +1,21 @@ +description: Update SAST +category: Security::CiConfiguration::SastCreateService +action: update +label_description: One of "true", "false" +property_description: +value_description: +extra_properties: +identifiers: +product_section: sec +product_stage: secure +product_group: group::static_analysis +product_category: +milestone: "13.12" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58230 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202108302307_security__ci_configuration__secret_detection_create_service_create.yml b/config/events/202108302307_security__ci_configuration__secret_detection_create_service_create.yml new file mode 100644 index 00000000000..c0c295978f1 --- /dev/null +++ b/config/events/202108302307_security__ci_configuration__secret_detection_create_service_create.yml @@ -0,0 +1,21 @@ +description: Create secret detection +category: Security::CiConfiguration::SecretDetectionCreateService +action: create +label_description: One of "true", "false" +property_description: +value_description: +extra_properties: +identifiers: +product_section: sec +product_stage: secure +product_group: group::static_analysis +product_category: +milestone: "13.12" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58230 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202108302307_security__ci_configuration__secret_detection_create_service_update.yml b/config/events/202108302307_security__ci_configuration__secret_detection_create_service_update.yml new file mode 100644 index 00000000000..d2875a8e89f --- /dev/null +++ b/config/events/202108302307_security__ci_configuration__secret_detection_create_service_update.yml @@ -0,0 +1,21 @@ +description: Update secret detection +category: Security::CiConfiguration::SecretDetectionCreateService +action: update +label_description: One of "true", "false" +property_description: +value_description: +extra_properties: +identifiers: +product_section: sec +product_stage: secure +product_group: group::static_analysis +product_category: +milestone: "13.12" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58230 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_api__group_container_repositories_list_repositories.yml b/config/events/202109151015_api__group_container_repositories_list_repositories.yml new file mode 100644 index 00000000000..e5a28374fb7 --- /dev/null +++ b/config/events/202109151015_api__group_container_repositories_list_repositories.yml @@ -0,0 +1,21 @@ +description: List group repositories +category: API::GroupContainerRepositories +action: list_repositories +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_api__project_container_repositories_delete_repository.yml b/config/events/202109151015_api__project_container_repositories_delete_repository.yml new file mode 100644 index 00000000000..2d3004e7a98 --- /dev/null +++ b/config/events/202109151015_api__project_container_repositories_delete_repository.yml @@ -0,0 +1,21 @@ +description: Delete project container repository +category: API::ProjectContainerRepositories +action: delete_repository +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_api__project_container_repositories_delete_tag.yml b/config/events/202109151015_api__project_container_repositories_delete_tag.yml new file mode 100644 index 00000000000..88da16d02a1 --- /dev/null +++ b/config/events/202109151015_api__project_container_repositories_delete_tag.yml @@ -0,0 +1,21 @@ +description: Delete project container tag +category: API::ProjectContainerRepositories +action: delete_tag +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_api__project_container_repositories_delete_tag_bulk.yml b/config/events/202109151015_api__project_container_repositories_delete_tag_bulk.yml new file mode 100644 index 00000000000..9a0f6d7f037 --- /dev/null +++ b/config/events/202109151015_api__project_container_repositories_delete_tag_bulk.yml @@ -0,0 +1,21 @@ +description: Delete project container tag in bulk +category: API::ProjectContainerRepositories +action: delete_tag_bulk +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_api__project_container_repositories_list_repositories.yml b/config/events/202109151015_api__project_container_repositories_list_repositories.yml new file mode 100644 index 00000000000..d80928f92c9 --- /dev/null +++ b/config/events/202109151015_api__project_container_repositories_list_repositories.yml @@ -0,0 +1,21 @@ +description: List project repositories +category: API::ProjectContainerRepositories +action: list_repositories +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_api__project_container_repositories_list_tags.yml b/config/events/202109151015_api__project_container_repositories_list_tags.yml new file mode 100644 index 00000000000..ccac708c0fc --- /dev/null +++ b/config/events/202109151015_api__project_container_repositories_list_tags.yml @@ -0,0 +1,21 @@ +description: List project repositories tags +category: API::ProjectContainerRepositories +action: list_tags +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_api__pypi_packages_list_package.yml b/config/events/202109151015_api__pypi_packages_list_package.yml new file mode 100644 index 00000000000..a2382523561 --- /dev/null +++ b/config/events/202109151015_api__pypi_packages_list_package.yml @@ -0,0 +1,21 @@ +description: List PyPI packages +category: API::PypiPackages +action: list_package +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_cluster_applications_cluster_application_name.yml b/config/events/202109151015_cluster_applications_cluster_application_name.yml new file mode 100644 index 00000000000..bc0196c776d --- /dev/null +++ b/config/events/202109151015_cluster_applications_cluster_application_name.yml @@ -0,0 +1,21 @@ +description: Install cluster application +category: cluster:applications +action: cluster application name +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: monitor +product_group: group::monitor +product_category: +milestone: "12.7" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23000 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_cluster_services_prometheus_disabled_manual_prometheus.yml b/config/events/202109151015_cluster_services_prometheus_disabled_manual_prometheus.yml new file mode 100644 index 00000000000..c98ac8323d4 --- /dev/null +++ b/config/events/202109151015_cluster_services_prometheus_disabled_manual_prometheus.yml @@ -0,0 +1,21 @@ +description: Disable manual prometheus +category: cluster:services:prometheus +action: disabled_manual_prometheus +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: dev +product_stage: ecosystem +product_group: group::integrations +product_category: +milestone: "14.0" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62645 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_cluster_services_prometheus_enabled_manual_prometheus.yml b/config/events/202109151015_cluster_services_prometheus_enabled_manual_prometheus.yml new file mode 100644 index 00000000000..c453b2f035c --- /dev/null +++ b/config/events/202109151015_cluster_services_prometheus_enabled_manual_prometheus.yml @@ -0,0 +1,21 @@ +description: Enable manual prometheus +category: cluster:services:prometheus +action: enabled_manual_prometheus +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: dev +product_stage: ecosystem +product_group: group::integrations +product_category: +milestone: "14.0" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62645 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_container_registry_notification_create_repository.yml b/config/events/202109151015_container_registry_notification_create_repository.yml new file mode 100644 index 00000000000..f2063748eca --- /dev/null +++ b/config/events/202109151015_container_registry_notification_create_repository.yml @@ -0,0 +1,21 @@ +description: Create repository container registry notification +category: container_registry:notification +action: create_repository +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "12.10" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27001 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_container_registry_notification_delete_repository.yml b/config/events/202109151015_container_registry_notification_delete_repository.yml new file mode 100644 index 00000000000..f366a101f81 --- /dev/null +++ b/config/events/202109151015_container_registry_notification_delete_repository.yml @@ -0,0 +1,21 @@ +description: Delete repository container registry notification +category: container_registry:notification +action: delete_repository +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "12.10" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27001 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_container_registry_notification_delete_tag.yml b/config/events/202109151015_container_registry_notification_delete_tag.yml new file mode 100644 index 00000000000..c322972ab50 --- /dev/null +++ b/config/events/202109151015_container_registry_notification_delete_tag.yml @@ -0,0 +1,21 @@ +description: Delete tag container registry notification +category: container_registry:notification +action: delete_tag +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "12.10" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27001 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_container_registry_notification_push_repository.yml b/config/events/202109151015_container_registry_notification_push_repository.yml new file mode 100644 index 00000000000..7bdb2b157f2 --- /dev/null +++ b/config/events/202109151015_container_registry_notification_push_repository.yml @@ -0,0 +1,21 @@ +description: Push repository container registry notification +category: container_registry:notification +action: push_repository +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "12.10" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27001 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_container_registry_notification_push_tag.yml b/config/events/202109151015_container_registry_notification_push_tag.yml new file mode 100644 index 00000000000..d250e8b2022 --- /dev/null +++ b/config/events/202109151015_container_registry_notification_push_tag.yml @@ -0,0 +1,21 @@ +description: Push tag container registry notification +category: container_registry:notification +action: push_tag +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "12.10" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27001 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_delete_repository_container.yml b/config/events/202109151015_delete_repository_container.yml new file mode 100644 index 00000000000..162f92ccffd --- /dev/null +++ b/config/events/202109151015_delete_repository_container.yml @@ -0,0 +1,21 @@ +description: Delete repository +category: delete_repository +action: container +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.6" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47175 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_delete_tag_bulk_tag.yml b/config/events/202109151015_delete_tag_bulk_tag.yml new file mode 100644 index 00000000000..2757cb48c0c --- /dev/null +++ b/config/events/202109151015_delete_tag_bulk_tag.yml @@ -0,0 +1,21 @@ +description: Delete container repository tags in bulk +category: delete_tag_bulk +action: tag +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.7" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48617 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_experiment_name_initial_write.yml b/config/events/202109151015_experiment_name_initial_write.yml new file mode 100644 index 00000000000..94f685af02a --- /dev/null +++ b/config/events/202109151015_experiment_name_initial_write.yml @@ -0,0 +1,21 @@ +description: First commit on empty repo experiment +category: experiment name +action: initial_write +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: growth +product_stage: growth +product_group: group::adoption +product_category: +milestone: "13.12" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/59713 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_experiment_name_write.yml b/config/events/202109151015_experiment_name_write.yml new file mode 100644 index 00000000000..d4645ecc6ae --- /dev/null +++ b/config/events/202109151015_experiment_name_write.yml @@ -0,0 +1,21 @@ +description: First commits on new project README experiment +category: experiment name +action: write +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: growth +product_stage: growth +product_group: group::adoption +product_category: +milestone: "13.12" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/59713 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_groups__email_campaigns_controller_click.yml b/config/events/202109151015_groups__email_campaigns_controller_click.yml new file mode 100644 index 00000000000..e758abcce28 --- /dev/null +++ b/config/events/202109151015_groups__email_campaigns_controller_click.yml @@ -0,0 +1,21 @@ +description: Marketing email campaigns +category: Groups::EmailCampaignsController +action: click +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: growth +product_stage: growth +product_group: group::activation +product_category: +milestone: "13.11" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56015 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_groups__registry__repositories_controller_list_repositories.yml b/config/events/202109151015_groups__registry__repositories_controller_list_repositories.yml new file mode 100644 index 00000000000..23c58662b61 --- /dev/null +++ b/config/events/202109151015_groups__registry__repositories_controller_list_repositories.yml @@ -0,0 +1,21 @@ +description: List group repositories +category: Groups::Registry::RepositoriesController +action: list_repositories +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_incident_management__zoom_integration_add_zoom_meeting.yml b/config/events/202109151015_incident_management__zoom_integration_add_zoom_meeting.yml new file mode 100644 index 00000000000..6b77ec83275 --- /dev/null +++ b/config/events/202109151015_incident_management__zoom_integration_add_zoom_meeting.yml @@ -0,0 +1,21 @@ +description: Add Zoom meeting +category: IncidentManagement::ZoomIntegration +action: add_zoom_meeting +label_description: The string "Issue ID" +property_description: +value_description: ID of the issue +extra_properties: +identifiers: +product_section: ops +product_stage: monitor +product_group: group::monitor +product_category: +milestone: "12.4" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18620 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_incident_management__zoom_integration_remove_zoom_meeting.yml b/config/events/202109151015_incident_management__zoom_integration_remove_zoom_meeting.yml new file mode 100644 index 00000000000..edf8e7feacd --- /dev/null +++ b/config/events/202109151015_incident_management__zoom_integration_remove_zoom_meeting.yml @@ -0,0 +1,21 @@ +description: Remove Zoom meeting +category: IncidentManagement::ZoomIntegration +action: remove_zoom_meeting +label_description: The string "Issue ID" +property_description: +value_description: ID of the issue +extra_properties: +identifiers: +product_section: ops +product_stage: monitor +product_group: group::monitor +product_category: +milestone: "12.4" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18620 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_list_repositories_container.yml b/config/events/202109151015_list_repositories_container.yml new file mode 100644 index 00000000000..c17cee5378a --- /dev/null +++ b/config/events/202109151015_list_repositories_container.yml @@ -0,0 +1,21 @@ +description: List container repositories +category: list_repositories +action: container +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.6" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44926 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_notes__create_service_execute.yml b/config/events/202109151015_notes__create_service_execute.yml new file mode 100644 index 00000000000..e42e9856cd5 --- /dev/null +++ b/config/events/202109151015_notes__create_service_execute.yml @@ -0,0 +1,21 @@ +description: Create note +category: Notes::CreateService +action: execute +label_description: One of "anonymous_visual_review_note", "note" +property_description: +value_description: ID of the note +extra_properties: +identifiers: +product_section: ops +product_stage: verify +product_group: group::testing +product_category: +milestone: "12.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18890 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_package_class_pull_package.yml b/config/events/202109151015_package_class_pull_package.yml new file mode 100644 index 00000000000..c4f5ea53f71 --- /dev/null +++ b/config/events/202109151015_package_class_pull_package.yml @@ -0,0 +1,21 @@ +description: Get package +category: package class +action: pull_package +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_package_class_push_package.yml b/config/events/202109151015_package_class_push_package.yml new file mode 100644 index 00000000000..566ee6a9c8f --- /dev/null +++ b/config/events/202109151015_package_class_push_package.yml @@ -0,0 +1,21 @@ +description: Package registered +category: package class +action: push_package +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_projects__registry__repositories_controller_delete_repository.yml b/config/events/202109151015_projects__registry__repositories_controller_delete_repository.yml new file mode 100644 index 00000000000..ea27e7d6ae5 --- /dev/null +++ b/config/events/202109151015_projects__registry__repositories_controller_delete_repository.yml @@ -0,0 +1,21 @@ +description: Delete project repository +category: Projects::Registry::RepositoriesController +action: delete_repository +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_projects__registry__repositories_controller_list_repositories.yml b/config/events/202109151015_projects__registry__repositories_controller_list_repositories.yml new file mode 100644 index 00000000000..6d587cc6a9e --- /dev/null +++ b/config/events/202109151015_projects__registry__repositories_controller_list_repositories.yml @@ -0,0 +1,21 @@ +description: List project repositories +category: Projects::Registry::RepositoriesController +action: list_repositories +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_projects__registry__tags_controller_delete_tag.yml b/config/events/202109151015_projects__registry__tags_controller_delete_tag.yml new file mode 100644 index 00000000000..d2c27320054 --- /dev/null +++ b/config/events/202109151015_projects__registry__tags_controller_delete_tag.yml @@ -0,0 +1,21 @@ +description: Delete project tag +category: Projects::Registry::TagsController +action: delete_tag +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_projects__registry__tags_controller_delete_tag_bulk.yml b/config/events/202109151015_projects__registry__tags_controller_delete_tag_bulk.yml new file mode 100644 index 00000000000..7b1c7199843 --- /dev/null +++ b/config/events/202109151015_projects__registry__tags_controller_delete_tag_bulk.yml @@ -0,0 +1,21 @@ +description: Delete project tag in bulk +category: Projects::Registry::TagsController +action: delete_tag_bulk +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/202109151015_projects__registry__tags_controller_list_tags.yml b/config/events/202109151015_projects__registry__tags_controller_list_tags.yml new file mode 100644 index 00000000000..b8e18922ffb --- /dev/null +++ b/config/events/202109151015_projects__registry__tags_controller_list_tags.yml @@ -0,0 +1,21 @@ +description: List project registry tags +category: Projects::Registry::TagsController +action: list_tags +label_description: +property_description: +value_description: +extra_properties: +identifiers: +product_section: ops +product_stage: package +product_group: group::package +product_category: +milestone: "13.5" +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 +distributions: +- ce +- ee +tiers: +- free +- premium +- ultimate diff --git a/config/events/api__group_container_repositories_list_repositories.yml b/config/events/api__group_container_repositories_list_repositories.yml deleted file mode 100644 index 4df063ec758..00000000000 --- a/config/events/api__group_container_repositories_list_repositories.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: List group repositories -category: API::GroupContainerRepositories -action: list_repositories -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/api__project_container_repositories_delete_repository.yml b/config/events/api__project_container_repositories_delete_repository.yml deleted file mode 100644 index 196f7273a5c..00000000000 --- a/config/events/api__project_container_repositories_delete_repository.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Delete project container repository -category: API::ProjectContainerRepositories -action: delete_repository -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/api__project_container_repositories_delete_tag.yml b/config/events/api__project_container_repositories_delete_tag.yml deleted file mode 100644 index cb2c7748faa..00000000000 --- a/config/events/api__project_container_repositories_delete_tag.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Delete project container tag -category: API::ProjectContainerRepositories -action: delete_tag -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/api__project_container_repositories_delete_tag_bulk.yml b/config/events/api__project_container_repositories_delete_tag_bulk.yml deleted file mode 100644 index e36f835308b..00000000000 --- a/config/events/api__project_container_repositories_delete_tag_bulk.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Delete project container tag in bulk -category: API::ProjectContainerRepositories -action: delete_tag_bulk -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/api__project_container_repositories_list_repositories.yml b/config/events/api__project_container_repositories_list_repositories.yml deleted file mode 100644 index 9c8063891af..00000000000 --- a/config/events/api__project_container_repositories_list_repositories.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: List project repositories -category: API::ProjectContainerRepositories -action: list_repositories -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/api__project_container_repositories_list_tags.yml b/config/events/api__project_container_repositories_list_tags.yml deleted file mode 100644 index 5e269e2d69e..00000000000 --- a/config/events/api__project_container_repositories_list_tags.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: List project repositories tags -category: API::ProjectContainerRepositories -action: list_tags -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/api__pypi_packages_list_package.yml b/config/events/api__pypi_packages_list_package.yml deleted file mode 100644 index adb9d91bcee..00000000000 --- a/config/events/api__pypi_packages_list_package.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: List PyPI packages -category: API::PypiPackages -action: list_package -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/cluster_applications_cluster_application_name.yml b/config/events/cluster_applications_cluster_application_name.yml deleted file mode 100644 index e993c7ce9f5..00000000000 --- a/config/events/cluster_applications_cluster_application_name.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Install cluster application -category: cluster:applications -action: cluster application name -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: monitor -product_group: monitor -product_category: -milestone: "12.7" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23000 -distributions: -- ce -tiers: -- free diff --git a/config/events/cluster_services_prometheus_disabled_manual_prometheus.yml b/config/events/cluster_services_prometheus_disabled_manual_prometheus.yml deleted file mode 100644 index 805929b01b6..00000000000 --- a/config/events/cluster_services_prometheus_disabled_manual_prometheus.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Disable manual prometheus -category: cluster:services:prometheus -action: disabled_manual_prometheus -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: dev -product_stage: ecosystem -product_group: group::integrations -product_category: -milestone: "14.0" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62645 -distributions: -- ce -tiers: -- free diff --git a/config/events/cluster_services_prometheus_enabled_manual_prometheus.yml b/config/events/cluster_services_prometheus_enabled_manual_prometheus.yml deleted file mode 100644 index d9377a07cf2..00000000000 --- a/config/events/cluster_services_prometheus_enabled_manual_prometheus.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Enable manual prometheus -category: cluster:services:prometheus -action: enabled_manual_prometheus -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: dev -product_stage: ecosystem -product_group: group::integrations -product_category: -milestone: "14.0" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62645 -distributions: -- ce -tiers: -- free diff --git a/config/events/container_registry_notification_create_repository.yml b/config/events/container_registry_notification_create_repository.yml deleted file mode 100644 index fa455140468..00000000000 --- a/config/events/container_registry_notification_create_repository.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Create repository container registry notification -category: container_registry:notification -action: create_repository -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "12.10" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27001 -distributions: -- ce -tiers: -- free diff --git a/config/events/container_registry_notification_delete_repository.yml b/config/events/container_registry_notification_delete_repository.yml deleted file mode 100644 index ceb7c5e4155..00000000000 --- a/config/events/container_registry_notification_delete_repository.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Delete repository container registry notification -category: container_registry:notification -action: delete_repository -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "12.10" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27001 -distributions: -- ce -tiers: -- free diff --git a/config/events/container_registry_notification_delete_tag.yml b/config/events/container_registry_notification_delete_tag.yml deleted file mode 100644 index 8e33c901e0e..00000000000 --- a/config/events/container_registry_notification_delete_tag.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Delete tag container registry notification -category: container_registry:notification -action: delete_tag -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "12.10" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27001 -distributions: -- ce -tiers: -- free diff --git a/config/events/container_registry_notification_push_repository.yml b/config/events/container_registry_notification_push_repository.yml deleted file mode 100644 index 10edf3ceafd..00000000000 --- a/config/events/container_registry_notification_push_repository.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Push repository container registry notification -category: container_registry:notification -action: push_repository -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "12.10" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27001 -distributions: -- ce -tiers: -- free diff --git a/config/events/container_registry_notification_push_tag.yml b/config/events/container_registry_notification_push_tag.yml deleted file mode 100644 index 9679dd4e52f..00000000000 --- a/config/events/container_registry_notification_push_tag.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Push tag container registry notification -category: container_registry:notification -action: push_tag -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "12.10" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27001 -distributions: -- ce -tiers: -- free diff --git a/config/events/delete_repository_container.yml b/config/events/delete_repository_container.yml deleted file mode 100644 index 491cf9a7e4a..00000000000 --- a/config/events/delete_repository_container.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Delete repository -category: delete_repository -action: container -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.6" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47175 -distributions: -- ce -tiers: -- free diff --git a/config/events/delete_tag_bulk_tag.yml b/config/events/delete_tag_bulk_tag.yml deleted file mode 100644 index feaca98bd38..00000000000 --- a/config/events/delete_tag_bulk_tag.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Delete container repository tags in bulk -category: delete_tag_bulk -action: tag -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.7" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48617 -distributions: -- ce -tiers: -- free diff --git a/config/events/experiment_name_initial_write.yml b/config/events/experiment_name_initial_write.yml deleted file mode 100644 index f2233f7dabb..00000000000 --- a/config/events/experiment_name_initial_write.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: First commit on empty repo experiment -category: experiment name -action: initial_write -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: growth -product_stage: growth -product_group: adoption -product_category: -milestone: "13.12" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/59713 -distributions: -- ce -tiers: -- free diff --git a/config/events/experiment_name_write.yml b/config/events/experiment_name_write.yml deleted file mode 100644 index 82b5d18bd91..00000000000 --- a/config/events/experiment_name_write.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: First commits on new project README experiment -category: experiment name -action: write -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: growth -product_stage: growth -product_group: adoption -product_category: -milestone: "13.12" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/59713 -distributions: -- ce -tiers: -- free diff --git a/config/events/groups__email_campaigns_controller_click.yml b/config/events/groups__email_campaigns_controller_click.yml deleted file mode 100644 index bbc2abb8707..00000000000 --- a/config/events/groups__email_campaigns_controller_click.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Marketing email campaigns -category: Groups::EmailCampaignsController -action: click -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: growth -product_stage: growth -product_group: activation -product_category: -milestone: "13.11" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56015 -distributions: -- ce -tiers: -- free diff --git a/config/events/groups__registry__repositories_controller_list_repositories.yml b/config/events/groups__registry__repositories_controller_list_repositories.yml deleted file mode 100644 index 1fafbf75103..00000000000 --- a/config/events/groups__registry__repositories_controller_list_repositories.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: List group repositories -category: Groups::Registry::RepositoriesController -action: list_repositories -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/incident_management__zoom_integration_add_zoom_meeting.yml b/config/events/incident_management__zoom_integration_add_zoom_meeting.yml deleted file mode 100644 index 7b9331d3244..00000000000 --- a/config/events/incident_management__zoom_integration_add_zoom_meeting.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Add Zoom meeting -category: IncidentManagement::ZoomIntegration -action: add_zoom_meeting -label_description: The string "Issue ID" -property_description: -value_description: ID of the issue -extra_properties: -identifiers: -product_section: ops -product_stage: monitor -product_group: monitor -product_category: -milestone: "12.4" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18620 -distributions: -- ce -tiers: -- free diff --git a/config/events/incident_management__zoom_integration_remove_zoom_meeting.yml b/config/events/incident_management__zoom_integration_remove_zoom_meeting.yml deleted file mode 100644 index 5abc1b8bbc7..00000000000 --- a/config/events/incident_management__zoom_integration_remove_zoom_meeting.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Remove Zoom meeting -category: IncidentManagement::ZoomIntegration -action: remove_zoom_meeting -label_description: The string "Issue ID" -property_description: -value_description: ID of the issue -extra_properties: -identifiers: -product_section: ops -product_stage: monitor -product_group: monitor -product_category: -milestone: "12.4" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18620 -distributions: -- ce -tiers: -- free diff --git a/config/events/list_repositories_container.yml b/config/events/list_repositories_container.yml deleted file mode 100644 index ec3775cb9f8..00000000000 --- a/config/events/list_repositories_container.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: List container repositories -category: list_repositories -action: container -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.6" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44926 -distributions: -- ce -tiers: -- free diff --git a/config/events/notes__create_service_execute.yml b/config/events/notes__create_service_execute.yml deleted file mode 100644 index 39c24f05551..00000000000 --- a/config/events/notes__create_service_execute.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Create note -category: Notes::CreateService -action: execute -label_description: One of "anonymous_visual_review_note", "note" -property_description: -value_description: ID of the note -extra_properties: -identifiers: -product_section: ops -product_stage: verify -product_group: testing -product_category: -milestone: "12.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18890 -distributions: -- ce -tiers: -- free diff --git a/config/events/package_class_pull_package.yml b/config/events/package_class_pull_package.yml deleted file mode 100644 index 2a35ce0dd3a..00000000000 --- a/config/events/package_class_pull_package.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Get package -category: package class -action: pull_package -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/package_class_push_package.yml b/config/events/package_class_push_package.yml deleted file mode 100644 index 26945c7cb9e..00000000000 --- a/config/events/package_class_push_package.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Package registered -category: package class -action: push_package -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/projects__registry__repositories_controller_delete_repository.yml b/config/events/projects__registry__repositories_controller_delete_repository.yml deleted file mode 100644 index 44c769a03a0..00000000000 --- a/config/events/projects__registry__repositories_controller_delete_repository.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Delete project repository -category: Projects::Registry::RepositoriesController -action: delete_repository -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/projects__registry__repositories_controller_list_repositories.yml b/config/events/projects__registry__repositories_controller_list_repositories.yml deleted file mode 100644 index 6dc67091a9a..00000000000 --- a/config/events/projects__registry__repositories_controller_list_repositories.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: List project repositories -category: Projects::Registry::RepositoriesController -action: list_repositories -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/projects__registry__tags_controller_delete_tag.yml b/config/events/projects__registry__tags_controller_delete_tag.yml deleted file mode 100644 index 73bee5f7318..00000000000 --- a/config/events/projects__registry__tags_controller_delete_tag.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Delete project tag -category: Projects::Registry::TagsController -action: delete_tag -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/projects__registry__tags_controller_delete_tag_bulk.yml b/config/events/projects__registry__tags_controller_delete_tag_bulk.yml deleted file mode 100644 index 715e3549ed3..00000000000 --- a/config/events/projects__registry__tags_controller_delete_tag_bulk.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: Delete project tag in bulk -category: Projects::Registry::TagsController -action: delete_tag_bulk -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/config/events/projects__registry__tags_controller_list_tags.yml b/config/events/projects__registry__tags_controller_list_tags.yml deleted file mode 100644 index 5b655ee6c39..00000000000 --- a/config/events/projects__registry__tags_controller_list_tags.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: List project registry tags -category: Projects::Registry::TagsController -action: list_tags -label_description: -property_description: -value_description: -extra_properties: -identifiers: -product_section: ops -product_stage: package -product_group: package -product_category: -milestone: "13.5" -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41846 -distributions: -- ce -tiers: -- free diff --git a/danger/ci_templates/Dangerfile b/danger/ci_templates/Dangerfile index fcd9080e7d1..3d57436ef94 100644 --- a/danger/ci_templates/Dangerfile +++ b/danger/ci_templates/Dangerfile @@ -17,7 +17,7 @@ MSG return unless helper.ci? -template_paths_to_review = project_helper.changes_by_category[:ci_template] +template_paths_to_review = helper.changes_by_category[:ci_template] if gitlab.mr_labels.include?('ci::templates') || template_paths_to_review.any? message 'This merge request adds or changes files that require a ' \ diff --git a/danger/database/Dangerfile b/danger/database/Dangerfile index 70adbb4c139..b4e06c21fe4 100644 --- a/danger/database/Dangerfile +++ b/danger/database/Dangerfile @@ -51,7 +51,7 @@ end return unless helper.ci? return if gitlab.mr_labels.include?(DATABASE_APPROVED_LABEL) -db_paths_to_review = project_helper.changes_by_category[:database] +db_paths_to_review = helper.changes_by_category[:database] if gitlab.mr_labels.include?('database') || db_paths_to_review.any? message 'This merge request adds or changes files that require a ' \ diff --git a/danger/documentation/Dangerfile b/danger/documentation/Dangerfile index 01ef5dbb49e..918c787075e 100644 --- a/danger/documentation/Dangerfile +++ b/danger/documentation/Dangerfile @@ -13,7 +13,7 @@ For more information, see: - The [definition of done](https://docs.gitlab.com/ee/development/contributing/merge_request_workflow.html#definition-of-done) documentation. MSG -docs_paths_to_review = project_helper.changes_by_category[:docs] +docs_paths_to_review = helper.changes_by_category[:docs] # Documentation should be updated for feature::addition and feature::enhancement if docs_paths_to_review.empty? diff --git a/danger/product_intelligence/Dangerfile b/danger/product_intelligence/Dangerfile index eedb9b89d22..1c0c918dbfc 100644 --- a/danger/product_intelligence/Dangerfile +++ b/danger/product_intelligence/Dangerfile @@ -12,7 +12,7 @@ For MR review guidelines, see the [Service Ping review guidelines](https://docs. MSG # exit if not matching files or if no product intelligence labels -product_intelligence_paths_to_review = project_helper.changes_by_category[:product_intelligence] +product_intelligence_paths_to_review = helper.changes_by_category[:product_intelligence] labels_to_add = product_intelligence.missing_labels return if product_intelligence_paths_to_review.empty? || labels_to_add.empty? diff --git a/danger/roulette/Dangerfile b/danger/roulette/Dangerfile index 6b0c196dc5d..cdea635e808 100644 --- a/danger/roulette/Dangerfile +++ b/danger/roulette/Dangerfile @@ -89,7 +89,7 @@ def markdown_row_for_spins(category, spins_array) "| #{helper.label_for_category(category)} | #{reviewer_note} | #{maintainer_note} |" end -changes = project_helper.changes_by_category +changes = helper.changes_by_category # Ignore any files that are known but uncategorized. Prompt for any unknown files changes.delete(:none) @@ -114,9 +114,7 @@ categories << :product_intelligence if helper.mr_labels.include?("product intell categories.delete(:product_intelligence) unless helper.mr_labels.include?("growth experiment") if changes.any? - project = project_helper.project_name - - random_roulette_spins = roulette.spin(project, categories, timezone_experiment: false) + random_roulette_spins = roulette.spin(nil, categories, timezone_experiment: false) rows = random_roulette_spins.map do |spin| markdown_row_for_spins(spin.category, [spin]) diff --git a/danger/specialization_labels/Dangerfile b/danger/specialization_labels/Dangerfile index 24a759cddc8..cb4c8c96f4f 100644 --- a/danger/specialization_labels/Dangerfile +++ b/danger/specialization_labels/Dangerfile @@ -14,7 +14,7 @@ SPECIALIZATIONS = { feature_flag: 'feature flag' }.freeze -labels_to_add = project_helper.changes_by_category.each_with_object([]) do |(category, _changes), memo| +labels_to_add = helper.changes_by_category.each_with_object([]) do |(category, _changes), memo| label = SPECIALIZATIONS[category] next unless label next if gitlab.mr_labels.include?(label) diff --git a/danger/specs/Dangerfile b/danger/specs/Dangerfile index 067fb62807a..c4f609f5806 100644 --- a/danger/specs/Dangerfile +++ b/danger/specs/Dangerfile @@ -50,7 +50,7 @@ if has_ee_app_changes && has_spec_changes && !(has_app_changes || has_ee_spec_ch end # Forbidding a new file addition under `/spec/controllers` or `/ee/spec/controllers` -if project_helper.changes.added.files.grep(%r{^(ee/)?spec/controllers/}).any? +if helper.changes.added.files.grep(%r{^(ee/)?spec/controllers/}).any? warn CONTROLLER_SPEC_DEPRECATION_MESSAGE end diff --git a/doc/administration/audit_events.md b/doc/administration/audit_events.md index 11790e3a58e..7c597bd5f0f 100644 --- a/doc/administration/audit_events.md +++ b/doc/administration/audit_events.md @@ -208,7 +208,7 @@ Events visible in Audit Events views until more events are logged. ### "Deleted User" events -Audit events can be created for a user after the user is deleted. The user name associated with the event is set to +Audit events can be created for a user after the user is deleted. The user name associated with the event is set to "Deleted User" because the actual user name is unknowable. For example, if a deleted user's access to a project is removed automatically due to expiration, the audit event is created for "Deleted User". We are [investigating](https://gitlab.com/gitlab-org/gitlab/-/issues/343933) whether this is avoidable. diff --git a/doc/administration/auth/ldap/index.md b/doc/administration/auth/ldap/index.md index d2a783972dc..f551c362784 100644 --- a/doc/administration/auth/ldap/index.md +++ b/doc/administration/auth/ldap/index.md @@ -23,7 +23,7 @@ Users added through LDAP: - Take a [licensed seat](../../../subscriptions/self_managed/index.md#billable-users). - Can authenticate with Git using either their GitLab username or their email and LDAP password, - even if password authentication for Git + even if password authentication for Git [is disabled](../../../user/admin_area/settings/sign_in_restrictions.md#password-authentication-enabled). The LDAP DN is associated with existing GitLab users when: @@ -41,7 +41,7 @@ If an existing GitLab user wants to enable LDAP sign-in for themselves, they sho GitLab has multiple mechanisms to verify a user is still active in LDAP. If the user is no longer active in LDAP, they are placed in an `ldap_blocked` status and are signed out. They are unable to sign in using any authentication provider until they are -reactivated in LDAP. +reactivated in LDAP. Users are considered inactive in LDAP when they: diff --git a/doc/administration/geo/replication/version_specific_updates.md b/doc/administration/geo/replication/version_specific_updates.md index 1b22a5f0991..c65cbb0b3ad 100644 --- a/doc/administration/geo/replication/version_specific_updates.md +++ b/doc/administration/geo/replication/version_specific_updates.md @@ -50,7 +50,7 @@ If you are running a version prior to 14.1 and are using Geo and multi-arch cont ### Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode -GitLab 13.9 through GitLab 14.3 are affected by a bug in which enabling [GitLab Maintenance Mode](../../maintenance_mode/index.md) will cause Geo secondary site statuses to appear to stop updating and become unhealthy. For more information, see [Troubleshooting - Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode](troubleshooting.md#geo-admin-area-shows-unhealthy-after-enabling-maintenance-mode). +GitLab 13.9 through GitLab 14.3 are affected by a bug in which enabling [GitLab Maintenance Mode](../../maintenance_mode/index.md) causes Geo secondary site statuses to appear to stop updating and become unhealthy. For more information, see [Troubleshooting - Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode](troubleshooting.md#geo-admin-area-shows-unhealthy-after-enabling-maintenance-mode). ## Updating to GitLab 14.0/14.1 @@ -64,7 +64,7 @@ If you are running an affected version and need to remove your Primary site, you ### Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode -GitLab 13.9 through GitLab 14.3 are affected by a bug in which enabling [GitLab Maintenance Mode](../../maintenance_mode/index.md) will cause Geo secondary site statuses to appear to stop updating and become unhealthy. For more information, see [Troubleshooting - Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode](troubleshooting.md#geo-admin-area-shows-unhealthy-after-enabling-maintenance-mode). +GitLab 13.9 through GitLab 14.3 are affected by a bug in which enabling [GitLab Maintenance Mode](../../maintenance_mode/index.md) causes Geo secondary site statuses to appear to stop updating and become unhealthy. For more information, see [Troubleshooting - Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode](troubleshooting.md#geo-admin-area-shows-unhealthy-after-enabling-maintenance-mode). ## Updating to GitLab 13.12 @@ -90,7 +90,7 @@ Geo::LfsObjectRegistry.where(state: 0, success: true).update_all(state: 2) ### Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode -GitLab 13.9 through GitLab 14.3 are affected by a bug in which enabling [GitLab Maintenance Mode](../../maintenance_mode/index.md) will cause Geo secondary site statuses to appear to stop updating and become unhealthy. For more information, see [Troubleshooting - Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode](troubleshooting.md#geo-admin-area-shows-unhealthy-after-enabling-maintenance-mode). +GitLab 13.9 through GitLab 14.3 are affected by a bug in which enabling [GitLab Maintenance Mode](../../maintenance_mode/index.md) causes Geo secondary site statuses to appear to stop updating and become unhealthy. For more information, see [Troubleshooting - Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode](troubleshooting.md#geo-admin-area-shows-unhealthy-after-enabling-maintenance-mode). ## Updating to GitLab 13.11 @@ -98,20 +98,20 @@ We found an [issue with Git clone/pull through HTTP(s)](https://gitlab.com/gitla ### Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode -GitLab 13.9 through GitLab 14.3 are affected by a bug in which enabling [GitLab Maintenance Mode](../../maintenance_mode/index.md) will cause Geo secondary site statuses to appear to stop updating and become unhealthy. For more information, see [Troubleshooting - Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode](troubleshooting.md#geo-admin-area-shows-unhealthy-after-enabling-maintenance-mode). +GitLab 13.9 through GitLab 14.3 are affected by a bug in which enabling [GitLab Maintenance Mode](../../maintenance_mode/index.md) causes Geo secondary site statuses to appear to stop updating and become unhealthy. For more information, see [Troubleshooting - Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode](troubleshooting.md#geo-admin-area-shows-unhealthy-after-enabling-maintenance-mode). ## Updating to GitLab 13.10 ### Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode -GitLab 13.9 through GitLab 14.3 are affected by a bug in which enabling [GitLab Maintenance Mode](../../maintenance_mode/index.md) will cause Geo secondary site statuses to appear to stop updating and become unhealthy. For more information, see [Troubleshooting - Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode](troubleshooting.md#geo-admin-area-shows-unhealthy-after-enabling-maintenance-mode). +GitLab 13.9 through GitLab 14.3 are affected by a bug in which enabling [GitLab Maintenance Mode](../../maintenance_mode/index.md) causes Geo secondary site statuses to appear to stop updating and become unhealthy. For more information, see [Troubleshooting - Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode](troubleshooting.md#geo-admin-area-shows-unhealthy-after-enabling-maintenance-mode). ## Updating to GitLab 13.9 ### Error during zero-downtime update: "cannot drop column asset_proxy_whitelist" We've detected an issue [with a column rename](https://gitlab.com/gitlab-org/gitlab/-/issues/324160) -that will prevent upgrades to GitLab 13.9.0, 13.9.1, 13.9.2 and 13.9.3 when following the zero-downtime steps. It is necessary +that prevents upgrades to GitLab 13.9.0, 13.9.1, 13.9.2 and 13.9.3 when following the zero-downtime steps. It is necessary to perform the following additional steps for the zero-downtime update: 1. Before running the final `sudo gitlab-rake db:migrate` command on the deploy node, @@ -132,7 +132,7 @@ to perform the following additional steps for the zero-downtime update: ``` If you have already run the final `sudo gitlab-rake db:migrate` command on the deploy node and have -encountered the [column rename issue](https://gitlab.com/gitlab-org/gitlab/-/issues/324160), you will +encountered the [column rename issue](https://gitlab.com/gitlab-org/gitlab/-/issues/324160), you might see the following error: ```shell @@ -148,7 +148,7 @@ More details are available [in this issue](https://gitlab.com/gitlab-org/gitlab/ ### Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode -GitLab 13.9 through GitLab 14.3 are affected by a bug in which enabling [GitLab Maintenance Mode](../../maintenance_mode/index.md) will cause Geo secondary site statuses to appear to stop updating and become unhealthy. For more information, see [Troubleshooting - Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode](troubleshooting.md#geo-admin-area-shows-unhealthy-after-enabling-maintenance-mode). +GitLab 13.9 through GitLab 14.3 are affected by a bug in which enabling [GitLab Maintenance Mode](../../maintenance_mode/index.md) causes Geo secondary site statuses to appear to stop updating and become unhealthy. For more information, see [Troubleshooting - Geo Admin Area shows 'Unhealthy' after enabling Maintenance Mode](troubleshooting.md#geo-admin-area-shows-unhealthy-after-enabling-maintenance-mode). ## Updating to GitLab 13.7 @@ -168,7 +168,7 @@ on Geo secondaries. This issue is fixed in GitLab 13.6.1 and later. In GitLab 13.3, Geo removed the PostgreSQL [Foreign Data Wrapper](https://www.postgresql.org/docs/11/postgres-fdw.html) dependency for the tracking database. -The FDW server, user, and the extension will be removed during the upgrade +The FDW server, user, and the extension is removed during the upgrade process on each secondary node. The GitLab settings related to the FDW in the `/etc/gitlab/gitlab.rb` have been deprecated and can be safely removed. diff --git a/doc/administration/geo/secondary_proxy/index.md b/doc/administration/geo/secondary_proxy/index.md index 0f5f60fcd8e..a7a6c5056b2 100644 --- a/doc/administration/geo/secondary_proxy/index.md +++ b/doc/administration/geo/secondary_proxy/index.md @@ -68,7 +68,7 @@ a single URL used by all Geo sites, including the primary. In the Geo administration page of the **primary** site, edit each Geo secondary that is using the secondary proxying and set the `URL` field to the single URL. Make sure the primary site is also using this URL. - + ## Disable Geo proxying You can disable the secondary proxying on each Geo site, separately, by following these steps with Omnibus-based packages: diff --git a/doc/administration/instance_limits.md b/doc/administration/instance_limits.md index 942bc0af8dd..12dd7e459bf 100644 --- a/doc/administration/instance_limits.md +++ b/doc/administration/instance_limits.md @@ -551,7 +551,7 @@ Plan.default.actual_limits.update!(pages_file_entries: 100) > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/321368) in GitLab 13.12. Disabled by default. > - Enabled on GitLab.com in GitLab 14.3. > - Enabled on self-managed in GitLab 14.4. -> - Feature flag `ci_runner_limits` removed in GitLab 14.4. +> - Feature flag `ci_runner_limits` removed in GitLab 14.4. > - Feature flag `ci_runner_limits_override` removed in GitLab 14.6. The total number of registered runners is limited at the group and project levels. Each time a new runner is registered, diff --git a/doc/administration/package_information/deprecation_policy.md b/doc/administration/package_information/deprecation_policy.md index d45c2ea3127..164c0eb5c07 100644 --- a/doc/administration/package_information/deprecation_policy.md +++ b/doc/administration/package_information/deprecation_policy.md @@ -16,18 +16,18 @@ setup, various configuration requires removal. ### Policy -The Omnibus GitLab package will retain configuration for at least **one major** -version. We cannot guarantee that deprecated configuration -will be available in the next major release. See [example](#example) for more details. +The Omnibus GitLab package retains configuration for at least **one major** +version. We can't guarantee that deprecated configuration +is available in the next major release. See [example](#example) for more details. ### Notice -If the configuration becomes obsolete, we will announce the deprecation: +If the configuration becomes obsolete, we announce the deprecation: - via release blog post on `https://about.gitlab.com/blog/`. The blog post item - will contain the deprecation notice together with the target removal date. + contains the deprecation notice together with the target removal date. - via installation/reconfigure output (if applicable). -- via official documentation on `https://docs.gitlab.com/`. The documentation update will contain the corrected syntax (if applicable) or a date of configuration removal. +- via official documentation on `https://docs.gitlab.com/`. The documentation update contains the corrected syntax (if applicable) or a date of configuration removal. ### Procedure @@ -82,16 +82,16 @@ The final comment in the issue **has to have**: ## Example -User configuration available in `/etc/gitlab/gitlab.rb` was introduced in GitLab version 10.0, `gitlab_rails['configuration'] = true`. In GitLab version 10.4.0, a new change was introduced that requires rename of this configuration option. New configuration option is `gitlab_rails['better_configuration'] = true`. Development team will translate the old configuration into new one -and trigger a deprecation procedure. +User configuration available in `/etc/gitlab/gitlab.rb` was introduced in GitLab version 10.0, `gitlab_rails['configuration'] = true`. In GitLab version 10.4.0, a new change was introduced that requires rename of this configuration option. New configuration option is `gitlab_rails['better_configuration'] = true`. Development team translates the old configuration into a new one +and triggers a deprecation procedure. This means that these two configuration -options will both be valid through GitLab version 10. In other words, +options are valid through GitLab version 10. In other words, if you still have `gitlab_rails['configuration'] = true` set in GitLab 10.8.0 -the feature will continue working the same way as if you had `gitlab_rails['better_configuration'] = true` set. -However, setting the old version of configuration will print out a deprecation +the feature continues working the same way as if you had `gitlab_rails['better_configuration'] = true` set. +However, setting the old version of the configuration prints out a deprecation notice at the end of installation/upgrade/reconfigure run. -With GitLab 11, `gitlab_rails['configuration'] = true` will no longer work and you will have to manually change the configuration in `/etc/gitlab/gitlab.rb` to the new valid configuration. +In GitLab 11, `gitlab_rails['configuration'] = true` no longer works and you must manually change the configuration in `/etc/gitlab/gitlab.rb` to the new valid configuration. **Note** If this configuration option is sensitive and can put integrity of the installation or -data in danger, installation/upgrade will be aborted. +data in danger,the installation or upgrade is aborted. diff --git a/doc/administration/repository_storage_types.md b/doc/administration/repository_storage_types.md index a85f678fe95..f33d494f638 100644 --- a/doc/administration/repository_storage_types.md +++ b/doc/administration/repository_storage_types.md @@ -101,10 +101,10 @@ To look up a project's hash path using a Rails console: #### From hashed path to project name -Administrators can look up a project's name from its hashed storage path using: +Administrators can look up a project's name from its hashed storage path using: - A Rails console. -- The `config` file in the `*.git` directory. +- The `config` file in the `*.git` directory. To look up a project's name using the Rails console: diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md index 36b56054c8d..b4f69b379ee 100644 --- a/doc/api/graphql/reference/index.md +++ b/doc/api/graphql/reference/index.md @@ -8687,7 +8687,7 @@ Represents the total number of issues and their weights for a particular day. | `needs` | [`CiBuildNeedConnection`](#cibuildneedconnection) | References to builds that must complete before the jobs run. (see [Connections](#connections)) | | `pipeline` | [`Pipeline`](#pipeline) | Pipeline the job belongs to. | | `playable` | [`Boolean!`](#boolean) | Indicates the job can be played. | -| `previousStageJobsAndNeeds` | [`CiJobConnection`](#cijobconnection) | All prerequisite jobs. (see [Connections](#connections)) | +| `previousStageJobsOrNeeds` | [`CiJobConnection`](#cijobconnection) | Jobs that must complete before the job runs. Returns needed jobs if the job uses the `needs` keyword, and returns previous stage jobs otherwise. (see [Connections](#connections)) | | `queuedAt` | [`Time`](#time) | When the job was enqueued and marked as pending. | | `queuedDuration` | [`Duration`](#duration) | How long the job was enqueued before starting. | | `refName` | [`String`](#string) | Ref name of the job. | diff --git a/doc/api/members.md b/doc/api/members.md index 51f7b74f110..2e2b403eea1 100644 --- a/doc/api/members.md +++ b/doc/api/members.md @@ -596,9 +596,9 @@ curl --request DELETE --header "PRIVATE-TOKEN: " "https://git curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/members/:user_id" ``` -## Approve a member for a group +## Approve a member for a group -Approves a pending user for a group and its subgroups and projects. +Approves a pending user for a group and its subgroups and projects. ```plaintext PUT /groups/:id/members/:user_id/approve @@ -615,7 +615,7 @@ Example request: curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/members/:user_id/approve" ``` -## Approve all pending members for a group +## Approve all pending members for a group Approves all pending users for a group and its subgroups and projects. diff --git a/doc/api/projects.md b/doc/api/projects.md index 19a4b3d3224..9d7566f6967 100644 --- a/doc/api/projects.md +++ b/doc/api/projects.md @@ -1072,7 +1072,7 @@ If the project is a fork, and you provide a valid token to authenticate, the "ssh_url_to_repo":"git@gitlab.com:gitlab-org/gitlab-foss.git", "http_url_to_repo":"https://gitlab.com/gitlab-org/gitlab-foss.git", "web_url":"https://gitlab.com/gitlab-org/gitlab-foss", - "avatar_url":"https://assets.gitlab-static.net/uploads/-/system/project/avatar/13083/logo-extra-whitespace.png", + "avatar_url":"https://gitlab.com/uploads/-/system/project/avatar/13083/logo-extra-whitespace.png", "license_url": "https://gitlab.com/gitlab-org/gitlab/-/blob/master/LICENSE", "license": { "key": "mit", diff --git a/doc/ci/environments/protected_environments.md b/doc/ci/environments/protected_environments.md index 5ea603e0b7c..57fd72863c1 100644 --- a/doc/ci/environments/protected_environments.md +++ b/doc/ci/environments/protected_environments.md @@ -79,7 +79,7 @@ Alternatively, you can use the API to protect an environment: $ curl --request POST --header "PRIVATE-TOKEN: " \ --data "user_id=3222377&access_level=20" "https://gitlab.com/api/v4/groups/9899826/members" - {"id":3222377,"name":"Sean Carroll","username":"sfcarroll","state":"active","avatar_url":"https://assets.gitlab-static.net/uploads/-/system/user/avatar/3222377/avatar.png","web_url":"https://gitlab.com/sfcarroll","access_level":20,"created_at":"2020-10-26T17:37:50.309Z","expires_at":null} + {"id":3222377,"name":"Sean Carroll","username":"sfcarroll","state":"active","avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/3222377/avatar.png","web_url":"https://gitlab.com/sfcarroll","access_level":20,"created_at":"2020-10-26T17:37:50.309Z","expires_at":null} ``` 1. Use the API to add the group to the project as a reporter: diff --git a/doc/ci/git_submodules.md b/doc/ci/git_submodules.md index dc5faf0188e..2a002b8fb9f 100644 --- a/doc/ci/git_submodules.md +++ b/doc/ci/git_submodules.md @@ -59,7 +59,7 @@ To make submodules work correctly in CI/CD jobs: variables: GIT_SUBMODULE_STRATEGY: recursive ``` - + If you use the [`CI_JOB_TOKEN`](jobs/ci_job_token.md) to clone a submodule in a pipeline job, the user executing the job must be assigned to a role that has [permission](../user/permissions.md#gitlab-cicd-permissions) to trigger a pipeline diff --git a/doc/ci/pipelines/merge_trains.md b/doc/ci/pipelines/merge_trains.md index be267ec1da1..f9e4f3fbdea 100644 --- a/doc/ci/pipelines/merge_trains.md +++ b/doc/ci/pipelines/merge_trains.md @@ -39,7 +39,7 @@ If the pipeline for the merge request at the front of the train completes succes the changes are merged into the target branch, and the other pipelines continue to run. -To add a merge request to a merge train, you need [permissions](../../user/permissions.md) to merge or push to the +To add a merge request to a merge train, you need [permissions](../../user/permissions.md) to merge or push to the target branch. Each merge train can run a maximum of **twenty** pipelines in parallel. diff --git a/doc/development/adding_database_indexes.md b/doc/development/adding_database_indexes.md index 571d2f353d4..0e8e8289464 100644 --- a/doc/development/adding_database_indexes.md +++ b/doc/development/adding_database_indexes.md @@ -317,11 +317,11 @@ end You must test the database index changes locally before creating a merge request. -### Verify indexes created asynchronously +### Verify indexes created asynchronously Use the asynchronous index helpers on your local environment to test changes for creating an index: 1. Enable the feature flags by running `Feature.enable(:database_async_index_creation)` and `Feature.enable(:database_reindexing)` in the Rails console. 1. Run `bundle exec rails db:migrate` so that it creates an entry in the `postgres_async_indexes` table. 1. Run `bundle exec rails gitlab:db:reindex` so that the index is created asynchronously. -1. To verify the index, open the PostgreSQL console using the [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/postgresql.md) command `gdk psql` and run the command `\d ` to check that your newly created index exists. +1. To verify the index, open the PostgreSQL console using the [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/postgresql.md) command `gdk psql` and run the command `\d ` to check that your newly created index exists. diff --git a/doc/development/contributing/merge_request_workflow.md b/doc/development/contributing/merge_request_workflow.md index 82fd62d8d79..cc6997e1a20 100644 --- a/doc/development/contributing/merge_request_workflow.md +++ b/doc/development/contributing/merge_request_workflow.md @@ -100,7 +100,7 @@ request is as follows: There isn't a way to know anything about our customers' data on their [self-managed instances](../../subscriptions/self_managed/index.md), so keep that in mind for any data implications with your merge request. - + 1. Merge requests **must** adhere to the [merge request performance guidelines](../merge_request_performance_guidelines.md). 1. For tests that use Capybara, read [how to write reliable, asynchronous integration tests](https://thoughtbot.com/blog/write-reliable-asynchronous-integration-tests-with-capybara). diff --git a/doc/development/fe_guide/vue.md b/doc/development/fe_guide/vue.md index 5d5d37e0398..ab808e6f1b7 100644 --- a/doc/development/fe_guide/vue.md +++ b/doc/development/fe_guide/vue.md @@ -73,7 +73,7 @@ component, is that you avoid the need to create a fixture or an HTML element in ##### provide/inject Vue supports dependency injection through [provide/inject](https://vuejs.org/v2/api/#provide-inject). -In the component the `inject` configuration accesses the values `provide` passes down. +In the component the `inject` configuration accesses the values `provide` passes down. This example of a Vue app initialization shows how the `provide` configuration passes a value from HAML to the component: ```javascript diff --git a/doc/development/fe_guide/vue3_migration.md b/doc/development/fe_guide/vue3_migration.md index c6f480deb22..2b783eb21b7 100644 --- a/doc/development/fe_guide/vue3_migration.md +++ b/doc/development/fe_guide/vue3_migration.md @@ -31,7 +31,7 @@ Component's computed properties / methods or external helpers. **When to use** -If you are in a Vue app that doesn't use any event hub, try to avoid adding a new one unless absolutely necessary. For example, if you need a child component to react to its parent's event, it's preferred to pass a prop down. Then, use the watch property on that prop in the child component to create the desired side effect. +If you are in a Vue app that doesn't use any event hub, try to avoid adding a new one unless absolutely necessary. For example, if you need a child component to react to its parent's event, it's preferred to pass a prop down. Then, use the watch property on that prop in the child component to create the desired side effect. If you need cross-component communication (between different Vue apps), then perhaps introducing a hub is the right decision. diff --git a/doc/development/image_scaling.md b/doc/development/image_scaling.md index 82ca8cf8e83..e1ffbdb766a 100644 --- a/doc/development/image_scaling.md +++ b/doc/development/image_scaling.md @@ -37,8 +37,8 @@ Furthermore, configuration in Workhorse can lead to the image scaler rejecting a For instance, here are two different URLs that serve the GitLab project avatar both in its original size and scaled down to 64 pixels. Only the second request will trigger the image scaler: -- [`/uploads/-/system/project/avatar/278964/logo-extra-whitespace.png`](https://assets.gitlab-static.net/uploads/-/system/project/avatar/278964/logo-extra-whitespace.png) -- [`/uploads/-/system/project/avatar/278964/logo-extra-whitespace.png?width=64`](https://assets.gitlab-static.net/uploads/-/system/project/avatar/278964/logo-extra-whitespace.png?width=64) +- [`/uploads/-/system/project/avatar/278964/logo-extra-whitespace.png`](https://gitlab.com/uploads/-/system/project/avatar/278964/logo-extra-whitespace.png) +- [`/uploads/-/system/project/avatar/278964/logo-extra-whitespace.png?width=64`](https://gitlab.com/uploads/-/system/project/avatar/278964/logo-extra-whitespace.png?width=64) ## Where do we scale images? diff --git a/doc/development/service_ping/implement.md b/doc/development/service_ping/implement.md index b38696263b4..c32789740c3 100644 --- a/doc/development/service_ping/implement.md +++ b/doc/development/service_ping/implement.md @@ -27,7 +27,7 @@ To implement a new metric in Service Ping, follow these steps: 1. [Set up and test Service Ping locally](#set-up-and-test-service-ping-locally) NOTE: -When you add or change a Service Metric, you must migrate metrics to [instrumentation classes](metrics_instrumentation.md). +When you add or change a Service Metric, you must migrate metrics to [instrumentation classes](metrics_instrumentation.md). For information about the progress on migrating Service ping metrics, see this [epic](https://gitlab.com/groups/gitlab-org/-/epics/5547). ## Instrumentation classes diff --git a/doc/development/service_ping/index.md b/doc/development/service_ping/index.md index 0b8bc42276c..1f751eea4d8 100644 --- a/doc/development/service_ping/index.md +++ b/doc/development/service_ping/index.md @@ -21,7 +21,7 @@ and sales teams understand how GitLab is used. The data helps to: Service Ping information is not anonymous. It's linked to the instance's hostname, but does not contain project names, usernames, or any other specific data. -Sending a Service Ping payload is optional and you can [disable](#disable-service-ping) it on any +Sending a Service Ping payload is optional and you can [disable](#disable-service-ping) it on any self-managed instance. When Service Ping is enabled, GitLab gathers data from the other instances and can show your instance's usage statistics to your users. @@ -41,10 +41,10 @@ We use the following terminology to describe the Service Ping components: The main purpose of Service Ping is to build a better GitLab. We collect data about how GitLab is used to understand feature or stage adoption and usage. This data gives an insight into how GitLab adds -value and helps our team understand the reasons why people use GitLab, and with this knowledge we're able to +value and helps our team understand the reasons why people use GitLab, and with this knowledge we're able to make better product decisions. -There are several other benefits to enabling Service Ping: +There are several other benefits to enabling Service Ping: - As a benefit of having Service Ping active, GitLab lets you analyze the users' activities over time of your GitLab installation. - As a benefit of having Service Ping active, GitLab provides you with [DevOps Score](../../user/admin_area/analytics/dev_ops_report.md#devops-score), which gives you an overview of your entire instance's adoption of Concurrent DevOps from planning to monitoring. diff --git a/doc/development/sidekiq_style_guide.md b/doc/development/sidekiq_style_guide.md index f4fe80ad15e..a643b89b7ff 100644 --- a/doc/development/sidekiq_style_guide.md +++ b/doc/development/sidekiq_style_guide.md @@ -354,7 +354,7 @@ This way we are always comparing the latest binary replication pointer, making sure that we read from the replica that is fully caught up. FLAG: -On self-managed GitLab, by default this feature is available. To hide the feature, ask an administrator to +On self-managed GitLab, by default this feature is available. To hide the feature, ask an administrator to [disable the feature flag](../administration/feature_flags.md) named preserve_latest_wal_locations_for_idempotent_jobs flag. This feature flag is related to GitLab development and is not intended to be used by GitLab administrators, though. diff --git a/doc/development/snowplow/implementation.md b/doc/development/snowplow/implementation.md index fe1de789eae..3ffacc5af67 100644 --- a/doc/development/snowplow/implementation.md +++ b/doc/development/snowplow/implementation.md @@ -13,12 +13,12 @@ This page describes how to: ## Snowplow JavaScript frontend tracking -GitLab provides a `Tracking` interface that wraps the [Snowplow JavaScript tracker](https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-trackers/) -to track custom events. +GitLab provides a `Tracking` interface that wraps the [Snowplow JavaScript tracker](https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-trackers/) +to track custom events. For the recommended frontend tracking implementation, see [Usage recommendations](#usage-recommendations). -Tracking implementations must have an `action` and a `category`. You can provide additional +Tracking implementations must have an `action` and a `category`. You can provide additional categories from the [structured event taxonomy](index.md#structured-event-taxonomy) with an `extra` object that accepts key-value pairs. @@ -67,8 +67,8 @@ The following example shows `data-track-*` attributes assigned to a button: #### Event listeners Event listeners bind at the document level to handle click events in elements with data attributes. -This allows them to be handled when the DOM re-renders or changes. Document-level binding reduces -the likelihood that click events stop propagating up the DOM tree. +This allows them to be handled when the DOM re-renders or changes. Document-level binding reduces +the likelihood that click events stop propagating up the DOM tree. If click events stop propagating, you must implement listeners and [Vue component tracking](#implement-vue-component-tracking) or [raw JavaScript tracking](#implement-raw-javascript-tracking). @@ -102,12 +102,12 @@ track_action: "click_button" }) ### Implement Vue component tracking For custom event tracking, use a Vue `mixin` in components. Vue `mixin` exposes the `Tracking.event` -static method and the `track` method. You can specify tracking options in `data` or `computed`. -These options override any defaults and allow the values to be dynamic from props or based on state. +static method and the `track` method. You can specify tracking options in `data` or `computed`. +These options override any defaults and allow the values to be dynamic from props or based on state. -Several default options are passed when an event is tracked from the component: +Several default options are passed when an event is tracked from the component: -- `category`: If you don't specify, by default `document.body.dataset.page` is used. +- `category`: If you don't specify, by default `document.body.dataset.page` is used. - `label` - `property` - `value` @@ -121,7 +121,7 @@ To implement Vue component tracking: const trackingMixin = Tracking.mixin; ``` -1. Provide categories to track the event from the component. For example, to track all events in a +1. Provide categories to track the event from the component. For example, to track all events in a component with a label, use the `label` category: ```javascript @@ -293,14 +293,14 @@ describe('MyTracking', () => { ### Form tracking -To enable Snowplow automatic [form tracking](https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-trackers/javascript-tracker/javascript-tracker-v2/tracking-specific-events/#form-tracking): +To enable Snowplow automatic [form tracking](https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-trackers/javascript-tracker/javascript-tracker-v2/tracking-specific-events/#form-tracking): -1. Call `Tracking.enableFormTracking` when the DOM is ready. +1. Call `Tracking.enableFormTracking` when the DOM is ready. 1. Provide a `config` object that includes at least one of the following elements: - `forms` determines the forms to track. Identified by the CSS class name. - `fields` determines the fields inside the tracked forms to track. Identified by the field `name`. 1. Optional. Provide a list of contexts as the second argument. The [`gitlab_standard`](schemas.md#gitlab_standard) schema is excluded from these events. - + ```javascript Tracking.enableFormTracking({ forms: { allow: ['sign-in-form', 'password-recovery-form'] }, @@ -339,7 +339,7 @@ Backend tracking provides: - User behavior tracking - Instrumentation to monitor and visualize performance over time in a section or aspect of code. -To add custom event tracking and instrumentation, call the `GitLab::Tracking.event` class method. +To add custom event tracking and instrumentation, call the `GitLab::Tracking.event` class method. For example: ```ruby @@ -370,7 +370,7 @@ Use the following arguments: ### Unit testing -To test backend Snowplow events, use the `expect_snowplow_event` helper. For more information, see +To test backend Snowplow events, use the `expect_snowplow_event` helper. For more information, see [testing best practices](../testing_guide/best_practices.md#test-snowplow-events). ### Performance @@ -419,17 +419,17 @@ Snowplow Inspector Chrome Extension is a browser extension for testing frontend [Snowplow Micro](https://snowplowanalytics.com/blog/2019/07/17/introducing-snowplow-micro/) is a Docker-based solution for testing backend and frontend in a local development environment. Snowplow Micro -records the same events as the full Snowplow pipeline. To query events, use the Snowplow Micro API. +records the same events as the full Snowplow pipeline. To query events, use the Snowplow Micro API. -To install and run Snowplow Micro, complete these steps to modify the +To install and run Snowplow Micro, complete these steps to modify the [GitLab Development Kit (GDK)](https://gitlab.com/gitlab-org/gitlab-development-kit): 1. Ensure [Docker is installed](https://docs.docker.com/get-docker/) and running. -1. To install Snowplow Micro, clone the settings in +1. To install Snowplow Micro, clone the settings in [this project](https://gitlab.com/gitlab-org/snowplow-micro-configuration). -1. Navigate to the directory with the cloned project, +1. Navigate to the directory with the cloned project, and start the appropriate Docker container: ```shell diff --git a/doc/development/testing_guide/img/review-app-parent-pipeline.png b/doc/development/testing_guide/img/review-app-parent-pipeline.png index 5686d5f6ebe..dd64d7d1be5 100644 Binary files a/doc/development/testing_guide/img/review-app-parent-pipeline.png and b/doc/development/testing_guide/img/review-app-parent-pipeline.png differ diff --git a/doc/integration/elasticsearch.md b/doc/integration/elasticsearch.md index 9705242ea35..89f36397039 100644 --- a/doc/integration/elasticsearch.md +++ b/doc/integration/elasticsearch.md @@ -93,7 +93,7 @@ the indexer itself. This project relies on [International Components for Unicode](https://icu.unicode.org/) (ICU) for text encoding, therefore we must ensure the development packages for your platform are -installed before running `make`. +installed before running `make`. #### Debian / Ubuntu diff --git a/doc/integration/img/ding_talk_menu.png b/doc/integration/img/ding_talk_menu.png index 2c5a23435fa..fe020cab397 100644 Binary files a/doc/integration/img/ding_talk_menu.png and b/doc/integration/img/ding_talk_menu.png differ diff --git a/doc/integration/img/omniauth_providers_v_14_6.png b/doc/integration/img/omniauth_providers_v_14_6.png index 9d67b47c4e2..b434e9a210b 100644 Binary files a/doc/integration/img/omniauth_providers_v_14_6.png and b/doc/integration/img/omniauth_providers_v_14_6.png differ diff --git a/doc/integration/jira/dvcs.md b/doc/integration/jira/dvcs.md index 8a1664dff79..e69b7675a59 100644 --- a/doc/integration/jira/dvcs.md +++ b/doc/integration/jira/dvcs.md @@ -273,7 +273,7 @@ If you get a `Sync Failed` error in Jira when [refreshing repository data](#refr ```plaintext Failed to execute request [https://gitlab.com/api/v4/projects/:id/merge_requests?page=1&per_page=100 GET https://gitlab.com/api/v4/projects/:id/merge_requests?page=1&per_page=100 returned a response status of 403 Forbidden] errors: {"message":"403 Forbidden"} -``` +``` If you find a `{"message":"403 Forbidden"}` error, it is possible that this specific project has some [GitLab features disabled](../../user/project/settings/index.md#sharing-and-permissions). In the example above, the merge requests feature is disabled. diff --git a/doc/security/webhooks.md b/doc/security/webhooks.md index 5aa75aca8fc..47ef90cbe55 100644 --- a/doc/security/webhooks.md +++ b/doc/security/webhooks.md @@ -27,7 +27,7 @@ sent. Webhook requests are made by the GitLab server itself and use a single (optional) secret token per hook for authorization (instead of a user or repository-specific token). As a result, these requests may have broader access than -intended, including access to everything running on the server hosting the webhook. This +intended, including access to everything running on the server hosting the webhook. This may include the GitLab server or API itself (for example, `http://localhost:123`). Depending on the called webhook, this may also result in network access to other servers within that webhook server's local network (for example, diff --git a/doc/subscriptions/gitlab_com/index.md b/doc/subscriptions/gitlab_com/index.md index 404f1a75204..e174a144cfc 100644 --- a/doc/subscriptions/gitlab_com/index.md +++ b/doc/subscriptions/gitlab_com/index.md @@ -323,7 +323,7 @@ To purchase additional minutes for your personal namespace: 1. Select **Edit profile**. 1. On the left sidebar, select **Usage Quotas**. 1. Select **Buy additional minutes** and GitLab redirects you to the Customers Portal. -1. Locate the subscription card that's linked to your personal namespace on GitLab SaaS, click **Buy more CI minutes**, and complete the details about the transaction. +1. Locate the subscription card that's linked to your personal namespace on GitLab SaaS, click **Buy more CI minutes**, and complete the details about the transaction. After we process your payment, the extra CI minutes are synced to your group namespace. diff --git a/doc/topics/cron/index.md b/doc/topics/cron/index.md index 3947a72cac6..b58f5e6c5eb 100644 --- a/doc/topics/cron/index.md +++ b/doc/topics/cron/index.md @@ -66,6 +66,6 @@ More examples of how to write a cron schedule can be found at GitLab uses [`fugit`](https://github.com/floraison/fugit) to parse cron syntax strings on the server and [cron-validator](https://github.com/TheCloudConnectors/cron-validator) -to validate cron syntax in the browser. GitLab uses +to validate cron syntax in the browser. GitLab uses [`cRonstrue`](https://github.com/bradymholt/cRonstrue) to convert cron to human-readable strings in the browser. diff --git a/doc/update/deprecations.md b/doc/update/deprecations.md index 7a7b7cfe1a8..aafaabad81f 100644 --- a/doc/update/deprecations.md +++ b/doc/update/deprecations.md @@ -242,7 +242,7 @@ Announced: 2021-11-22 ### Value Stream Analytics filtering calculation change -We are changing how the date filter works in Value Stream Analytics. Instead of filtering by the time that the issue or merge request was created, the date filter will filter by the end event time of the given stage. This will result in completely different figures after this change has rolled out. +We are changing how the date filter works in Value Stream Analytics. Instead of filtering by the time that the issue or merge request was created, the date filter will filter by the end event time of the given stage. This will result in completely different figures after this change has rolled out. If you monitor Value Stream Analytics metrics and rely on the date filter, to avoid losing data, you must save the data prior to this change. diff --git a/doc/user/admin_area/index.md b/doc/user/admin_area/index.md index 35d5d56761d..d25caf1d7b4 100644 --- a/doc/user/admin_area/index.md +++ b/doc/user/admin_area/index.md @@ -258,7 +258,7 @@ To [Create a new group](../group/index.md#create-a-group) click **New group**. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/340920) in GitLab 14.4. -You can administer all [topics](../project/working_with_projects.md#explore-topics) in the +You can administer all [topics](../project/working_with_projects.md#explore-topics) in the GitLab instance from the Admin Area's Topics page. To access the Topics page: diff --git a/doc/user/analytics/img/product_analytics_commits_per_mr_v14_4.png b/doc/user/analytics/img/product_analytics_commits_per_mr_v14_4.png index 649416c02c0..2bfde7beead 100644 Binary files a/doc/user/analytics/img/product_analytics_commits_per_mr_v14_4.png and b/doc/user/analytics/img/product_analytics_commits_per_mr_v14_4.png differ diff --git a/doc/user/analytics/img/productivity_analytics_time_to_merge_v14_4.png b/doc/user/analytics/img/productivity_analytics_time_to_merge_v14_4.png index b5d0dd4d2ea..0b30aff2c7a 100644 Binary files a/doc/user/analytics/img/productivity_analytics_time_to_merge_v14_4.png and b/doc/user/analytics/img/productivity_analytics_time_to_merge_v14_4.png differ diff --git a/doc/user/analytics/img/productivity_analytics_trendline_v14_4.png b/doc/user/analytics/img/productivity_analytics_trendline_v14_4.png index da5d3aec957..e0b3c54dee2 100644 Binary files a/doc/user/analytics/img/productivity_analytics_trendline_v14_4.png and b/doc/user/analytics/img/productivity_analytics_trendline_v14_4.png differ diff --git a/doc/user/analytics/index.md b/doc/user/analytics/index.md index 0cc21e3f390..6a157dbb5ae 100644 --- a/doc/user/analytics/index.md +++ b/doc/user/analytics/index.md @@ -100,29 +100,29 @@ We use the following terms to describe GitLab analytics: - All incidents are related to a [production environment](../../ci/environments/index.md#deployment-tier-of-environments). - Incidents and deployments have a strictly one-to-one relationship (meaning any incident is related to only one production deployment, and any production deployment is related to no more than one incident). -- **Lead time:** The duration of your value stream, from start to finish. Different to -[Lead time for changes](#lead-time-for-changes). Often displayed in combination with "cycle time," -which is shorter. GitLab measures lead time from issue creation to issue close. GitLab displays lead +- **Lead time:** The duration of your value stream, from start to finish. Different to +[Lead time for changes](#lead-time-for-changes). Often displayed in combination with "cycle time," +which is shorter. GitLab measures lead time from issue creation to issue close. GitLab displays lead time in [group-level Value Stream Analytics](../group/value_stream_analytics/index.md). -- **Mean Time to Change (MTTC):** The average duration between idea and delivery. GitLab measures +- **Mean Time to Change (MTTC):** The average duration between idea and delivery. GitLab measures MTTC from issue creation to the issue's latest related merge request's deployment to production. -- **Mean Time to Detect (MTTD):** The average duration that a bug goes undetected in production. +- **Mean Time to Detect (MTTD):** The average duration that a bug goes undetected in production. GitLab measures MTTD from deployment of bug to issue creation. -- **Mean Time To Merge (MTTM):** The average lifespan of a merge request. GitLab measures MTTM from -merge request creation to merge request merge (and closed/un-merged merge requests are excluded). +- **Mean Time To Merge (MTTM):** The average lifespan of a merge request. GitLab measures MTTM from +merge request creation to merge request merge (and closed/un-merged merge requests are excluded). For more information, see [Merge Request Analytics](merge_request_analytics.md). -- **Mean Time to Recover/Repair/Resolution/Resolve/Restore (MTTR):** The average duration that a bug +- **Mean Time to Recover/Repair/Resolution/Resolve/Restore (MTTR):** The average duration that a bug is not fixed in production. GitLab measures MTTR from deployment of bug to deployment of fix. -- **Throughput:** The number of issues closed or merge requests merged (not closed) in a period of +- **Throughput:** The number of issues closed or merge requests merged (not closed) in a period of time. Often measured per sprint. GitLab displays merge request throughput in [Merge Request Analytics](merge_request_analytics.md). -- **Value Stream:** The entire work process that is followed to deliver value to customers. For example, -the [DevOps lifecycle](https://about.gitlab.com/stages-devops-lifecycle/) is a value stream that starts +- **Value Stream:** The entire work process that is followed to deliver value to customers. For example, +the [DevOps lifecycle](https://about.gitlab.com/stages-devops-lifecycle/) is a value stream that starts with "plan" and ends with "monitor". GitLab helps you track your value stream using [Value Stream Analytics](value_stream_analytics.md). -- **Velocity:** The total issue burden completed in some period of time. The burden is usually measured -in points or weight, often per sprint. For example, your velocity may be "30 points per sprint". GitLab +- **Velocity:** The total issue burden completed in some period of time. The burden is usually measured +in points or weight, often per sprint. For example, your velocity may be "30 points per sprint". GitLab measures velocity as the total points or weight of issues closed in a given period of time. ## Lead time for changes -"Lead Time for Changes" differs from "Lead Time" because it "focuses on measuring only the time to +"Lead Time for Changes" differs from "Lead Time" because it "focuses on measuring only the time to deliver a feature once it has been developed", as described in ([Measuring DevOps Performance](https://devops.com/measuring-devops-performance/)). diff --git a/doc/user/analytics/productivity_analytics.md b/doc/user/analytics/productivity_analytics.md index da55a0f093c..e1ba2f5565e 100644 --- a/doc/user/analytics/productivity_analytics.md +++ b/doc/user/analytics/productivity_analytics.md @@ -34,14 +34,14 @@ Metrics and visualizations of **merged** merge requests are available on a proje ### Time to merge -The **Time to merge** histogram shows the number of merge requests and the number +The **Time to merge** histogram shows the number of merge requests and the number of days it took to merge after creation. Select a column to filter subsequent charts. ![Metrics for number of days merge requests per number of days](img/productivity_analytics_time_to_merge_v14_4.png) ### Trendline -The **Trendline** scatterplot shows all merge requests on a certain date, +The **Trendline** scatterplot shows all merge requests on a certain date, and the days it took to complete the action and a 30 day rolling median. Select the dropdown to view: - Time from first commit to first comment. @@ -55,15 +55,15 @@ and the days it took to complete the action and a 30 day rolling median. Select ### Commits and merge request size -Under the **Trendline** scatterplot, the left-side histogram shows -the time taken (in hours) between commits and comments until the merge +Under the **Trendline** scatterplot, the left-side histogram shows +the time taken (in hours) between commits and comments until the merge request is merged. Select the dropdown to view: - Time from first commit to first comment. - Time from first comment until last commit. - Time from last commit to merge. -The right-side histogram shows the size or complexity of a merge request. +The right-side histogram shows the size or complexity of a merge request. Select the dropdown to view: - Number of commits per merge request. @@ -74,7 +74,7 @@ Select the dropdown to view: ### Merge request list -The **List** table shows a list of merge requests with their respective time duration metrics. +The **List** table shows a list of merge requests with their respective time duration metrics. Sort metrics by: @@ -83,7 +83,7 @@ Sort metrics by: - Time from last commit to merge. Filter metrics by: - + - Number of commits per merge request. - Number of lines of code per commit. - Number of files touched. diff --git a/doc/user/application_security/api_fuzzing/index.md b/doc/user/application_security/api_fuzzing/index.md index 9ba24d9931f..d96d28d3c66 100644 --- a/doc/user/application_security/api_fuzzing/index.md +++ b/doc/user/application_security/api_fuzzing/index.md @@ -14,7 +14,7 @@ miss. INFO: Try fuzz testing in GitLab Ultimate. -[It's free for 30 days](https://about.gitlab.com/free-trial?glm_source=docs.gitlab.com&glm_content=u-api-fuzzing-docs). +[It's free for 30 days](https://about.gitlab.com/free-trial?glm_source=docs.gitlab.com&glm_content=u-api-fuzzing-docs). We recommend that you use fuzz testing in addition to [GitLab Secure](../index.md)'s other security scanners and your own test processes. If you're using [GitLab CI/CD](../../../ci/index.md), diff --git a/doc/user/application_security/dast/browser_based.md b/doc/user/application_security/dast/browser_based.md index 7e3d927f31d..f63ed2a5079 100644 --- a/doc/user/application_security/dast/browser_based.md +++ b/doc/user/application_security/dast/browser_based.md @@ -69,7 +69,7 @@ The browser-based crawler can be configured using CI/CD variables. | `DAST_BROWSER_SEARCH_ELEMENT_TIMEOUT` | [Duration string](https://golang.org/pkg/time/#ParseDuration) | `3s` | The maximum amount of time to allow the browser to search for new elements or navigations. | | `DAST_BROWSER_EXTRACT_ELEMENT_TIMEOUT` | [Duration string](https://golang.org/pkg/time/#ParseDuration) | `5s` | The maximum amount of time to allow the browser to extract newly found elements or navigations. | | `DAST_BROWSER_ELEMENT_TIMEOUT` | [Duration string](https://golang.org/pkg/time/#ParseDuration) | `600ms` | The maximum amount of time to wait for an element before determining it is ready for analysis. | -| `DAST_BROWSER_PAGE_READY_SELECTOR` | selector | `css:#page-is-ready` | Selector that when detected as visible on the page, indicates to the analyzer that the page has finished loading and the scan can continue. Note: When this selector is set, but the element is not found, the scanner waits for the period defined in `DAST_BROWSER_STABILITY_TIMEOUT` before continuing the scan. This can significantly increase scanning time if the element is not present on multiple pages within the site. | +| `DAST_BROWSER_PAGE_READY_SELECTOR` | selector | `css:#page-is-ready` | Selector that when detected as visible on the page, indicates to the analyzer that the page has finished loading and the scan can continue. Note: When this selector is set, but the element is not found, the scanner waits for the period defined in `DAST_BROWSER_STABILITY_TIMEOUT` before continuing the scan. This can significantly increase scanning time if the element is not present on multiple pages within the site. | The [DAST variables](index.md#available-cicd-variables) `SECURE_ANALYZERS_PREFIX`, `DAST_FULL_SCAN_ENABLED`, `DAST_AUTO_UPDATE_ADDONS`, `DAST_EXCLUDE_RULES`, `DAST_REQUEST_HEADERS`, `DAST_HTML_REPORT`, `DAST_MARKDOWN_REPORT`, `DAST_XML_REPORT`, `DAST_AUTH_URL`, `DAST_USERNAME`, `DAST_PASSWORD`, `DAST_USERNAME_FIELD`, `DAST_PASSWORD_FIELD`, `DAST_FIRST_SUBMIT_FIELD`, `DAST_SUBMIT_FIELD`, `DAST_EXCLUDE_URLS`, `DAST_AUTH_VERIFICATION_URL`, `DAST_BROWSER_AUTH_VERIFICATION_SELECTOR`, `DAST_BROWSER_AUTH_VERIFICATION_LOGIN_FORM`, `DAST_BROWSER_AUTH_REPORT`, diff --git a/doc/user/application_security/dast/index.md b/doc/user/application_security/dast/index.md index bfe0d8c2b9e..8f26bc8a46c 100644 --- a/doc/user/application_security/dast/index.md +++ b/doc/user/application_security/dast/index.md @@ -18,7 +18,7 @@ tool [OWASP Zed Attack Proxy](https://www.zaproxy.org/) for analysis. INFO: Want to try out security scanning? -[Try GitLab Ultimate free for 30 days](https://about.gitlab.com/free-trial?glm_source=docs.gitlab.com&glm_content=u-dast-docs). +[Try GitLab Ultimate free for 30 days](https://about.gitlab.com/free-trial?glm_source=docs.gitlab.com&glm_content=u-dast-docs). After DAST creates its report, GitLab evaluates it for discovered vulnerabilities between the source and target branches. Relevant diff --git a/doc/user/application_security/index.md b/doc/user/application_security/index.md index d2029be7f3d..20d7b1931a0 100644 --- a/doc/user/application_security/index.md +++ b/doc/user/application_security/index.md @@ -18,7 +18,7 @@ actionable information _before_ changes are merged enables you to be proactive. INFO: Want to try out security scanning? -[Try GitLab Ultimate free for 30 days](https://about.gitlab.com/free-trial?glm_source=docs.gitlab.com&glm_content=u-application-security-docs). +[Try GitLab Ultimate free for 30 days](https://about.gitlab.com/free-trial?glm_source=docs.gitlab.com&glm_content=u-application-security-docs). GitLab also provides high-level statistics of vulnerabilities across projects and groups: diff --git a/doc/user/application_security/security_dashboard/img/pipeline_security_dashboard_v14_4.png b/doc/user/application_security/security_dashboard/img/pipeline_security_dashboard_v14_4.png index ac123d2b528..ad9122ee23c 100644 Binary files a/doc/user/application_security/security_dashboard/img/pipeline_security_dashboard_v14_4.png and b/doc/user/application_security/security_dashboard/img/pipeline_security_dashboard_v14_4.png differ diff --git a/doc/user/application_security/security_dashboard/index.md b/doc/user/application_security/security_dashboard/index.md index 18635599dda..122d462ac96 100644 --- a/doc/user/application_security/security_dashboard/index.md +++ b/doc/user/application_security/security_dashboard/index.md @@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w INFO: Want to try out security scanning? -[Try GitLab Ultimate free for 30 days](https://about.gitlab.com/free-trial?glm_source=docs.gitlab.com&glm_content=u-security-dashboard-docs). +[Try GitLab Ultimate free for 30 days](https://about.gitlab.com/free-trial?glm_source=docs.gitlab.com&glm_content=u-security-dashboard-docs). GitLab provides a comprehensive set of features for viewing and managing vulnerabilities: diff --git a/doc/user/clusters/agent/index.md b/doc/user/clusters/agent/index.md index 3f639322c8f..bbd8ebaf54c 100644 --- a/doc/user/clusters/agent/index.md +++ b/doc/user/clusters/agent/index.md @@ -19,7 +19,7 @@ The Agent is installed into the cluster through code, providing you with a fast, INFO: Get Network Security Alerts in GitLab by upgrading to Ultimate. -[Try a free 30-day trial now](https://about.gitlab.com/free-trial?glm_source=docs.gitlab.com&glm_content=p-cluster-agent-docs). +[Try a free 30-day trial now](https://about.gitlab.com/free-trial?glm_source=docs.gitlab.com&glm_content=p-cluster-agent-docs). With GitOps, you can manage containerized clusters and applications from a Git repository that: diff --git a/doc/user/clusters/agent/install/index.md b/doc/user/clusters/agent/install/index.md index fad9d4f08f1..83031c30e59 100644 --- a/doc/user/clusters/agent/install/index.md +++ b/doc/user/clusters/agent/install/index.md @@ -353,7 +353,7 @@ Additional management interfaces are planned for the GitLab Kubernetes Agent. ## Upgrades and version compatibility -The GitLab Kubernetes Agent is comprised of two major components: `agentk` and `kas`. +The GitLab Kubernetes Agent is comprised of two major components: `agentk` and `kas`. As we provide `kas` installers built into the various GitLab installation methods, the required `kas` version corresponds to the GitLab `major.minor` (X.Y) versions. At the same time, `agentk` and `kas` can differ by 1 minor version in either direction. For example, diff --git a/doc/user/compliance/license_compliance/img/policies_maintainer_edit_v14_3.png b/doc/user/compliance/license_compliance/img/policies_maintainer_edit_v14_3.png index 85b2a52e04b..256c66bf7d8 100644 Binary files a/doc/user/compliance/license_compliance/img/policies_maintainer_edit_v14_3.png and b/doc/user/compliance/license_compliance/img/policies_maintainer_edit_v14_3.png differ diff --git a/doc/user/compliance/license_compliance/index.md b/doc/user/compliance/license_compliance/index.md index 7b8c2d5cff8..143e2badd9d 100644 --- a/doc/user/compliance/license_compliance/index.md +++ b/doc/user/compliance/license_compliance/index.md @@ -16,7 +16,7 @@ is incompatible with yours, then you can deny the use of that license. INFO: Try License Compliance scanning to search project dependencies in GitLab Ultimate. -[It's free for 30 days](https://about.gitlab.com/free-trial?glm_source=docs.gitlab.com&glm_content=u-compliance-docs). +[It's free for 30 days](https://about.gitlab.com/free-trial?glm_source=docs.gitlab.com&glm_content=u-compliance-docs). You can take advantage of License Compliance by either: @@ -51,6 +51,7 @@ When GitLab detects a **Denied** license, you can view it in the [license list]( ![License List](img/license_list_v13_0.png) You can view and modify existing policies from the [policies](#policies) tab. + ![Edit Policy](img/policies_maintainer_edit_v14_3.png) ## License expressions @@ -194,8 +195,8 @@ directory of your project. ### Working with Monorepos -Depending on your language, you may need to specify the path to the individual -projects of a monorepo using the `LICENSE_FINDER_CLI_OPTS` variable. Passing in +Depending on your language, you may need to specify the path to the individual +projects of a monorepo using the `LICENSE_FINDER_CLI_OPTS` variable. Passing in the project paths can significantly speed up builds over using the `--recursive` license_finder option. diff --git a/doc/user/group/devops_adoption/index.md b/doc/user/group/devops_adoption/index.md index c67fa4abfc5..4151745189d 100644 --- a/doc/user/group/devops_adoption/index.md +++ b/doc/user/group/devops_adoption/index.md @@ -22,7 +22,7 @@ You can use Group DevOps Adoption to: - Identify specific subgroups that are lagging in their adoption of GitLab features, so you can guide them on their DevOps journey. -- Find subgroups that have adopted certain features, and provide guidance to other subgroups on +- Find subgroups that have adopted certain features, and provide guidance to other subgroups on how to use those features. - Verify if you are getting the return on investment that you expected from GitLab. @@ -51,7 +51,7 @@ DevOps Adoption shows feature adoption for development, security, and operations ## Feature adoption -DevOps Adoption shows feature adoption data for groups and subgroups for the previous calendar month. +DevOps Adoption shows feature adoption data for groups and subgroups for the previous calendar month. A feature shows as **adopted** when a group has used the feature in a project during the time period. This includes projects in any subgroups of the group. For example, if an issue was created in a project in a group, the group has adopted issues in that time. @@ -63,12 +63,12 @@ When GitLab measures DevOps Adoption, some common DevOps information is not incl - Dormant projects. It doesn't matter how many projects in the group use a feature. Even if you have many dormant projects, it doesn't lower the adoption. - New GitLab features. Adoption is the total number of features adopted, not the percent of features. -## When DevOps Adoption data is gathered +## When DevOps Adoption data is gathered -A weekly task processes data for DevOps Adoption. This task is disabled until you access -DevOps Adoption for a group for the first time. +A weekly task processes data for DevOps Adoption. This task is disabled until you access +DevOps Adoption for a group for the first time. -The data processing task updates the data on the first day of each month. If the monthly update +The data processing task updates the data on the first day of each month. If the monthly update fails, the task tries daily until it succeeds. DevOps Adoption data may take up to a minute to appear while GitLab processes the group's data. @@ -76,13 +76,13 @@ DevOps Adoption data may take up to a minute to appear while GitLab processes th ## View feature adoption over time The **Adoption over time** chart shows the total number of adopted features from the previous -twelve months. The chart only shows data from when you enabled DevOps Adoption for the group. +twelve months. The chart only shows data from when you enabled DevOps Adoption for the group. To view feature adoption over time: 1. On the top bar, select **Menu > Groups** and find your group. 1. On the left sidebar, select **Analytics > DevOps adoption**. -1. Select the **Overview** tab. +1. Select the **Overview** tab. Tooltips display information about the features tracked for individual months. diff --git a/doc/user/group/index.md b/doc/user/group/index.md index 42fc2f532e1..a586ef9ffe8 100644 --- a/doc/user/group/index.md +++ b/doc/user/group/index.md @@ -568,7 +568,7 @@ You should consider these security implications before configuring IP address re the IP restrictions. But when the running CI/CD job sends Git requests from a restricted IP address, the IP restriction prevents code from being cloned. - **User dashboard activity**: Users may still see some events from the IP restricted groups and projects - on their dashboard. Activity may include push, merge, issue, or comment events. + on their dashboard. Activity may include push, merge, issue, or comment events. To restrict group access by IP address: diff --git a/doc/user/group/saml_sso/index.md b/doc/user/group/saml_sso/index.md index 6b3e72230a0..e2a20c1c427 100644 --- a/doc/user/group/saml_sso/index.md +++ b/doc/user/group/saml_sso/index.md @@ -126,7 +126,7 @@ SSO has the following effects when enabled: - For groups, users can't share a project in the group outside the top-level group, even if the project is forked. - For Git activity over SSH and HTTPS, users must have at least one active session signed-in through SSO before they can push to or - pull from a GitLab repository. + pull from a GitLab repository. - Credentials that are not tied to regular users (for example, access tokens and deploy keys) do not have the SSO check enforced. - Users must be signed-in through SSO before they can pull images using the [Dependency Proxy](../../packages/dependency_proxy/index.md). @@ -369,7 +369,7 @@ To link the SAML groups from the `saml:AttributeStatement` example above: If a user is a member of multiple SAML groups mapped to the same GitLab group, the user gets the highest access level from the groups. For example, if one group is linked as `Guest` and another `Maintainer`, a user in both groups gets `Maintainer` -access. +access. Users granted: @@ -487,7 +487,7 @@ Specific attention should be paid to: #### Generate a SAML Response -SAML Responses can be used to preview the attribute names and values sent in the assertions list while attempting to sign in using an IdP. +SAML Responses can be used to preview the attribute names and values sent in the assertions list while attempting to sign in using an IdP. To generate a SAML Response: diff --git a/doc/user/group/value_stream_analytics/index.md b/doc/user/group/value_stream_analytics/index.md index a0a13c71d95..b91e258b04a 100644 --- a/doc/user/group/value_stream_analytics/index.md +++ b/doc/user/group/value_stream_analytics/index.md @@ -86,8 +86,8 @@ the date filter behavior to filter the end event time of the currently selected The change makes it possible to get a much better picture about the completed items within the stage and helps uncover long-running items. -For example, an issue was created a year ago and the current stage was finished in the current month. -If you were to look at the metrics for the last three months, this issue would not be included in the calculation of +For example, an issue was created a year ago and the current stage was finished in the current month. +If you were to look at the metrics for the last three months, this issue would not be included in the calculation of the stage metrics. With the new date filter, this item would be included. DISCLAIMER: @@ -100,7 +100,7 @@ sole discretion of GitLab Inc. ## How metrics are measured -> DORA API-based deployment metrics for group-level Value Stream Analytics were +> DORA API-based deployment metrics for group-level Value Stream Analytics were > [moved](https://gitlab.com/gitlab-org/gitlab/-/issues/337256) from GitLab Ultimate to GitLab Premium in 14.3. The "Time" metrics near the top of the page are measured as follows: diff --git a/doc/user/img/award_emoji_select_v14_6.png b/doc/user/img/award_emoji_select_v14_6.png index 500b78bdf44..c8185a1b4cb 100644 Binary files a/doc/user/img/award_emoji_select_v14_6.png and b/doc/user/img/award_emoji_select_v14_6.png differ diff --git a/doc/user/profile/index.md b/doc/user/profile/index.md index a2d9ac21a18..90cb6502bbd 100644 --- a/doc/user/profile/index.md +++ b/doc/user/profile/index.md @@ -260,7 +260,7 @@ To change your commit email: 1. In the **Commit email** dropdown list, select an email address. 1. Select **Update profile settings**. -## Change your primary email +## Change your primary email Your primary email: diff --git a/doc/user/project/integrations/img/webhook_testing.png b/doc/user/project/integrations/img/webhook_testing.png index 27836556acc..88ce05668f9 100644 Binary files a/doc/user/project/integrations/img/webhook_testing.png and b/doc/user/project/integrations/img/webhook_testing.png differ diff --git a/doc/user/project/repository/gpg_signed_commits/index.md b/doc/user/project/repository/gpg_signed_commits/index.md index 94fe6ffac56..27767f8d325 100644 --- a/doc/user/project/repository/gpg_signed_commits/index.md +++ b/doc/user/project/repository/gpg_signed_commits/index.md @@ -40,7 +40,7 @@ For a commit to be verified by GitLab: account. - One of the emails in the GPG key must match a **verified** email address used by the committer in GitLab. This address will be part of the public key. - If you want to keep this address private, use the automatically generated + If you want to keep this address private, use the automatically generated [private commit email address](../../../profile/index.md#use-an-automatically-generated-private-commit-email) GitLab provides in your profile. - The committer's email address must match the verified email address from the diff --git a/doc/user/project/repository/jupyter_notebooks/img/jupyter_notebook_diff_v14_5.png b/doc/user/project/repository/jupyter_notebooks/img/jupyter_notebook_diff_v14_5.png index bc63322cd65..3dc940c23de 100644 Binary files a/doc/user/project/repository/jupyter_notebooks/img/jupyter_notebook_diff_v14_5.png and b/doc/user/project/repository/jupyter_notebooks/img/jupyter_notebook_diff_v14_5.png differ diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 5e6e61fb5c0..b6f92514a89 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -30953,6 +30953,9 @@ msgstr "" msgid "SecurityOrchestration|An error occurred unassigning your security policy project" msgstr "" +msgid "SecurityOrchestration|Choose a project" +msgstr "" + msgid "SecurityOrchestration|Description" msgstr "" diff --git a/qa/qa/resource/deploy_token.rb b/qa/qa/resource/deploy_token.rb deleted file mode 100644 index f5d3b87fc2b..00000000000 --- a/qa/qa/resource/deploy_token.rb +++ /dev/null @@ -1,49 +0,0 @@ -# frozen_string_literal: true - -module QA - module Resource - class DeployToken < Base - attr_accessor :name, :expires_at - attr_writer :scopes - - attribute :username do - Page::Project::Settings::Repository.perform do |repository_page| - repository_page.expand_deploy_tokens do |token| - token.token_username - end - end - end - - attribute :password do - Page::Project::Settings::Repository.perform do |repository_page| - repository_page.expand_deploy_tokens do |token| - token.token_password - end - end - end - - attribute :project do - Project.fabricate! do |resource| - resource.name = 'project-to-deploy' - resource.description = 'project for adding deploy token test' - end - end - - def fabricate! - project.visit! - - Page::Project::Menu.perform(&:go_to_repository_settings) - - Page::Project::Settings::Repository.perform do |setting| - setting.expand_deploy_tokens do |page| - page.fill_token_name(name) - page.fill_token_expires_at(expires_at) - page.fill_scopes(@scopes) - - page.add_token - end - end - end - end - end -end diff --git a/qa/qa/resource/project_deploy_token.rb b/qa/qa/resource/project_deploy_token.rb new file mode 100644 index 00000000000..b31a7c25157 --- /dev/null +++ b/qa/qa/resource/project_deploy_token.rb @@ -0,0 +1,66 @@ +# frozen_string_literal: true + +module QA + module Resource + class ProjectDeployToken < Base + attr_accessor :name, :expires_at + attr_writer :scopes + + attribute :id + attribute :token + attribute :username + + attribute :project do + Project.fabricate! do |resource| + resource.name = 'project-to-deploy' + resource.description = 'project for adding deploy token test' + end + end + + def fabricate_via_api! + super + end + + def api_get_path + "/projects/#{project.id}/deploy_tokens" + end + + def api_post_path + api_get_path + end + + def api_post_body + { + name: @name, + scopes: @scopes + } + end + + def api_delete_path + "/projects/#{project.id}/deploy_tokens/#{id}" + end + + def resource_web_url(resource) + super + rescue ResourceURLMissingError + # this particular resource does not expose a web_url property + end + + def fabricate! + project.visit! + + Page::Project::Menu.perform(&:go_to_repository_settings) + + Page::Project::Settings::Repository.perform do |setting| + setting.expand_deploy_tokens do |page| + page.fill_token_name(name) + page.fill_token_expires_at(expires_at) + page.fill_scopes(@scopes) + + page.add_token + end + end + end + end + end +end diff --git a/qa/qa/specs/features/browser_ui/5_package/container_registry/container_registry_omnibus_spec.rb b/qa/qa/specs/features/browser_ui/5_package/container_registry/container_registry_omnibus_spec.rb index 51735d79fbd..66788069cd7 100644 --- a/qa/qa/specs/features/browser_ui/5_package/container_registry/container_registry_omnibus_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/container_registry/container_registry_omnibus_spec.rb @@ -14,15 +14,15 @@ module QA end let(:project_deploy_token) do - Resource::DeployToken.fabricate_via_browser_ui! do |deploy_token| + Resource::ProjectDeployToken.fabricate_via_api! do |deploy_token| deploy_token.name = 'registry-deploy-token' deploy_token.project = project - deploy_token.scopes = [ - :read_repository, - :read_package_registry, - :write_package_registry, - :read_registry, - :write_registry + deploy_token.scopes = %w[ + read_repository + read_package_registry + write_package_registry + read_registry + write_registry ] end end @@ -60,7 +60,7 @@ module QA when :personal_access_token "\"#{personal_access_token}\"" when :project_deploy_token - "\"#{project_deploy_token.password}\"" + "\"#{project_deploy_token.token}\"" when :ci_job_token '$CI_JOB_TOKEN' end diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb index 3f5e8b1a630..42128992f1b 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb @@ -88,7 +88,7 @@ module QA when :ci_job_token '${CI_JOB_TOKEN}' when :project_deploy_token - project_deploy_token.password + project_deploy_token.token end end diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb index 2aa93de0b9e..7aba5d15818 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb @@ -97,7 +97,7 @@ module QA when :ci_job_token 'System.getenv("CI_JOB_TOKEN")' when :project_deploy_token - "\"#{project_deploy_token.password}\"" + "\"#{project_deploy_token.token}\"" end end diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/maven_repository_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/maven_repository_spec.rb index f42093bffcd..bacd76a3aa5 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/maven_repository_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/maven_repository_spec.rb @@ -142,7 +142,7 @@ module QA when :ci_job_token '${env.CI_JOB_TOKEN}' when :project_deploy_token - project_deploy_token.password + project_deploy_token.token end end diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb index 561bbd16514..83ea556fced 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb @@ -16,13 +16,13 @@ module QA end let(:project_deploy_token) do - Resource::DeployToken.fabricate_via_browser_ui! do |deploy_token| + Resource::ProjectDeployToken.fabricate_via_api! do |deploy_token| deploy_token.name = 'npm-deploy-token' deploy_token.project = project - deploy_token.scopes = [ - :read_repository, - :read_package_registry, - :write_package_registry + deploy_token.scopes = %w[ + read_repository + read_package_registry + write_package_registry ] end end @@ -151,7 +151,7 @@ module QA when :ci_job_token '${CI_JOB_TOKEN}' when :project_deploy_token - "\"#{project_deploy_token.password}\"" + "\"#{project_deploy_token.token}\"" end end diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_project_level_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_project_level_spec.rb index 640aae8450a..cec902e073a 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_project_level_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_project_level_spec.rb @@ -16,13 +16,13 @@ module QA end let(:project_deploy_token) do - Resource::DeployToken.fabricate_via_browser_ui! do |deploy_token| + Resource::ProjectDeployToken.fabricate_via_api! do |deploy_token| deploy_token.name = 'npm-deploy-token' deploy_token.project = project - deploy_token.scopes = [ - :read_repository, - :read_package_registry, - :write_package_registry + deploy_token.scopes = %w[ + read_repository + read_package_registry + write_package_registry ] end end @@ -129,7 +129,7 @@ module QA when :ci_job_token '${CI_JOB_TOKEN}' when :project_deploy_token - "\"#{project_deploy_token.password}\"" + "\"#{project_deploy_token.token}\"" end end diff --git a/qa/qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb b/qa/qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb index 81ccc585cf9..c93e57b797c 100644 --- a/qa/qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb +++ b/qa/qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb @@ -9,14 +9,14 @@ module QA deploy_token_name = 'deploy token name' one_week_from_now = Date.today + 7 - deploy_token = Resource::DeployToken.fabricate_via_browser_ui! do |resource| + deploy_token = Resource::ProjectDeployToken.fabricate_via_api! do |resource| resource.name = deploy_token_name resource.expires_at = one_week_from_now - resource.scopes = [:read_repository] + resource.scopes = %w[read_repository] end expect(deploy_token.username.length).to be > 0 - expect(deploy_token.password.length).to be > 0 + expect(deploy_token.token.length).to be > 0 end end end diff --git a/qa/spec/support/shared_contexts/packages_registry_shared_context.rb b/qa/spec/support/shared_contexts/packages_registry_shared_context.rb index e686d254a44..348176d264b 100644 --- a/qa/spec/support/shared_contexts/packages_registry_shared_context.rb +++ b/qa/spec/support/shared_contexts/packages_registry_shared_context.rb @@ -42,13 +42,13 @@ module QA end let(:project_deploy_token) do - Resource::DeployToken.fabricate_via_browser_ui! do |deploy_token| + Resource::ProjectDeployToken.fabricate_via_api! do |deploy_token| deploy_token.name = 'package-deploy-token' deploy_token.project = package_project - deploy_token.scopes = [ - :read_repository, - :read_package_registry, - :write_package_registry + deploy_token.scopes = %w[ + read_repository + read_package_registry + write_package_registry ] end end diff --git a/spec/factories/ci/pipelines.rb b/spec/factories/ci/pipelines.rb index 1d25964a4be..b2c1eff6fbd 100644 --- a/spec/factories/ci/pipelines.rb +++ b/spec/factories/ci/pipelines.rb @@ -18,15 +18,13 @@ FactoryBot.define do transient { child_of { nil } } transient { upstream_of { nil } } - before(:create) do |pipeline, evaluator| - pipeline.ensure_project_iid! - end - after(:build) do |pipeline, evaluator| if evaluator.child_of pipeline.project = evaluator.child_of.project pipeline.source = :parent_pipeline end + + pipeline.ensure_project_iid! end after(:create) do |pipeline, evaluator| diff --git a/spec/graphql/types/ci/job_type_spec.rb b/spec/graphql/types/ci/job_type_spec.rb index 0da2e291d3c..e3cb56c2ad5 100644 --- a/spec/graphql/types/ci/job_type_spec.rb +++ b/spec/graphql/types/ci/job_type_spec.rb @@ -25,7 +25,7 @@ RSpec.describe Types::Ci::JobType do needs pipeline playable - previousStageJobsAndNeeds + previousStageJobsOrNeeds queued_at queued_duration refName diff --git a/spec/policies/namespaces/user_namespace_policy_spec.rb b/spec/policies/namespaces/user_namespace_policy_spec.rb index 02eda31bfa7..af20982ed0c 100644 --- a/spec/policies/namespaces/user_namespace_policy_spec.rb +++ b/spec/policies/namespaces/user_namespace_policy_spec.rb @@ -3,10 +3,10 @@ require 'spec_helper' RSpec.describe Namespaces::UserNamespacePolicy do - let(:user) { create(:user) } - let(:owner) { create(:user) } - let(:admin) { create(:admin) } - let(:namespace) { create(:namespace, owner: owner) } + let_it_be(:user) { create(:user) } + let_it_be(:owner) { create(:user) } + let_it_be(:admin) { create(:admin) } + let_it_be(:namespace) { create(:user_namespace, owner: owner) } let(:owner_permissions) { [:owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :create_package_settings, :read_package_settings] } diff --git a/spec/requests/api/commit_statuses_spec.rb b/spec/requests/api/commit_statuses_spec.rb index 155d9a36e17..39be28d7427 100644 --- a/spec/requests/api/commit_statuses_spec.rb +++ b/spec/requests/api/commit_statuses_spec.rb @@ -14,8 +14,19 @@ RSpec.describe API::CommitStatuses do let(:get_url) { "/projects/#{project.id}/repository/commits/#{sha}/statuses" } context 'ci commit exists' do - let!(:master) { project.ci_pipelines.create!(source: :push, sha: commit.id, ref: 'master', protected: false) } - let!(:develop) { project.ci_pipelines.create!(source: :push, sha: commit.id, ref: 'develop', protected: false) } + let!(:master) do + project.ci_pipelines.build(source: :push, sha: commit.id, ref: 'master', protected: false).tap do |p| + p.ensure_project_iid! # Necessary to avoid cross-database modification error + p.save! + end + end + + let!(:develop) do + project.ci_pipelines.build(source: :push, sha: commit.id, ref: 'develop', protected: false).tap do |p| + p.ensure_project_iid! # Necessary to avoid cross-database modification error + p.save! + end + end context "reporter user" do let(:statuses_id) { json_response.map { |status| status['id'] } } @@ -310,8 +321,19 @@ RSpec.describe API::CommitStatuses do end context 'when a pipeline id is specified' do - let!(:first_pipeline) { project.ci_pipelines.create!(source: :push, sha: commit.id, ref: 'master', status: 'created') } - let!(:other_pipeline) { project.ci_pipelines.create!(source: :push, sha: commit.id, ref: 'master', status: 'created') } + let!(:first_pipeline) do + project.ci_pipelines.build(source: :push, sha: commit.id, ref: 'master', status: 'created').tap do |p| + p.ensure_project_iid! # Necessary to avoid cross-database modification error + p.save! + end + end + + let!(:other_pipeline) do + project.ci_pipelines.build(source: :push, sha: commit.id, ref: 'master', status: 'created').tap do |p| + p.ensure_project_iid! # Necessary to avoid cross-database modification error + p.save! + end + end subject do post api(post_url, developer), params: { diff --git a/spec/requests/api/graphql/ci/jobs_spec.rb b/spec/requests/api/graphql/ci/jobs_spec.rb index f0b886e5e50..692dc8bfd93 100644 --- a/spec/requests/api/graphql/ci/jobs_spec.rb +++ b/spec/requests/api/graphql/ci/jobs_spec.rb @@ -15,7 +15,7 @@ RSpec.describe 'Query.project.pipeline' do let(:pipeline) do pipeline = create(:ci_pipeline, project: project, user: user) stage = create(:ci_stage_entity, project: project, pipeline: pipeline, name: 'first', position: 1) - create(:ci_build, stage_id: stage.id, pipeline: pipeline, name: 'my test job') + create(:ci_build, stage_id: stage.id, pipeline: pipeline, name: 'my test job', scheduling_type: :stage) pipeline end @@ -48,7 +48,7 @@ RSpec.describe 'Query.project.pipeline' do needs { nodes { #{all_graphql_fields_for('CiBuildNeed')} } } - previousStageJobsAndNeeds { + previousStageJobsOrNeeds { nodes { name } @@ -77,68 +77,48 @@ RSpec.describe 'Query.project.pipeline' do before do build_stage = create(:ci_stage_entity, position: 2, name: 'build', project: project, pipeline: pipeline) test_stage = create(:ci_stage_entity, position: 3, name: 'test', project: project, pipeline: pipeline) - deploy_stage = create(:ci_stage_entity, position: 4, name: 'deploy', project: project, pipeline: pipeline) - create(:ci_build, pipeline: pipeline, stage_idx: build_stage.position, name: 'docker 1 2', stage: build_stage) - create(:ci_build, pipeline: pipeline, stage_idx: build_stage.position, name: 'docker 2 2', stage: build_stage) - create(:ci_build, pipeline: pipeline, stage_idx: test_stage.position, name: 'rspec 1 2', stage: test_stage) - test_job = create(:ci_bridge, pipeline: pipeline, stage_idx: test_stage.position, name: 'rspec 2 2', stage: test_stage) - create(:ci_build, pipeline: pipeline, stage_idx: deploy_stage.position, name: 'deploy 1 2', stage: deploy_stage) - deploy_job = create(:ci_build, pipeline: pipeline, stage_idx: deploy_stage.position, name: 'deploy 2 2', stage: deploy_stage) + create(:ci_build, pipeline: pipeline, name: 'docker 1 2', scheduling_type: :stage, stage: build_stage, stage_idx: build_stage.position) + create(:ci_build, pipeline: pipeline, name: 'docker 2 2', stage: build_stage, stage_idx: build_stage.position, scheduling_type: :dag) + create(:ci_build, pipeline: pipeline, name: 'rspec 1 2', scheduling_type: :stage, stage: test_stage, stage_idx: test_stage.position) + test_job = create(:ci_build, pipeline: pipeline, name: 'rspec 2 2', scheduling_type: :dag, stage: test_stage, stage_idx: test_stage.position) create(:ci_build_need, build: test_job, name: 'my test job') - create(:ci_build_need, build: deploy_job, name: 'rspec 1 2') end - it 'reports the build needs and previous stages with no duplicates', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/346433' do + it 'reports the build needs and execution requirements' do post_graphql(query, current_user: user) expect(jobs_graphql_data).to contain_exactly( a_hash_including( 'name' => 'my test job', 'needs' => { 'nodes' => [] }, - 'previousStageJobsAndNeeds' => { 'nodes' => [] } + 'previousStageJobsOrNeeds' => { 'nodes' => [] } ), a_hash_including( 'name' => 'docker 1 2', 'needs' => { 'nodes' => [] }, - 'previousStageJobsAndNeeds' => { 'nodes' => [ - { "name" => "my test job" } + 'previousStageJobsOrNeeds' => { 'nodes' => [ + { 'name' => 'my test job' } ] } ), a_hash_including( 'name' => 'docker 2 2', 'needs' => { 'nodes' => [] }, - 'previousStageJobsAndNeeds' => { 'nodes' => [ - { "name" => "my test job" } - ] } + 'previousStageJobsOrNeeds' => { 'nodes' => [] } ), a_hash_including( 'name' => 'rspec 1 2', 'needs' => { 'nodes' => [] }, - 'previousStageJobsAndNeeds' => { 'nodes' => [ - { "name" => "docker 1 2" }, { "name" => "docker 2 2" } + 'previousStageJobsOrNeeds' => { 'nodes' => [ + { 'name' => 'docker 1 2' }, { 'name' => 'docker 2 2' } ] } ), a_hash_including( 'name' => 'rspec 2 2', 'needs' => { 'nodes' => [a_hash_including('name' => 'my test job')] }, - 'previousStageJobsAndNeeds' => { 'nodes' => [ - { "name" => "docker 1 2" }, { "name" => "docker 2 2" }, { "name" => "my test job" } - ] } - ), - a_hash_including( - 'name' => 'deploy 1 2', - 'needs' => { 'nodes' => [] }, - 'previousStageJobsAndNeeds' => { 'nodes' => [ - { "name" => "rspec 1 2" }, { "name" => "rspec 2 2" } - ] } - ), - a_hash_including( - 'name' => 'deploy 2 2', - 'needs' => { 'nodes' => [a_hash_including('name' => 'rspec 1 2')] }, - 'previousStageJobsAndNeeds' => { 'nodes' => [ - { "name" => "rspec 1 2" }, { "name" => "rspec 2 2" } + 'previousStageJobsOrNeeds' => { 'nodes' => [ + { 'name' => 'my test job' } ] } ) ) diff --git a/spec/support/database/cross-database-modification-allowlist.yml b/spec/support/database/cross-database-modification-allowlist.yml index a28832a615e..60f5c900b9c 100644 --- a/spec/support/database/cross-database-modification-allowlist.yml +++ b/spec/support/database/cross-database-modification-allowlist.yml @@ -46,7 +46,6 @@ - "./spec/models/ci/group_variable_spec.rb" - "./spec/models/ci/job_artifact_spec.rb" - "./spec/models/ci/job_variable_spec.rb" -- "./spec/models/ci/pipeline_spec.rb" - "./spec/models/ci/runner_spec.rb" - "./spec/models/ci/variable_spec.rb" - "./spec/models/clusters/applications/runner_spec.rb" @@ -63,7 +62,6 @@ - "./spec/models/user_status_spec.rb" - "./spec/requests/api/ci/pipeline_schedules_spec.rb" - "./spec/requests/api/ci/pipelines_spec.rb" -- "./spec/requests/api/commit_statuses_spec.rb" - "./spec/requests/api/commits_spec.rb" - "./spec/requests/api/graphql/mutations/ci/pipeline_destroy_spec.rb" - "./spec/requests/api/resource_access_tokens_spec.rb" diff --git a/spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb b/spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb index 03f565e0aac..fe85daa7235 100644 --- a/spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb +++ b/spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb @@ -80,15 +80,22 @@ RSpec.shared_examples 'AtomicInternalId' do |validate_presence: true| it 'calls InternalId.generate_next and sets internal id attribute' do iid = rand(1..1000) - expect(InternalId).to receive(:generate_next).with(instance, scope_attrs, usage, any_args).and_return(iid) + # Need to do this before evaluating instance otherwise it gets set + # already in factory + allow(InternalId).to receive(:generate_next).and_return(iid) + subject expect(read_internal_id).to eq(iid) + + expect(InternalId).to have_received(:generate_next).with(instance, scope_attrs, usage, any_args) end it 'does not overwrite an existing internal id' do write_internal_id(4711) - expect { subject }.not_to change { read_internal_id } + allow_cross_database_modification_within_transaction(url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/347091') do + expect { subject }.not_to change { read_internal_id } + end end context 'when the instance has an internal ID set' do @@ -101,6 +108,7 @@ RSpec.shared_examples 'AtomicInternalId' do |validate_presence: true| .to receive(:track_greatest) .with(instance, scope_attrs, usage, internal_id, any_args) .and_return(internal_id) + subject end end @@ -110,7 +118,11 @@ RSpec.shared_examples 'AtomicInternalId' do |validate_presence: true| context 'when the internal id has been changed' do context 'when the internal id is automatically set' do it 'clears it on the instance' do - expect_iid_to_be_set_and_rollback + write_internal_id(nil) + + allow_cross_database_modification_within_transaction(url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/347091') do + expect_iid_to_be_set_and_rollback + end expect(read_internal_id).to be_nil end @@ -120,7 +132,9 @@ RSpec.shared_examples 'AtomicInternalId' do |validate_presence: true| it 'does not clear it on the instance' do write_internal_id(100) - expect_iid_to_be_set_and_rollback + allow_cross_database_modification_within_transaction(url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/347091') do + expect_iid_to_be_set_and_rollback + end expect(read_internal_id).not_to be_nil end diff --git a/spec/tooling/danger/project_helper_spec.rb b/spec/tooling/danger/project_helper_spec.rb index 2749a7733de..f13083bdf0a 100644 --- a/spec/tooling/danger/project_helper_spec.rb +++ b/spec/tooling/danger/project_helper_spec.rb @@ -3,7 +3,7 @@ require 'rspec-parameterized' require 'gitlab-dangerfiles' require 'danger' -require 'danger/plugins/helper' +require 'danger/plugins/internal/helper' require 'gitlab/dangerfiles/spec_helper' require_relative '../../../danger/plugins/project_helper' @@ -20,22 +20,7 @@ RSpec.describe Tooling::Danger::ProjectHelper do before do allow(project_helper).to receive(:helper).and_return(fake_helper) - end - - describe '#changes' do - it 'returns an array of Change objects' do - expect(project_helper.changes).to all(be_an(Gitlab::Dangerfiles::Change)) - end - - it 'groups changes by change type' do - changes = project_helper.changes - - expect(changes.added.files).to eq(added_files) - expect(changes.modified.files).to eq(modified_files) - expect(changes.deleted.files).to eq(deleted_files) - expect(changes.renamed_before.files).to eq([renamed_before_file]) - expect(changes.renamed_after.files).to eq([renamed_after_file]) - end + allow(fake_helper).to receive(:config).and_return(double(files_to_category: described_class::CATEGORIES)) end describe '#categories_for_file' do @@ -247,7 +232,7 @@ RSpec.describe Tooling::Danger::ProjectHelper do end with_them do - subject { project_helper.categories_for_file(path) } + subject { project_helper.helper.categories_for_file(path) } it { is_expected.to eq(expected_categories) } end @@ -275,7 +260,7 @@ RSpec.describe Tooling::Danger::ProjectHelper do changed_files.each do |file| allow(fake_git).to receive(:diff_for_file).with(file) { double(:diff, patch: patch) } - expect(project_helper.categories_for_file(file)).to eq(expected_categories) + expect(project_helper.helper.categories_for_file(file)).to eq(expected_categories) end end end @@ -321,93 +306,13 @@ RSpec.describe Tooling::Danger::ProjectHelper do it 'returns all changed files starting with ee/' do changes = double - expect(project_helper).to receive(:changes).and_return(changes) + expect(fake_helper).to receive(:changes).and_return(changes) expect(changes).to receive(:files).and_return(%w[fr/ee/beer.rb ee/wine.rb ee/lib/ido.rb ee.k]) is_expected.to match_array(%w[ee/wine.rb ee/lib/ido.rb]) end end - describe '#project_name' do - subject { project_helper.project_name } - - it 'returns gitlab if ee? returns true' do - expect(project_helper).to receive(:ee?) { true } - - is_expected.to eq('gitlab') - end - - it 'returns gitlab-ce if ee? returns false' do - expect(project_helper).to receive(:ee?) { false } - - is_expected.to eq('gitlab-foss') - end - end - - describe '#ee?' do - subject { project_helper.__send__(:ee?) } - - let(:ee_dir) { File.expand_path('../../../ee', __dir__) } - - context 'when ENV["CI_PROJECT_NAME"] is set' do - before do - stub_env('CI_PROJECT_NAME', ci_project_name) - end - - context 'when ENV["CI_PROJECT_NAME"] is gitlab' do - let(:ci_project_name) { 'gitlab' } - - it 'returns true' do - is_expected.to eq(true) - end - end - - context 'when ENV["CI_PROJECT_NAME"] is gitlab-ee' do - let(:ci_project_name) { 'gitlab-ee' } - - it 'returns true' do - is_expected.to eq(true) - end - end - - context 'when ENV["CI_PROJECT_NAME"] is gitlab-foss' do - let(:ci_project_name) { 'gitlab-foss' } - - it 'resolves to Dir.exist?' do - expected = Dir.exist?(ee_dir) - - expect(Dir).to receive(:exist?).with(ee_dir).and_call_original - - is_expected.to eq(expected) - end - end - end - - context 'when ENV["CI_PROJECT_NAME"] is absent' do - before do - stub_env('CI_PROJECT_NAME', nil) - - expect(Dir).to receive(:exist?).with(ee_dir).and_return(has_ee_dir) - end - - context 'when ee/ directory exists' do - let(:has_ee_dir) { true } - - it 'returns true' do - is_expected.to eq(true) - end - end - - context 'when ee/ directory does not exist' do - let(:has_ee_dir) { false } - - it 'returns false' do - is_expected.to eq(false) - end - end - end - end - describe '#file_lines' do let(:filename) { 'spec/foo_spec.rb' } let(:file_spy) { spy } diff --git a/spec/tooling/danger/specs_spec.rb b/spec/tooling/danger/specs_spec.rb index a5978020c9d..b2454960a7b 100644 --- a/spec/tooling/danger/specs_spec.rb +++ b/spec/tooling/danger/specs_spec.rb @@ -3,7 +3,7 @@ require 'rspec-parameterized' require 'gitlab-dangerfiles' require 'danger' -require 'danger/plugins/helper' +require 'danger/plugins/internal/helper' require 'gitlab/dangerfiles/spec_helper' require_relative '../../../tooling/danger/specs' diff --git a/spec/views/shared/ssh_keys/_key_details.html.haml_spec.rb b/spec/views/shared/ssh_keys/_key_details.html.haml_spec.rb index 400319a42b7..1bee9f7463f 100644 --- a/spec/views/shared/ssh_keys/_key_details.html.haml_spec.rb +++ b/spec/views/shared/ssh_keys/_key_details.html.haml_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' RSpec.describe 'shared/ssh_keys/_key_delete.html.haml' do context 'when the text parameter is used' do it 'has text' do - render 'shared/ssh_keys/key_delete.html.haml', text: 'Button', html_class: '', button_data: '' + render partial: 'shared/ssh_keys/key_delete', formats: :html, locals: { text: 'Button', html_class: '', button_data: '' } expect(rendered).to have_button('Button') end @@ -12,7 +12,7 @@ RSpec.describe 'shared/ssh_keys/_key_delete.html.haml' do context 'when the text parameter is not used' do it 'does not have text' do - render 'shared/ssh_keys/key_delete.html.haml', html_class: '', button_data: '' + render partial: 'shared/ssh_keys/key_delete', formats: :html, locals: { html_class: '', button_data: '' } expect(rendered).to have_button('Delete') end diff --git a/tooling/danger/changelog.rb b/tooling/danger/changelog.rb index fbf8ae931e2..6a392afac13 100644 --- a/tooling/danger/changelog.rb +++ b/tooling/danger/changelog.rb @@ -159,8 +159,8 @@ module Tooling def required_reasons [].tap do |reasons| - reasons << :db_changes if project_helper.changes.added.has_category?(:migration) - reasons << :feature_flag_removed if project_helper.changes.deleted.has_category?(:feature_flag) + reasons << :db_changes if helper.changes.added.has_category?(:migration) + reasons << :feature_flag_removed if helper.changes.deleted.has_category?(:feature_flag) end end @@ -221,7 +221,7 @@ module Tooling end def categories_need_changelog? - (project_helper.changes.categories - NO_CHANGELOG_CATEGORIES).any? + (helper.changes.categories - NO_CHANGELOG_CATEGORIES).any? end def mr_without_no_changelog_label? diff --git a/tooling/danger/project_helper.rb b/tooling/danger/project_helper.rb index 422d22f0d99..b49df50c5f0 100644 --- a/tooling/danger/project_helper.rb +++ b/tooling/danger/project_helper.rb @@ -176,18 +176,6 @@ module Tooling %r{\.js\z} => :frontend }.freeze - def changes_by_category - helper.changes_by_category(CATEGORIES) - end - - def changes - helper.changes(CATEGORIES) - end - - def categories_for_file(file) - helper.categories_for_file(file, CATEGORIES) - end - def local_warning_message "#{MESSAGE_PREFIX} Only the following Danger rules can be run locally: #{LOCAL_RULES.join(', ')}" end @@ -203,11 +191,7 @@ module Tooling end def all_ee_changes - changes.files.grep(%r{\Aee/}) - end - - def project_name - ee? ? 'gitlab' : 'gitlab-foss' + helper.changes.files.grep(%r{\Aee/}) end def file_lines(filename) @@ -223,11 +207,6 @@ module Tooling def read_file(filename) File.read(filename) end - - def ee? - # Support former project name for `dev` and support local Danger run - %w[gitlab gitlab-ee].include?(ENV['CI_PROJECT_NAME']) || Dir.exist?(File.expand_path('../../ee', __dir__)) - end end end end -- cgit v1.2.3