diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-12 21:09:28 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-12 21:09:28 +0300 |
commit | ce8a0b90849ac5d1895e741c023432930f24d724 (patch) | |
tree | dbdc97de542cdbe18a2fc8b1a6b64ac0673ed3d3 /app | |
parent | dc889678d1de8c09310b2f8f9742bb6c78a6f1a4 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
23 files changed, 245 insertions, 240 deletions
diff --git a/app/assets/javascripts/mr_popover/queries/merge_request.query.graphql b/app/assets/javascripts/mr_popover/queries/merge_request.query.graphql index 37d4bc88a69..0bb9bc03bc7 100644 --- a/app/assets/javascripts/mr_popover/queries/merge_request.query.graphql +++ b/app/assets/javascripts/mr_popover/queries/merge_request.query.graphql @@ -1,4 +1,4 @@ -query mergeRequest($projectPath: ID!, $mergeRequestIID: String!) { +query mergeRequest($projectPath: ID!, $mergeRequestIID: ID!) { project(fullPath: $projectPath) { mergeRequest(iid: $mergeRequestIID) { createdAt diff --git a/app/assets/javascripts/sidebar/queries/sidebarDetails.query.graphql b/app/assets/javascripts/sidebar/queries/sidebarDetails.query.graphql index 8cc68f6ea9a..e9fdc05df5a 100644 --- a/app/assets/javascripts/sidebar/queries/sidebarDetails.query.graphql +++ b/app/assets/javascripts/sidebar/queries/sidebarDetails.query.graphql @@ -1,4 +1,4 @@ -query ($fullPath: ID!, $iid: String!) { +query ($fullPath: ID!, $iid: ID!) { project (fullPath: $fullPath) { issue (iid: $iid) { iid diff --git a/app/assets/javascripts/sidebar/queries/sidebarDetailsForHealthStatusFeatureFlag.query.graphql b/app/assets/javascripts/sidebar/queries/sidebarDetailsForHealthStatusFeatureFlag.query.graphql index 8cc68f6ea9a..e9fdc05df5a 100644 --- a/app/assets/javascripts/sidebar/queries/sidebarDetailsForHealthStatusFeatureFlag.query.graphql +++ b/app/assets/javascripts/sidebar/queries/sidebarDetailsForHealthStatusFeatureFlag.query.graphql @@ -1,4 +1,4 @@ -query ($fullPath: ID!, $iid: String!) { +query ($fullPath: ID!, $iid: ID!) { project (fullPath: $fullPath) { issue (iid: $iid) { iid diff --git a/app/graphql/mutations/issues/base.rb b/app/graphql/mutations/issues/base.rb index 7c545c3eb00..9ec9ff812c2 100644 --- a/app/graphql/mutations/issues/base.rb +++ b/app/graphql/mutations/issues/base.rb @@ -9,7 +9,7 @@ module Mutations required: true, description: "The project the issue to mutate is in" - argument :iid, GraphQL::STRING_TYPE, + argument :iid, GraphQL::ID_TYPE, required: true, description: "The iid of the issue to mutate" diff --git a/app/graphql/mutations/merge_requests/base.rb b/app/graphql/mutations/merge_requests/base.rb index 96228855ace..5828146d82a 100644 --- a/app/graphql/mutations/merge_requests/base.rb +++ b/app/graphql/mutations/merge_requests/base.rb @@ -9,7 +9,7 @@ module Mutations required: true, description: "The project the merge request to mutate is in" - argument :iid, GraphQL::STRING_TYPE, + argument :iid, GraphQL::ID_TYPE, required: true, description: "The iid of the merge request to mutate" diff --git a/app/graphql/resolvers/issues_resolver.rb b/app/graphql/resolvers/issues_resolver.rb index ae77af32b5b..59d37b0bc6f 100644 --- a/app/graphql/resolvers/issues_resolver.rb +++ b/app/graphql/resolvers/issues_resolver.rb @@ -2,11 +2,11 @@ module Resolvers class IssuesResolver < BaseResolver - argument :iid, GraphQL::STRING_TYPE, + argument :iid, GraphQL::ID_TYPE, required: false, description: 'IID of the issue. For example, "1"' - argument :iids, [GraphQL::STRING_TYPE], + argument :iids, [GraphQL::ID_TYPE], required: false, description: 'List of IIDs of issues. For example, [1, 2]' argument :state, Types::IssuableStateEnum, diff --git a/app/graphql/resolvers/merge_requests_resolver.rb b/app/graphql/resolvers/merge_requests_resolver.rb index 1740d614b69..96f1a4ffabd 100644 --- a/app/graphql/resolvers/merge_requests_resolver.rb +++ b/app/graphql/resolvers/merge_requests_resolver.rb @@ -2,11 +2,11 @@ module Resolvers class MergeRequestsResolver < BaseResolver - argument :iid, GraphQL::STRING_TYPE, + argument :iid, GraphQL::ID_TYPE, required: false, description: 'The IID of the merge request, e.g., "1"' - argument :iids, [GraphQL::STRING_TYPE], + argument :iids, [GraphQL::ID_TYPE], required: false, description: 'The list of IIDs of issues, e.g., [1, 2]' diff --git a/app/graphql/types/ci/pipeline_type.rb b/app/graphql/types/ci/pipeline_type.rb index d77b2a2ba32..ba0103781ff 100644 --- a/app/graphql/types/ci/pipeline_type.rb +++ b/app/graphql/types/ci/pipeline_type.rb @@ -11,7 +11,7 @@ module Types field :id, GraphQL::ID_TYPE, null: false, description: 'ID of the pipeline' - field :iid, GraphQL::STRING_TYPE, null: false, + field :iid, GraphQL::ID_TYPE, null: false, description: 'Internal ID of the pipeline' field :sha, GraphQL::STRING_TYPE, null: false, diff --git a/app/graphql/types/merge_request_type.rb b/app/graphql/types/merge_request_type.rb index 0da95b367d8..ba4bdc6a443 100644 --- a/app/graphql/types/merge_request_type.rb +++ b/app/graphql/types/merge_request_type.rb @@ -14,7 +14,7 @@ module Types field :id, GraphQL::ID_TYPE, null: false, description: 'ID of the merge request' - field :iid, GraphQL::STRING_TYPE, null: false, + field :iid, GraphQL::ID_TYPE, null: false, description: 'Internal ID of the merge request' field :title, GraphQL::STRING_TYPE, null: false, description: 'Title of the merge request' diff --git a/app/helpers/analytics_navbar_helper.rb b/app/helpers/analytics_navbar_helper.rb index eecb4090bcf..f94119c4eef 100644 --- a/app/helpers/analytics_navbar_helper.rb +++ b/app/helpers/analytics_navbar_helper.rb @@ -31,7 +31,6 @@ module AnalyticsNavbarHelper end def cycle_analytics_navbar_link(project, current_user) - return unless Feature.enabled?(:analytics_pages_under_project_analytics_sidebar, project, default_enabled: true) return unless project_nav_tab?(:cycle_analytics) navbar_sub_item( @@ -43,7 +42,6 @@ module AnalyticsNavbarHelper end def repository_analytics_navbar_link(project, current_user) - return if Feature.disabled?(:analytics_pages_under_project_analytics_sidebar, project, default_enabled: true) return if project.empty_repo? navbar_sub_item( @@ -55,7 +53,6 @@ module AnalyticsNavbarHelper end def ci_cd_analytics_navbar_link(project, current_user) - return unless Feature.enabled?(:analytics_pages_under_project_analytics_sidebar, project, default_enabled: true) return unless project_nav_tab?(:pipelines) return unless project.feature_available?(:builds, current_user) || !project.empty_repo? diff --git a/app/models/namespace.rb b/app/models/namespace.rb index 631bd930e2f..aae45144f1a 100644 --- a/app/models/namespace.rb +++ b/app/models/namespace.rb @@ -130,7 +130,7 @@ class Namespace < ApplicationRecord return unless host.ends_with?(gitlab_host) name = host.delete_suffix(gitlab_host) - Namespace.find_by_path(name) + Namespace.where(parent_id: nil).find_by_path(name) end # overridden in ee diff --git a/app/models/user.rb b/app/models/user.rb index d1a30c6a5c8..17850d13e48 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -164,6 +164,7 @@ class User < ApplicationRecord has_one :status, class_name: 'UserStatus' has_one :user_preference has_one :user_detail + has_one :user_highest_role # # Validations diff --git a/app/models/user_highest_role.rb b/app/models/user_highest_role.rb new file mode 100644 index 00000000000..dc166273787 --- /dev/null +++ b/app/models/user_highest_role.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +class UserHighestRole < ApplicationRecord + belongs_to :user, optional: false + + validates :highest_access_level, allow_nil: true, inclusion: { in: Gitlab::Access.all_values } +end diff --git a/app/uploaders/avatar_uploader.rb b/app/uploaders/avatar_uploader.rb index e4046e4b7e6..73dafaefb41 100644 --- a/app/uploaders/avatar_uploader.rb +++ b/app/uploaders/avatar_uploader.rb @@ -5,9 +5,8 @@ class AvatarUploader < GitlabUploader include RecordsUploads::Concern include ObjectStorage::Concern prepend ObjectStorage::Extension::RecordsUploads - include UploadTypeCheck::Concern - check_upload_type extensions: AvatarUploader::SAFE_IMAGE_EXT + MIME_WHITELIST = %w[image/png image/jpeg image/gif image/bmp image/tiff image/vnd.microsoft.icon].freeze def exists? model.avatar.file && model.avatar.file.present? @@ -29,6 +28,10 @@ class AvatarUploader < GitlabUploader super || 'avatar' end + def content_type_whitelist + MIME_WHITELIST + end + private def dynamic_segment diff --git a/app/uploaders/content_type_whitelist.rb b/app/uploaders/content_type_whitelist.rb new file mode 100644 index 00000000000..b3975d7e2e0 --- /dev/null +++ b/app/uploaders/content_type_whitelist.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +# Currently we run CarrierWave 1.3.1 which means we can not whitelist files +# by their content type through magic header parsing. +# +# This is a patch to hold us over until we get to CarrierWave 2 :) It's a mashup of +# CarrierWave's lib/carrierwave/uploader/content_type_whitelist.rb and +# lib/carrierwave/sanitized_file.rb +# +# Include this concern and add a content_type_whitelist method to get the same +# behavior as you would with CarrierWave 2. +# +# This is not an exact replacement as we don't override +# SanitizedFile#content_type but we do set the content_type attribute when we +# check the whitelist. +# +# Remove this after moving to CarrierWave 2, though on practical terms it shouldn't +# break anything if left for a while. +module ContentTypeWhitelist + module Concern + extend ActiveSupport::Concern + + private + + # CarrierWave calls this method as part of it's before :cache callbacks. + # Here we override and extend CarrierWave's method that does not parse the + # magic headers. + def check_content_type_whitelist!(new_file) + new_file.content_type = mime_magic_content_type(new_file.path) + + if content_type_whitelist && !whitelisted_content_type?(new_file.content_type) + message = I18n.translate(:"errors.messages.content_type_whitelist_error", allowed_types: Array(content_type_whitelist).join(", ")) + raise CarrierWave::IntegrityError, message + end + + super(new_file) + end + + def whitelisted_content_type?(content_type) + Array(content_type_whitelist).any? { |item| content_type =~ /#{item}/ } + end + + def mime_magic_content_type(path) + if path + File.open(path) do |file| + MimeMagic.by_magic(file).try(:type) || 'invalid/invalid' + end + end + rescue Errno::ENOENT + nil + end + end +end diff --git a/app/uploaders/favicon_uploader.rb b/app/uploaders/favicon_uploader.rb index f393fdf0d84..c9be55e001c 100644 --- a/app/uploaders/favicon_uploader.rb +++ b/app/uploaders/favicon_uploader.rb @@ -1,16 +1,17 @@ # frozen_string_literal: true class FaviconUploader < AttachmentUploader - include UploadTypeCheck::Concern - EXTENSION_WHITELIST = %w[png ico].freeze - - check_upload_type extensions: EXTENSION_WHITELIST + MIME_WHITELIST = %w[image/png image/vnd.microsoft.icon].freeze def extension_whitelist EXTENSION_WHITELIST end + def content_type_whitelist + MIME_WHITELIST + end + private def filename_for_different_format(filename, format) diff --git a/app/uploaders/gitlab_uploader.rb b/app/uploaders/gitlab_uploader.rb index 7dc211b14e4..654bb15378c 100644 --- a/app/uploaders/gitlab_uploader.rb +++ b/app/uploaders/gitlab_uploader.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class GitlabUploader < CarrierWave::Uploader::Base + include ContentTypeWhitelist::Concern + class_attribute :options class << self diff --git a/app/views/layouts/nav/sidebar/_group.html.haml b/app/views/layouts/nav/sidebar/_group.html.haml index b2fa647b23e..588ee63c56f 100644 --- a/app/views/layouts/nav/sidebar/_group.html.haml +++ b/app/views/layouts/nav/sidebar/_group.html.haml @@ -1,4 +1,3 @@ -- should_display_analytics_pages_in_sidebar = Feature.enabled?(:analytics_pages_under_group_analytics_sidebar, @group, default_enabled: true) - issues_count = group_issues_count(state: 'opened') - merge_requests_count = group_merge_requests_count(state: 'opened') @@ -13,8 +12,7 @@ %ul.sidebar-top-level-items.qa-group-sidebar - if group_sidebar_link?(:overview) - paths = group_overview_nav_link_paths - - paths << 'contribution_analytics#show' unless should_display_analytics_pages_in_sidebar - = nav_link(path: paths, unless: -> { should_display_analytics_pages_in_sidebar && current_path?('groups/contribution_analytics#show') }, html_options: { class: 'home' }) do + = nav_link(path: paths, unless: -> { current_path?('groups/contribution_analytics#show') }, html_options: { class: 'home' }) do = link_to group_path(@group) do .nav-icon-container = sprite_icon('home') @@ -45,19 +43,10 @@ %span = _('Activity') - - unless should_display_analytics_pages_in_sidebar - - if group_sidebar_link?(:contribution_analytics) - = nav_link(path: 'contribution_analytics#show') do - = link_to group_contribution_analytics_path(@group), title: _('Contribution'), data: { placement: 'right', qa_selector: 'contribution_analytics_link' } do - %span - = _('Contribution') - - = render_if_exists 'layouts/nav/group_insights_link' - = render_if_exists "layouts/nav/ee/epic_link", group: @group - if group_sidebar_link?(:issues) - = nav_link(path: group_issues_sub_menu_items, unless: -> { should_display_analytics_pages_in_sidebar && current_path?('issues_analytics#show') }) do + = nav_link(path: group_issues_sub_menu_items, unless: -> { current_path?('issues_analytics#show') }) do = link_to issues_group_path(@group), data: { qa_selector: 'group_issues_item' } do .nav-icon-container = sprite_icon('issues') @@ -84,9 +73,6 @@ %span = boards_link_text - - unless should_display_analytics_pages_in_sidebar - = render_if_exists 'layouts/nav/issues_analytics_link' - - if group_sidebar_link?(:labels) = nav_link(path: 'labels#index') do = link_to group_labels_path(@group), title: _('Labels') do diff --git a/app/views/layouts/nav/sidebar/_project.html.haml b/app/views/layouts/nav/sidebar/_project.html.haml index aef9532fd46..d7619799f14 100644 --- a/app/views/layouts/nav/sidebar/_project.html.haml +++ b/app/views/layouts/nav/sidebar/_project.html.haml @@ -1,5 +1,3 @@ -- should_display_analytics_pages_in_sidebar = Feature.enabled?(:analytics_pages_under_project_analytics_sidebar, @project, default_enabled: true) - .nav-sidebar{ class: ("sidebar-collapsed-desktop" if collapsed_sidebar?) } .nav-sidebar-inner-scroll - can_edit = can?(current_user, :admin_project, @project) @@ -10,9 +8,7 @@ .sidebar-context-title = @project.name %ul.sidebar-top-level-items.qa-project-sidebar - - paths = sidebar_projects_paths - - paths << 'cycle_analytics#show' unless should_display_analytics_pages_in_sidebar - = nav_link(path: paths, html_options: { class: 'home' }) do + = nav_link(path: sidebar_projects_paths, html_options: { class: 'home' }) do = link_to project_path(@project), class: 'shortcuts-project rspec-project-link', data: { qa_selector: 'project_link' } do .nav-icon-container = sprite_icon('home') @@ -39,17 +35,8 @@ %span= _('Releases') - - unless should_display_analytics_pages_in_sidebar - - if can?(current_user, :read_cycle_analytics, @project) - = nav_link(path: 'cycle_analytics#show') do - = link_to project_cycle_analytics_path(@project), title: _('Value Stream'), class: 'shortcuts-project-cycle-analytics' do - %span= _('Value Stream') - - = render_if_exists 'layouts/nav/project_insights_link' - - - if project_nav_tab? :files - = nav_link(controller: sidebar_repository_paths, unless: -> { should_display_analytics_pages_in_sidebar && current_path?('projects/graphs#charts') }) do + = nav_link(controller: sidebar_repository_paths, unless: -> { current_path?('projects/graphs#charts') }) do = link_to project_tree_path(@project), class: 'shortcuts-tree qa-project-menu-repo' do .nav-icon-container = sprite_icon('doc-text') @@ -90,11 +77,6 @@ = link_to project_compare_index_path(@project, from: @repository.root_ref, to: current_ref) do = _('Compare') - - unless should_display_analytics_pages_in_sidebar - = nav_link(path: 'graphs#charts') do - = link_to charts_project_graph_path(@project, current_ref) do - = _('Charts') - = render_if_exists 'projects/sidebar/repository_locked_files' - if project_nav_tab? :issues @@ -178,7 +160,7 @@ = number_with_delimiter(@project.open_merge_requests_count) - if project_nav_tab? :pipelines - = nav_link(controller: [:pipelines, :builds, :jobs, :pipeline_schedules, :artifacts], unless: -> { should_display_analytics_pages_in_sidebar && current_path?('projects/pipelines#charts') }) do + = nav_link(controller: [:pipelines, :builds, :jobs, :pipeline_schedules, :artifacts], unless: -> { current_path?('projects/pipelines#charts') }) do = link_to project_pipelines_path(@project), class: 'shortcuts-pipelines qa-link-pipelines rspec-link-pipelines', data: { qa_selector: 'ci_cd_link' } do .nav-icon-container = sprite_icon('rocket') @@ -215,12 +197,6 @@ %span = _('Schedules') - - if !should_display_analytics_pages_in_sidebar && @project.feature_available?(:builds, current_user) && !@project.empty_repo? - = nav_link(path: 'pipelines#charts') do - = link_to charts_project_pipelines_path(@project), title: _('Charts'), class: 'shortcuts-pipelines-charts' do - %span - = _('Charts') - = render_if_exists 'layouts/nav/sidebar/project_security_link' # EE-specific - if project_nav_tab? :operations @@ -426,13 +402,6 @@ = link_to project_network_path(@project, current_ref), title: _('Network'), class: 'shortcuts-network' do = _('Graph') - - unless should_display_analytics_pages_in_sidebar - -# Shortcut to Repository > Charts (formerly, top-nav item "Graphs") - - unless @project.empty_repo? - %li.hidden - = link_to charts_project_graph_path(@project, current_ref), title: _('Charts'), class: 'shortcuts-repository-charts' do - = _('Charts') - -# Shortcut to Issues > New Issue - if project_nav_tab?(:issues) %li.hidden diff --git a/app/workers/all_queues.yml b/app/workers/all_queues.yml index 81c09a77730..d70df18ffaf 100644 --- a/app/workers/all_queues.yml +++ b/app/workers/all_queues.yml @@ -6,602 +6,602 @@ - :name: auto_devops:auto_devops_disable :feature_category: :auto_devops :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: auto_merge:auto_merge_process :feature_category: :continuous_delivery :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 3 :idempotent: - :name: chaos:chaos_cpu_spin :feature_category: :chaos_engineering :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: chaos:chaos_db_spin :feature_category: :chaos_engineering :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: chaos:chaos_kill :feature_category: :chaos_engineering :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: chaos:chaos_leak_mem :feature_category: :chaos_engineering :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: chaos:chaos_sleep :feature_category: :chaos_engineering :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: container_repository:cleanup_container_repository :feature_category: :container_registry :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: container_repository:delete_container_repository :feature_category: :container_registry :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:admin_email :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:ci_archive_traces_cron :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:container_expiration_policy :feature_category: :container_registry :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:environments_auto_stop_cron :feature_category: :continuous_delivery :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:expire_build_artifacts :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:gitlab_usage_ping :feature_category: :collection :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:import_export_project_cleanup :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:issue_due_scheduler :feature_category: :issue_tracking :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:namespaces_prune_aggregation_schedules :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 1 :idempotent: - :name: cronjob:pages_domain_removal_cron :feature_category: :pages :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 1 :idempotent: - :name: cronjob:pages_domain_ssl_renewal_cron :feature_category: :pages :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:pages_domain_verification_cron :feature_category: :pages :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:personal_access_tokens_expiring :feature_category: :authentication_and_authorization :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:pipeline_schedule :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 1 :idempotent: - :name: cronjob:prune_old_events :feature_category: :users :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:prune_web_hook_logs :feature_category: :integrations :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:remove_expired_group_links :feature_category: :authentication_and_authorization :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:remove_expired_members :feature_category: :authentication_and_authorization :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 1 :idempotent: - :name: cronjob:remove_unreferenced_lfs_objects :feature_category: :git_lfs :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:repository_archive_cache :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:repository_check_dispatch :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:requests_profiles :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:schedule_migrate_external_diffs :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:stuck_ci_jobs :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 1 :idempotent: - :name: cronjob:stuck_export_jobs :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 1 :idempotent: - :name: cronjob:stuck_import_jobs :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 1 :idempotent: - :name: cronjob:stuck_merge_jobs :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: cronjob:trending_projects :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: deployment:deployments_finished :feature_category: :continuous_delivery :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 3 :idempotent: - :name: deployment:deployments_forward_deployment :feature_category: :continuous_delivery :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 3 :idempotent: - :name: deployment:deployments_success :feature_category: :continuous_delivery :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 3 :idempotent: - :name: gcp_cluster:cluster_configure :feature_category: :kubernetes_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:cluster_configure_istio :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:cluster_install_app :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:cluster_patch_app :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:cluster_project_configure :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:cluster_provision :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:cluster_upgrade_app :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:cluster_wait_for_app_installation :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 1 :idempotent: - :name: gcp_cluster:cluster_wait_for_ingress_ip_address :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:clusters_applications_activate_service :feature_category: :kubernetes_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:clusters_applications_deactivate_service :feature_category: :kubernetes_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:clusters_applications_uninstall :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:clusters_applications_wait_for_uninstall_app :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 1 :idempotent: - :name: gcp_cluster:clusters_cleanup_app :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:clusters_cleanup_project_namespace :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:clusters_cleanup_service_account :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: gcp_cluster:wait_for_cluster_creation :feature_category: :kubernetes_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_import_diff_note :feature_category: :importers :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_import_issue :feature_category: :importers :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_import_lfs_object :feature_category: :importers :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_import_note :feature_category: :importers :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_import_pull_request :feature_category: :importers :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_refresh_import_jid :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_stage_finish_import :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_stage_import_base_data :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_stage_import_issues_and_diff_notes :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_stage_import_lfs_objects :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_stage_import_notes :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_stage_import_pull_requests :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_importer:github_import_stage_import_repository :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: hashed_storage:hashed_storage_migrator :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: hashed_storage:hashed_storage_project_migrate :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: hashed_storage:hashed_storage_project_rollback :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: hashed_storage:hashed_storage_rollbacker :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: incident_management:incident_management_process_alert :feature_category: :incident_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: mail_scheduler:mail_scheduler_issue_due :feature_category: :issue_tracking :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: mail_scheduler:mail_scheduler_notification_service :feature_category: :issue_tracking :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 2 :idempotent: - :name: notifications:new_release :feature_category: :release_orchestration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: object_pool:object_pool_create :feature_category: :gitaly :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: object_pool:object_pool_destroy :feature_category: :gitaly :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: object_pool:object_pool_join :feature_category: :gitaly :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 1 :idempotent: - :name: object_pool:object_pool_schedule_join :feature_category: :gitaly :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: object_storage:object_storage_background_move :feature_category: :not_owned :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: object_storage:object_storage_migrate_uploads :feature_category: :not_owned :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: pipeline_background:archive_trace :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: pipeline_background:ci_build_trace_chunk_flush :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: @@ -629,28 +629,28 @@ - :name: pipeline_creation:run_pipeline_schedule :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 4 :idempotent: - :name: pipeline_default:build_coverage :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 3 :idempotent: - :name: pipeline_default:build_trace_sections :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 3 :idempotent: - :name: pipeline_default:ci_create_cross_project_pipeline :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 3 :idempotent: @@ -720,21 +720,21 @@ - :name: pipeline_processing:ci_build_prepare :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 5 :idempotent: - :name: pipeline_processing:ci_build_schedule :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 5 :idempotent: - :name: pipeline_processing:ci_resource_groups_assign_resource_from_resource_group :feature_category: :continuous_delivery :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 5 :idempotent: @@ -776,70 +776,70 @@ - :name: repository_check:repository_check_batch :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: repository_check:repository_check_clear :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: repository_check:repository_check_single_repository :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: todos_destroyer:todos_destroyer_confidential_issue :feature_category: :issue_tracking :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: todos_destroyer:todos_destroyer_entity_leave :feature_category: :issue_tracking :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: todos_destroyer:todos_destroyer_group_private :feature_category: :issue_tracking :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: todos_destroyer:todos_destroyer_private_features :feature_category: :issue_tracking :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: todos_destroyer:todos_destroyer_project_private :feature_category: :issue_tracking :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: update_namespace_statistics:namespaces_root_statistics :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: update_namespace_statistics:namespaces_schedule_aggregation :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: @@ -860,7 +860,7 @@ - :name: background_migration :feature_category: :not_owned :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: @@ -874,21 +874,21 @@ - :name: create_commit_signature :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: create_evidence :feature_category: :release_evidence :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: create_note_diff_file :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: @@ -902,35 +902,35 @@ - :name: delete_diff_files :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: delete_merged_branches :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: delete_stored_files :feature_category: :not_owned :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: delete_user :feature_category: :authentication_and_authorization :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: detect_repository_languages :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: @@ -951,35 +951,35 @@ - :name: error_tracking_issue_link :feature_category: :error_tracking :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: expire_build_instance_artifacts :feature_category: :continuous_integration :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: file_hook :feature_category: :integrations :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: git_garbage_collect :feature_category: :gitaly :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: github_import_advance_stage :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: @@ -993,42 +993,42 @@ - :name: group_destroy :feature_category: :subgroups :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: group_export :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: group_import :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: import_issues_csv :feature_category: :issue_tracking :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :cpu :weight: 2 :idempotent: - :name: invalid_gpg_signature_update :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: irker :feature_category: :integrations :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: @@ -1049,21 +1049,21 @@ - :name: merge_request_mergeability_check :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: migrate_external_diffs :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: namespaceless_project_destroy :feature_category: :authentication_and_authorization :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: @@ -1091,28 +1091,28 @@ - :name: pages :feature_category: :pages :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: pages_domain_ssl_renewal :feature_category: :pages :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: pages_domain_verification :feature_category: :pages :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: phabricator_import_import_tasks :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: @@ -1140,42 +1140,42 @@ - :name: project_daily_statistics :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: project_destroy :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: project_export :feature_category: :importers :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :memory :weight: 1 :idempotent: - :name: project_service :feature_category: :integrations :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: project_update_repository_storage :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: propagate_service_template :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: @@ -1189,77 +1189,77 @@ - :name: rebase :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: remote_mirror_notification :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: repository_cleanup :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: repository_fork :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: repository_import :feature_category: :importers :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: repository_remove_remote :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: repository_update_remote_mirror :feature_category: :source_code_management :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: self_monitoring_project_create :feature_category: :metrics :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: self_monitoring_project_delete :feature_category: :metrics :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 2 :idempotent: - :name: system_hook_push :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: update_external_pull_requests :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 3 :idempotent: @@ -1273,21 +1273,21 @@ - :name: update_project_statistics :feature_category: :source_code_management :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: upload_checksum :feature_category: :geo_replication :has_external_dependencies: - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: - :name: web_hook :feature_category: :integrations :has_external_dependencies: true - :urgency: :default + :urgency: :low :resource_boundary: :unknown :weight: 1 :idempotent: diff --git a/app/workers/concerns/worker_attributes.rb b/app/workers/concerns/worker_attributes.rb index 216f73b58e2..b60179531af 100644 --- a/app/workers/concerns/worker_attributes.rb +++ b/app/workers/concerns/worker_attributes.rb @@ -8,7 +8,7 @@ module WorkerAttributes VALID_RESOURCE_BOUNDARIES = [:memory, :cpu, :unknown].freeze # Urgencies that workers can declare through the `urgencies` attribute - VALID_URGENCIES = [:high, :default, :none].freeze + VALID_URGENCIES = [:high, :low, :throttled].freeze NAMESPACE_WEIGHTS = { auto_devops: 2, @@ -65,7 +65,7 @@ module WorkerAttributes end def get_urgency - worker_attributes[:urgency] || :default + worker_attributes[:urgency] || :low end # Set this attribute on a job when it will call to services outside of the diff --git a/app/workers/error_tracking_issue_link_worker.rb b/app/workers/error_tracking_issue_link_worker.rb index d59abaf8683..9febd5cfecc 100644 --- a/app/workers/error_tracking_issue_link_worker.rb +++ b/app/workers/error_tracking_issue_link_worker.rb @@ -26,8 +26,8 @@ class ErrorTrackingIssueLinkWorker # rubocop:disable Scalability/IdempotentWorke logger.info("Linking Sentry issue #{sentry_issue_id} to GitLab issue #{issue.id}") sentry_client.create_issue_link(integration_id, sentry_issue_id, issue) - rescue Sentry::Client::Error - logger.info("Failed to link Sentry issue #{sentry_issue_id} to GitLab issue #{issue.id}") + rescue Sentry::Client::Error => e + logger.info("Failed to link Sentry issue #{sentry_issue_id} to GitLab issue #{issue.id} with error: #{e.message}") end end diff --git a/app/workers/update_merge_requests_worker.rb b/app/workers/update_merge_requests_worker.rb index 4c2a85d6642..63bb6171b9c 100644 --- a/app/workers/update_merge_requests_worker.rb +++ b/app/workers/update_merge_requests_worker.rb @@ -18,21 +18,7 @@ class UpdateMergeRequestsWorker # rubocop:disable Scalability/IdempotentWorker user = User.find_by(id: user_id) return unless user - # TODO: remove this benchmarking when we have rich logging - time = Benchmark.measure do - MergeRequests::RefreshService.new(project, user).execute(oldrev, newrev, ref) - end - - args_log = [ - "elapsed=#{time.real}", - "project_id=#{project_id}", - "user_id=#{user_id}", - "oldrev=#{oldrev}", - "newrev=#{newrev}", - "ref=#{ref}" - ].join(',') - - Rails.logger.info("UpdateMergeRequestsWorker#perform #{args_log}") if time.real > LOG_TIME_THRESHOLD # rubocop:disable Gitlab/RailsLogger + MergeRequests::RefreshService.new(project, user).execute(oldrev, newrev, ref) end # rubocop: enable CodeReuse/ActiveRecord end |