Fix retry and cancel for build
This commit is contained in:
parent
82da19cecd
commit
33c9d6e45c
4 changed files with 27 additions and 15 deletions
|
@ -220,14 +220,14 @@ module Ci
|
|||
def cancel_url
|
||||
if active?
|
||||
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
|
||||
|
||||
def retry_url
|
||||
if commands.present?
|
||||
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
|
||||
|
||||
|
|
|
@ -3,11 +3,6 @@
|
|||
= render "commit_box"
|
||||
= 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?
|
||||
.bs-callout.bs-callout-danger
|
||||
|
@ -22,11 +17,18 @@
|
|||
|
||||
.gray-content-block.second-block
|
||||
Latest builds
|
||||
|
||||
.pull-right
|
||||
- if @ci_commit.duration > 0
|
||||
%small.pull-right
|
||||
%i.fa.fa-time
|
||||
#{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
|
||||
%thead
|
||||
%tr
|
||||
|
@ -41,7 +43,8 @@
|
|||
%th Coverage
|
||||
%th
|
||||
- @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?
|
||||
.gray-content-block.second-block
|
||||
|
@ -60,4 +63,5 @@
|
|||
- if @ci_project && @ci_project.coverage_enabled?
|
||||
%th Coverage
|
||||
%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 @@
|
|||
#{commit_status.coverage}%
|
||||
|
||||
%td
|
||||
- if defined?(controls) && controls && current_user && can?(current_user, :manage_builds, gl_project)
|
||||
.pull-right
|
||||
- if current_user && can?(current_user, :manage_builds, commit_status.gl_project)
|
||||
- if commit_status.cancel_url
|
||||
= link_to commit_status.cancel_url, title: 'Cancel' do
|
||||
%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
|
||||
%i.fa.fa-repeat
|
||||
|
|
|
@ -29,8 +29,16 @@ describe "Commits" do
|
|||
it { expect(page).to have_content @commit.git_author_name }
|
||||
end
|
||||
|
||||
describe "Cancel commit" do
|
||||
describe "Cancel all builds" 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)
|
||||
click_on "Cancel"
|
||||
expect(page).to have_content "canceled"
|
||||
|
|
Loading…
Reference in a new issue