Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce
This commit is contained in:
commit
f66ec1bc81
12 changed files with 47 additions and 12 deletions
|
@ -11,6 +11,7 @@ v 8.2.0 (unreleased)
|
||||||
- Show "Empty Repository Page" for repository without branches (Artem V. Navrotskiy)
|
- Show "Empty Repository Page" for repository without branches (Artem V. Navrotskiy)
|
||||||
- Fix: Inability to reply to code comments in the MR view, if the MR comes from a fork
|
- Fix: Inability to reply to code comments in the MR view, if the MR comes from a fork
|
||||||
- Use git follow flag for commits page when retrieve history for file or directory
|
- Use git follow flag for commits page when retrieve history for file or directory
|
||||||
|
- Show merge request CI status on merge requests index page
|
||||||
|
|
||||||
v 8.1.0
|
v 8.1.0
|
||||||
- Ensure MySQL CI limits DB migrations occur after the fields have been created (Stan Hu)
|
- Ensure MySQL CI limits DB migrations occur after the fields have been created (Stan Hu)
|
||||||
|
|
|
@ -42,4 +42,13 @@ module CiStatusHelper
|
||||||
|
|
||||||
icon(icon_name)
|
icon(icon_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def render_ci_status(ci_commit)
|
||||||
|
link_to ci_status_path(ci_commit),
|
||||||
|
class: "c#{ci_status_color(ci_commit)}",
|
||||||
|
title: "Build status: #{ci_commit.status}",
|
||||||
|
data: { toggle: 'tooltip', placement: 'left' } do
|
||||||
|
ci_status_icon(ci_commit)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -470,4 +470,10 @@ class MergeRequest < ActiveRecord::Base
|
||||||
unlock_mr if locked?
|
unlock_mr if locked?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def ci_commit
|
||||||
|
if last_commit
|
||||||
|
source_project.ci_commit(last_commit.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -496,7 +496,7 @@ class Repository
|
||||||
|
|
||||||
def search_files(query, ref)
|
def search_files(query, ref)
|
||||||
offset = 2
|
offset = 2
|
||||||
args = %W(git grep -i -n --before-context #{offset} --after-context #{offset} #{query} #{ref || root_ref})
|
args = %W(git grep -i -n --before-context #{offset} --after-context #{offset} -e #{query} #{ref || root_ref})
|
||||||
Gitlab::Popen.popen(args, path_to_repo).first.scrub.split(/^--$/)
|
Gitlab::Popen.popen(args, path_to_repo).first.scrub.split(/^--$/)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,7 @@
|
||||||
|
|
||||||
.pull-right
|
.pull-right
|
||||||
- if ci_commit
|
- if ci_commit
|
||||||
= link_to ci_status_path(ci_commit), class: "c#{ci_status_color(ci_commit)}" do
|
= render_ci_status(ci_commit)
|
||||||
= ci_status_icon(ci_commit)
|
|
||||||
|
|
||||||
= clipboard_button
|
= clipboard_button
|
||||||
= link_to commit.short_id, namespace_project_commit_path(project.namespace, project, commit), class: "commit_short_id", data: {clipboard_text: commit.id}
|
= link_to commit.short_id, namespace_project_commit_path(project.namespace, project, commit), class: "commit_short_id", data: {clipboard_text: commit.id}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
- ci_commit = merge_request.ci_commit
|
||||||
%li{ class: mr_css_classes(merge_request) }
|
%li{ class: mr_css_classes(merge_request) }
|
||||||
.merge-request-title
|
.merge-request-title
|
||||||
%span.merge-request-title-text
|
%span.merge-request-title-text
|
||||||
|
@ -6,6 +7,8 @@
|
||||||
- merge_request.labels.each do |label|
|
- merge_request.labels.each do |label|
|
||||||
= link_to_label(label, project: merge_request.project)
|
= link_to_label(label, project: merge_request.project)
|
||||||
.pull-right.light
|
.pull-right.light
|
||||||
|
- if ci_commit
|
||||||
|
= render_ci_status(ci_commit)
|
||||||
- if merge_request.merged?
|
- if merge_request.merged?
|
||||||
%span
|
%span
|
||||||
%i.fa.fa-check
|
%i.fa.fa-check
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
- ci_commit = @merge_request.source_project.ci_commit(@merge_request.source_sha)
|
- ci_commit = @merge_request.ci_commit
|
||||||
- if ci_commit
|
- if ci_commit
|
||||||
- status = ci_commit.status
|
- status = ci_commit.status
|
||||||
.mr-widget-heading
|
.mr-widget-heading
|
||||||
|
|
|
@ -21,9 +21,7 @@
|
||||||
.project-controls
|
.project-controls
|
||||||
- if ci && !project.empty_repo? && project.commit
|
- if ci && !project.empty_repo? && project.commit
|
||||||
- if ci_commit = project.ci_commit(project.commit.sha)
|
- if ci_commit = project.ci_commit(project.commit.sha)
|
||||||
= link_to ci_status_path(ci_commit), class: "c#{ci_status_color(ci_commit)}",
|
= render_ci_status(ci_commit)
|
||||||
title: "Build status: #{ci_commit.status}", data: {toggle: 'tooltip', placement: 'left'} do
|
|
||||||
= ci_status_icon(ci_commit)
|
|
||||||
|
|
||||||
- if stars
|
- if stars
|
||||||
%span
|
%span
|
||||||
|
|
|
@ -10,6 +10,12 @@ Feature: Project Merge Requests
|
||||||
Then I should see "Bug NS-04" in merge requests
|
Then I should see "Bug NS-04" in merge requests
|
||||||
And I should not see "Feature NS-03" in merge requests
|
And I should not see "Feature NS-03" in merge requests
|
||||||
|
|
||||||
|
Scenario: I should see CI status for merge requests
|
||||||
|
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
|
||||||
|
Given "Bug NS-05" has CI status
|
||||||
|
When I visit project "Shop" merge requests page
|
||||||
|
Then I should see merge request "Bug NS-05" with CI status
|
||||||
|
|
||||||
Scenario: I should see rejected merge requests
|
Scenario: I should see rejected merge requests
|
||||||
Given I click link "Closed"
|
Given I click link "Closed"
|
||||||
Then I should see "Feature NS-03" in merge requests
|
Then I should see "Feature NS-03" in merge requests
|
||||||
|
|
|
@ -338,6 +338,19 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
|
||||||
expect(page).to have_content('diff --git')
|
expect(page).to have_content('diff --git')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
step '"Bug NS-05" has CI status' do
|
||||||
|
project = merge_request.source_project
|
||||||
|
project.enable_ci
|
||||||
|
ci_commit = create :ci_commit, gl_project: project, sha: merge_request.last_commit.id
|
||||||
|
create :ci_build, commit: ci_commit
|
||||||
|
end
|
||||||
|
|
||||||
|
step 'I should see merge request "Bug NS-05" with CI status' do
|
||||||
|
page.within ".mr-list" do
|
||||||
|
expect(page).to have_link "Build status: pending"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def merge_request
|
def merge_request
|
||||||
@merge_request ||= MergeRequest.find_by!(title: "Bug NS-05")
|
@merge_request ||= MergeRequest.find_by!(title: "Bug NS-05")
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,7 +9,7 @@ module Gitlab
|
||||||
else
|
else
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
@query = Shellwords.shellescape(query) if query.present?
|
@query = query
|
||||||
end
|
end
|
||||||
|
|
||||||
def objects(scope, page = nil)
|
def objects(scope, page = nil)
|
||||||
|
|
|
@ -9,7 +9,7 @@ describe Gitlab::ProjectSearchResults do
|
||||||
|
|
||||||
it { expect(results.project).to eq(project) }
|
it { expect(results.project).to eq(project) }
|
||||||
it { expect(results.repository_ref).to be_nil }
|
it { expect(results.repository_ref).to be_nil }
|
||||||
it { expect(results.query).to eq('hello\\ world') }
|
it { expect(results.query).to eq('hello world') }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'initialize with ref' do
|
describe 'initialize with ref' do
|
||||||
|
@ -18,6 +18,6 @@ describe Gitlab::ProjectSearchResults do
|
||||||
|
|
||||||
it { expect(results.project).to eq(project) }
|
it { expect(results.project).to eq(project) }
|
||||||
it { expect(results.repository_ref).to eq(ref) }
|
it { expect(results.repository_ref).to eq(ref) }
|
||||||
it { expect(results.query).to eq('hello\\ world') }
|
it { expect(results.query).to eq('hello world') }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue