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
|
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 @@
|
||||||
= 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 @@
|
||||||
|
|
||||||
.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 @@
|
||||||
%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 @@
|
||||||
- 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 @@
|
||||||
#{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
|
||||||
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"
|
||||||
|
|
Loading…
Reference in a new issue