Commit 3b93d37e authored by Kamil Trzciński's avatar Kamil Trzciński

Merge branch 'fix-retry-and-cancel' into 'master'

Fix retry and cancel for build

This fixes some regressions introduced by Commit Status API

See merge request !1586
parents 07101cfa 33c9d6e4
...@@ -220,14 +220,14 @@ module Ci ...@@ -220,14 +220,14 @@ module Ci
def cancel_url def cancel_url
if active? if active?
Gitlab::Application.routes.url_helpers. Gitlab::Application.routes.url_helpers.
cancel_namespace_project_build_path(gl_project.namespace, gl_project, self, return_to: request.original_url) cancel_namespace_project_build_path(gl_project.namespace, gl_project, self)
end end
end end
def retry_url def retry_url
if commands.present? if commands.present?
Gitlab::Application.routes.url_helpers. Gitlab::Application.routes.url_helpers.
cancel_namespace_project_build_path(gl_project.namespace, gl_project, self, return_to: request.original_url) retry_namespace_project_build_path(gl_project.namespace, gl_project, self)
end end
end end
......
...@@ -3,11 +3,6 @@ ...@@ -3,11 +3,6 @@
= render "commit_box" = render "commit_box"
= render "ci_menu" = render "ci_menu"
- if @ci_project && current_user && can?(current_user, :manage_builds, @project)
.pull-right
- if @ci_commit.builds.running_or_pending.any?
= link_to "Cancel", cancel_builds_namespace_project_commit_path(@project.namespace, @project, @commit.sha), class: 'btn btn-sm btn-danger'
- if @ci_commit.yaml_errors.present? - if @ci_commit.yaml_errors.present?
.bs-callout.bs-callout-danger .bs-callout.bs-callout-danger
...@@ -22,11 +17,18 @@ ...@@ -22,11 +17,18 @@
.gray-content-block.second-block .gray-content-block.second-block
Latest builds Latest builds
.pull-right
- if @ci_commit.duration > 0 - if @ci_commit.duration > 0
%small.pull-right
%i.fa.fa-time %i.fa.fa-time
#{time_interval_in_words @ci_commit.duration} #{time_interval_in_words @ci_commit.duration}
 
- if @ci_project && current_user && can?(current_user, :manage_builds, @project)
- if @ci_commit.builds.running_or_pending.any?
= link_to "Cancel all", cancel_builds_namespace_project_commit_path(@project.namespace, @project, @commit.sha), class: 'btn btn-xs btn-danger'
%table.table.builds %table.table.builds
%thead %thead
%tr %tr
...@@ -41,7 +43,8 @@ ...@@ -41,7 +43,8 @@
%th Coverage %th Coverage
%th %th
- @ci_commit.refs.each do |ref| - @ci_commit.refs.each do |ref|
= render partial: "projects/commit_statuses/commit_status", collection: @ci_commit.statuses.for_ref(ref).latest.ordered, coverage: @ci_project.try(:coverage_enabled?), controls: true = render partial: "projects/commit_statuses/commit_status", collection: @ci_commit.statuses.for_ref(ref).latest.ordered,
locals: { coverage: @ci_project.try(:coverage_enabled?), allow_retry: true }
- if @ci_commit.retried.any? - if @ci_commit.retried.any?
.gray-content-block.second-block .gray-content-block.second-block
...@@ -60,4 +63,5 @@ ...@@ -60,4 +63,5 @@
- if @ci_project && @ci_project.coverage_enabled? - if @ci_project && @ci_project.coverage_enabled?
%th Coverage %th Coverage
%th %th
= render partial: "projects/commit_statuses/commit_status", collection: @ci_commit.retried, coverage: @ci_project.try(:coverage_enabled?) = render partial: "projects/commit_statuses/commit_status", collection: @ci_commit.retried,
locals: { coverage: @ci_project.try(:coverage_enabled?) }
...@@ -41,11 +41,11 @@ ...@@ -41,11 +41,11 @@
#{commit_status.coverage}% #{commit_status.coverage}%
%td %td
- if defined?(controls) && controls && current_user && can?(current_user, :manage_builds, gl_project)
.pull-right .pull-right
- if current_user && can?(current_user, :manage_builds, commit_status.gl_project)
- if commit_status.cancel_url - if commit_status.cancel_url
= link_to commit_status.cancel_url, title: 'Cancel' do = link_to commit_status.cancel_url, title: 'Cancel' do
%i.fa.fa-remove.cred %i.fa.fa-remove.cred
- elsif commit_status.retry_url - elsif defined?(allow_retry) && allow_retry && commit_status.retry_url
= link_to commit_status.retry_url, method: :post, title: 'Retry' do = link_to commit_status.retry_url, method: :post, title: 'Retry' do
%i.fa.fa-repeat %i.fa.fa-repeat
...@@ -29,8 +29,16 @@ describe "Commits" do ...@@ -29,8 +29,16 @@ describe "Commits" do
it { expect(page).to have_content @commit.git_author_name } it { expect(page).to have_content @commit.git_author_name }
end end
describe "Cancel commit" do describe "Cancel all builds" do
it "cancels commit" do it "cancels commit" do
visit ci_status_path(@commit)
click_on "Cancel all"
expect(page).to have_content "canceled"
end
end
describe "Cancel build" do
it "cancels build" do
visit ci_status_path(@commit) visit ci_status_path(@commit)
click_on "Cancel" click_on "Cancel"
expect(page).to have_content "canceled" expect(page).to have_content "canceled"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment