diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-02 21:09:35 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-02 21:09:35 +0300 |
commit | ad05e1db038a2e983d25555144fa29063e060c50 (patch) | |
tree | 36f9c8b4d1d300b69e00c14793303c10cd020f2a /app | |
parent | 1bdf79827c623cc92504223a1085f366115bbb3d (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/packages/details/components/package_files.vue | 57 | ||||
-rw-r--r-- | app/assets/stylesheets/pages/runners.scss | 18 | ||||
-rw-r--r-- | app/helpers/ci/runners_helper.rb | 8 | ||||
-rw-r--r-- | app/models/ci/pipeline.rb | 10 | ||||
-rw-r--r-- | app/models/protected_branch/push_access_level.rb | 14 | ||||
-rw-r--r-- | app/models/service.rb | 4 | ||||
-rw-r--r-- | app/workers/all_queues.yml | 20 | ||||
-rw-r--r-- | app/workers/create_note_diff_file_worker.rb | 2 | ||||
-rw-r--r-- | app/workers/delete_diff_files_worker.rb | 2 | ||||
-rw-r--r-- | app/workers/merge_request_cleanup_refs_worker.rb | 2 | ||||
-rw-r--r-- | app/workers/merge_request_mergeability_check_worker.rb | 2 | ||||
-rw-r--r-- | app/workers/migrate_external_diffs_worker.rb | 2 | ||||
-rw-r--r-- | app/workers/new_merge_request_worker.rb | 2 | ||||
-rw-r--r-- | app/workers/schedule_merge_request_cleanup_refs_worker.rb | 2 | ||||
-rw-r--r-- | app/workers/schedule_migrate_external_diffs_worker.rb | 2 | ||||
-rw-r--r-- | app/workers/stuck_merge_jobs_worker.rb | 2 | ||||
-rw-r--r-- | app/workers/update_merge_requests_worker.rb | 2 |
17 files changed, 95 insertions, 56 deletions
diff --git a/app/assets/javascripts/packages/details/components/package_files.vue b/app/assets/javascripts/packages/details/components/package_files.vue index 62eaff6c3c7..ab46dd0114d 100644 --- a/app/assets/javascripts/packages/details/components/package_files.vue +++ b/app/assets/javascripts/packages/details/components/package_files.vue @@ -1,5 +1,6 @@ <script> import { GlLink, GlTable } from '@gitlab/ui'; +import { last } from 'lodash'; import { __ } from '~/locale'; import Tracking from '~/tracking'; import { numberToHumanSize } from '~/lib/utils/number_utils'; @@ -27,30 +28,41 @@ export default { return this.packageFiles.map(pf => ({ ...pf, size: this.formatSize(pf.size), + pipeline: last(pf.pipelines), })); }, + showCommitColumn() { + return this.filesTableRows.some(row => Boolean(row.pipeline?.id)); + }, + filesTableHeaderFields() { + return [ + { + key: 'name', + label: __('Name'), + tdClass: 'gl-display-flex gl-align-items-center', + }, + { + key: 'commit', + label: __('Commit'), + hide: !this.showCommitColumn, + }, + { + key: 'size', + label: __('Size'), + }, + { + key: 'created', + label: __('Created'), + class: 'gl-text-right', + }, + ].filter(c => !c.hide); + }, }, methods: { formatSize(size) { return numberToHumanSize(size); }, }, - filesTableHeaderFields: [ - { - key: 'name', - label: __('Name'), - tdClass: 'gl-display-flex gl-align-items-center', - }, - { - key: 'size', - label: __('Size'), - }, - { - key: 'created', - label: __('Created'), - class: 'gl-text-right', - }, - ], }; </script> @@ -58,14 +70,14 @@ export default { <div> <h3 class="gl-font-lg gl-mt-5">{{ __('Files') }}</h3> <gl-table - :fields="$options.filesTableHeaderFields" + :fields="filesTableHeaderFields" :items="filesTableRows" :tbody-tr-attr="{ 'data-testid': 'file-row' }" > <template #cell(name)="{ item }"> <gl-link :href="item.download_path" - class="gl-relative" + class="gl-relative gl-text-gray-500" data-testid="download-link" @click="$emit('download-file')" > @@ -78,6 +90,15 @@ export default { </gl-link> </template> + <template #cell(commit)="{item}"> + <gl-link + :href="item.pipeline.project.commit_url" + class="gl-text-gray-500" + data-testid="commit-link" + >{{ item.pipeline.git_commit_message }}</gl-link + > + </template> + <template #cell(created)="{ item }"> <time-ago-tooltip :time="item.created_at" /> </template> diff --git a/app/assets/stylesheets/pages/runners.scss b/app/assets/stylesheets/pages/runners.scss index 8ed6936475b..856e49bd144 100644 --- a/app/assets/stylesheets/pages/runners.scss +++ b/app/assets/stylesheets/pages/runners.scss @@ -12,16 +12,18 @@ } } -.runner-status-online { - color: $green-600; -} +.runner-status { + &.runner-status-online { + background-color: $green-600; + } -.runner-status-offline { - color: $gray-darkest; -} + &.runner-status-offline { + background-color: $gray-darkest; + } -.runner-status-paused { - color: $red-500; + &.runner-status-paused { + background-color: $red-500; + } } .runner { diff --git a/app/helpers/ci/runners_helper.rb b/app/helpers/ci/runners_helper.rb index 432aad663e4..1c8dac31e4c 100644 --- a/app/helpers/ci/runners_helper.rb +++ b/app/helpers/ci/runners_helper.rb @@ -8,14 +8,14 @@ module Ci status = runner.status case status when :not_connected - content_tag(:span, title: "New runner. Has not connected yet") do + content_tag(:span, title: _("New runner. Has not connected yet")) do sprite_icon("warning-solid", size: 24, css_class: "gl-vertical-align-bottom!") end when :online, :offline, :paused - content_tag :i, nil, - class: "fa fa-circle runner-status-#{status}", - title: "Runner is #{status}, last contact was #{time_ago_in_words(runner.contacted_at)} ago" + content_tag :span, nil, + class: "gl-display-inline-block gl-avatar gl-avatar-s16 gl-avatar-circle runner-status runner-status-#{status}", + title: _("Runner is %{status}, last contact was %{runner_contact} ago") % { status: status, runner_contact: time_ago_in_words(runner.contacted_at) } end end diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb index 99bc894b812..50fbfbccdd3 100644 --- a/app/models/ci/pipeline.rb +++ b/app/models/ci/pipeline.rb @@ -775,12 +775,10 @@ module Ci variables.append(key: 'CI_MERGE_REQUEST_SOURCE_BRANCH_SHA', value: source_sha.to_s) variables.append(key: 'CI_MERGE_REQUEST_TARGET_BRANCH_SHA', value: target_sha.to_s) - if Feature.enabled?(:ci_mr_diff_variables, project) - diff = self.merge_request_diff - if diff.present? - variables.append(key: 'CI_MERGE_REQUEST_DIFF_ID', value: diff.id.to_s) - variables.append(key: 'CI_MERGE_REQUEST_DIFF_BASE_SHA', value: diff.base_commit_sha) - end + diff = self.merge_request_diff + if diff.present? + variables.append(key: 'CI_MERGE_REQUEST_DIFF_ID', value: diff.id.to_s) + variables.append(key: 'CI_MERGE_REQUEST_DIFF_BASE_SHA', value: diff.base_commit_sha) end variables.concat(merge_request.predefined_variables) diff --git a/app/models/protected_branch/push_access_level.rb b/app/models/protected_branch/push_access_level.rb index 63d577a4866..5ae9c7030bf 100644 --- a/app/models/protected_branch/push_access_level.rb +++ b/app/models/protected_branch/push_access_level.rb @@ -18,6 +18,14 @@ class ProtectedBranch::PushAccessLevel < ApplicationRecord end end + def check_access(user) + if Feature.enabled?(:deploy_keys_on_protected_branches, project) && user && deploy_key.present? + return true if user.can?(:read_project, project) && enabled_deploy_key_for_user?(deploy_key, user) + end + + super + end + private def validate_deploy_key_membership @@ -27,4 +35,10 @@ class ProtectedBranch::PushAccessLevel < ApplicationRecord self.errors.add(:deploy_key, 'is not enabled for this project') end end + + def enabled_deploy_key_for_user?(deploy_key, user) + return false unless deploy_key.user_id == user.id + + DeployKey.with_write_access_for_project(protected_branch.project, deploy_key: deploy_key).any? + end end diff --git a/app/models/service.rb b/app/models/service.rb index a8f98ce8b20..f9ef7230661 100644 --- a/app/models/service.rb +++ b/app/models/service.rb @@ -414,6 +414,10 @@ class Service < ApplicationRecord !instance? && !group_id end + def parent + project || group + end + # Returns a hash of the properties that have been assigned a new value since last save, # indicating their original values (attr => original value). # ActiveRecord does not provide a mechanism to track changes in serialized keys, diff --git a/app/workers/all_queues.yml b/app/workers/all_queues.yml index 56978287583..0aa27c0d208 100644 --- a/app/workers/all_queues.yml +++ b/app/workers/all_queues.yml @@ -396,7 +396,7 @@ :idempotent: :tags: [] - :name: cronjob:schedule_merge_request_cleanup_refs - :feature_category: :source_code_management + :feature_category: :code_review :has_external_dependencies: :urgency: :low :resource_boundary: :unknown @@ -404,7 +404,7 @@ :idempotent: true :tags: [] - :name: cronjob:schedule_migrate_external_diffs - :feature_category: :source_code_management + :feature_category: :code_review :has_external_dependencies: :urgency: :low :resource_boundary: :unknown @@ -428,7 +428,7 @@ :idempotent: :tags: [] - :name: cronjob:stuck_merge_jobs - :feature_category: :source_code_management + :feature_category: :code_review :has_external_dependencies: :urgency: :low :resource_boundary: :unknown @@ -1426,7 +1426,7 @@ :idempotent: true :tags: [] - :name: create_note_diff_file - :feature_category: :source_code_management + :feature_category: :code_review :has_external_dependencies: :urgency: :low :resource_boundary: :unknown @@ -1442,7 +1442,7 @@ :idempotent: :tags: [] - :name: delete_diff_files - :feature_category: :source_code_management + :feature_category: :code_review :has_external_dependencies: :urgency: :low :resource_boundary: :unknown @@ -1700,7 +1700,7 @@ :idempotent: :tags: [] - :name: merge_request_cleanup_refs - :feature_category: :source_code_management + :feature_category: :code_review :has_external_dependencies: :urgency: :low :resource_boundary: :unknown @@ -1708,7 +1708,7 @@ :idempotent: true :tags: [] - :name: merge_request_mergeability_check - :feature_category: :source_code_management + :feature_category: :code_review :has_external_dependencies: :urgency: :low :resource_boundary: :unknown @@ -1732,7 +1732,7 @@ :idempotent: true :tags: [] - :name: migrate_external_diffs - :feature_category: :source_code_management + :feature_category: :code_review :has_external_dependencies: :urgency: :low :resource_boundary: :unknown @@ -1756,7 +1756,7 @@ :idempotent: :tags: [] - :name: new_merge_request - :feature_category: :source_code_management + :feature_category: :code_review :has_external_dependencies: :urgency: :high :resource_boundary: :cpu @@ -2072,7 +2072,7 @@ :idempotent: true :tags: [] - :name: update_merge_requests - :feature_category: :source_code_management + :feature_category: :code_review :has_external_dependencies: :urgency: :high :resource_boundary: :cpu diff --git a/app/workers/create_note_diff_file_worker.rb b/app/workers/create_note_diff_file_worker.rb index 8a1709f04e1..06790cc89d9 100644 --- a/app/workers/create_note_diff_file_worker.rb +++ b/app/workers/create_note_diff_file_worker.rb @@ -3,7 +3,7 @@ class CreateNoteDiffFileWorker # rubocop:disable Scalability/IdempotentWorker include ApplicationWorker - feature_category :source_code_management + feature_category :code_review def perform(diff_note_id) diff_note = DiffNote.find(diff_note_id) diff --git a/app/workers/delete_diff_files_worker.rb b/app/workers/delete_diff_files_worker.rb index a31cf650b83..289df8873ec 100644 --- a/app/workers/delete_diff_files_worker.rb +++ b/app/workers/delete_diff_files_worker.rb @@ -3,7 +3,7 @@ class DeleteDiffFilesWorker # rubocop:disable Scalability/IdempotentWorker include ApplicationWorker - feature_category :source_code_management + feature_category :code_review # rubocop: disable CodeReuse/ActiveRecord def perform(merge_request_diff_id) diff --git a/app/workers/merge_request_cleanup_refs_worker.rb b/app/workers/merge_request_cleanup_refs_worker.rb index 37774658ba8..6b991a2253f 100644 --- a/app/workers/merge_request_cleanup_refs_worker.rb +++ b/app/workers/merge_request_cleanup_refs_worker.rb @@ -3,7 +3,7 @@ class MergeRequestCleanupRefsWorker include ApplicationWorker - feature_category :source_code_management + feature_category :code_review idempotent! def perform(merge_request_id) diff --git a/app/workers/merge_request_mergeability_check_worker.rb b/app/workers/merge_request_mergeability_check_worker.rb index 1a84efb4e52..70d5f49d70e 100644 --- a/app/workers/merge_request_mergeability_check_worker.rb +++ b/app/workers/merge_request_mergeability_check_worker.rb @@ -3,7 +3,7 @@ class MergeRequestMergeabilityCheckWorker include ApplicationWorker - feature_category :source_code_management + feature_category :code_review idempotent! def perform(merge_request_id) diff --git a/app/workers/migrate_external_diffs_worker.rb b/app/workers/migrate_external_diffs_worker.rb index 0a95f40aa8f..3ef399bd9fc 100644 --- a/app/workers/migrate_external_diffs_worker.rb +++ b/app/workers/migrate_external_diffs_worker.rb @@ -3,7 +3,7 @@ class MigrateExternalDiffsWorker # rubocop:disable Scalability/IdempotentWorker include ApplicationWorker - feature_category :source_code_management + feature_category :code_review def perform(merge_request_diff_id) diff = MergeRequestDiff.find_by_id(merge_request_diff_id) diff --git a/app/workers/new_merge_request_worker.rb b/app/workers/new_merge_request_worker.rb index f672d37a83e..2d28561488b 100644 --- a/app/workers/new_merge_request_worker.rb +++ b/app/workers/new_merge_request_worker.rb @@ -4,7 +4,7 @@ class NewMergeRequestWorker # rubocop:disable Scalability/IdempotentWorker include ApplicationWorker include NewIssuable - feature_category :source_code_management + feature_category :code_review urgency :high worker_resource_boundary :cpu weight 2 diff --git a/app/workers/schedule_merge_request_cleanup_refs_worker.rb b/app/workers/schedule_merge_request_cleanup_refs_worker.rb index 17cabba4278..59b8993f78f 100644 --- a/app/workers/schedule_merge_request_cleanup_refs_worker.rb +++ b/app/workers/schedule_merge_request_cleanup_refs_worker.rb @@ -4,7 +4,7 @@ class ScheduleMergeRequestCleanupRefsWorker include ApplicationWorker include CronjobQueue # rubocop:disable Scalability/CronWorkerContext - feature_category :source_code_management + feature_category :code_review idempotent! # Based on existing data, MergeRequestCleanupRefsWorker can run 3 jobs per diff --git a/app/workers/schedule_migrate_external_diffs_worker.rb b/app/workers/schedule_migrate_external_diffs_worker.rb index 4e7b60c4ab7..70e4d56562b 100644 --- a/app/workers/schedule_migrate_external_diffs_worker.rb +++ b/app/workers/schedule_migrate_external_diffs_worker.rb @@ -10,7 +10,7 @@ class ScheduleMigrateExternalDiffsWorker # rubocop:disable Scalability/Idempoten include Gitlab::ExclusiveLeaseHelpers - feature_category :source_code_management + feature_category :code_review def perform in_lock(self.class.name.underscore, ttl: 2.hours, retries: 0) do diff --git a/app/workers/stuck_merge_jobs_worker.rb b/app/workers/stuck_merge_jobs_worker.rb index 0f9b4ddb980..bea9d67b3e8 100644 --- a/app/workers/stuck_merge_jobs_worker.rb +++ b/app/workers/stuck_merge_jobs_worker.rb @@ -4,7 +4,7 @@ class StuckMergeJobsWorker # rubocop:disable Scalability/IdempotentWorker include ApplicationWorker include CronjobQueue # rubocop:disable Scalability/CronWorkerContext - feature_category :source_code_management + feature_category :code_review def self.logger Gitlab::AppLogger diff --git a/app/workers/update_merge_requests_worker.rb b/app/workers/update_merge_requests_worker.rb index 402c1777662..46cb32e7f08 100644 --- a/app/workers/update_merge_requests_worker.rb +++ b/app/workers/update_merge_requests_worker.rb @@ -3,7 +3,7 @@ class UpdateMergeRequestsWorker # rubocop:disable Scalability/IdempotentWorker include ApplicationWorker - feature_category :source_code_management + feature_category :code_review urgency :high worker_resource_boundary :cpu weight 3 |