summaryrefslogtreecommitdiff
path: root/app/views/projects/jobs/show.html.haml
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/projects/jobs/show.html.haml')
-rw-r--r--app/views/projects/jobs/show.html.haml100
1 files changed, 100 insertions, 0 deletions
diff --git a/app/views/projects/jobs/show.html.haml b/app/views/projects/jobs/show.html.haml
new file mode 100644
index 00000000000..fa086413fbe
--- /dev/null
+++ b/app/views/projects/jobs/show.html.haml
@@ -0,0 +1,100 @@
+- @no_container = true
+- page_title "#{@build.name} (##{@build.id})", "Jobs"
+= render "projects/pipelines/head"
+
+%div{ class: container_class }
+ .build-page.js-build-page
+ #js-build-header-vue
+ - if @build.stuck?
+ - unless @build.any_runners_online?
+ .bs-callout.bs-callout-warning.js-build-stuck
+ %p
+ - if no_runners_for_project?(@build.project)
+ This job is stuck, because the project doesn't have any runners online assigned to it.
+ - elsif @build.tags.any?
+ This job is stuck, because you don't have any active runners online with any of these tags assigned to them:
+ - @build.tags.each do |tag|
+ %span.label.label-primary
+ = tag
+ - else
+ This job is stuck, because you don't have any active runners that can run this job.
+
+ %br
+ Go to
+ = link_to project_runners_path(@build.project) do
+ Runners page
+
+ - if @build.starts_environment?
+ .prepend-top-default.js-environment-container
+ .environment-information
+ - if @build.outdated_deployment?
+ = ci_icon_for_status('success_with_warnings')
+ - else
+ = ci_icon_for_status(@build.status)
+
+ - environment = environment_for_build(@build.project, @build)
+ - if @build.success? && @build.last_deployment.present?
+ - if @build.last_deployment.last?
+ This job is the most recent deployment to #{environment_link_for_build(@build.project, @build)}.
+ - else
+ This job is an out-of-date deployment to #{environment_link_for_build(@build.project, @build)}.
+ View the most recent deployment #{deployment_link(environment.last_deployment)}.
+ - elsif @build.complete? && !@build.success?
+ The deployment of this job to #{environment_link_for_build(@build.project, @build)} did not succeed.
+ - else
+ This job is creating a deployment to #{environment_link_for_build(@build.project, @build)}
+ - if environment.try(:last_deployment)
+ and will overwrite the #{deployment_link(environment.last_deployment, text: 'latest deployment')}
+
+ - if @build.erased?
+ .prepend-top-default.js-build-erased
+ .erased.alert.alert-warning
+ - if @build.erased_by_user?
+ Job has been erased by #{link_to(@build.erased_by_name, user_path(@build.erased_by))} #{time_ago_with_tooltip(@build.erased_at)}
+ - else
+ Job has been erased #{time_ago_with_tooltip(@build.erased_at)}
+
+ .build-trace-container.prepend-top-default
+ .top-bar.js-top-bar
+ .js-truncated-info.truncated-info.hidden<
+ Showing last
+ %span.js-truncated-info-size.truncated-info-size><
+ KiB of log -
+ %a.js-raw-link.raw-link{ href: raw_project_job_path(@project, @build) }>< Complete Raw
+
+ .controllers
+ - if @build.has_trace?
+ = link_to raw_project_job_path(@project, @build),
+ title: 'Show complete raw',
+ data: { placement: 'top', container: 'body' },
+ class: 'js-raw-link-controller has-tooltip controllers-buttons' do
+ = icon('file-text-o')
+
+ - if can?(current_user, :update_build, @project) && @build.erasable?
+ = link_to erase_project_job_path(@project, @build),
+ method: :post,
+ data: { confirm: 'Are you sure you want to erase this build?', placement: 'top', container: 'body' },
+ title: 'Erase job log',
+ class: 'has-tooltip js-erase-link controllers-buttons' do
+ = icon('trash')
+ .has-tooltip.controllers-buttons{ title: 'Scroll to top', data: { placement: 'top', container: 'body'} }
+ %button.js-scroll-up.btn-scroll.btn-transparent.btn-blank{ type: 'button', disabled: true }
+ = custom_icon('scroll_up')
+ .has-tooltip.controllers-buttons{ title: 'Scroll to bottom', data: { placement: 'top', container: 'body'} }
+ %button.js-scroll-down.btn-scroll.btn-transparent.btn-blank{ type: 'button', disabled: true }
+ = custom_icon('scroll_down')
+
+ %pre.build-trace#build-trace
+ %code.bash.js-build-output
+ .build-loader-animation.js-build-refresh
+
+
+ = render "sidebar"
+
+.js-build-options{ data: javascript_build_options }
+
+#js-job-details-vue{ data: { endpoint: project_job_path(@project, @build, format: :json) } }
+
+- content_for :page_specific_javascripts do
+ = webpack_bundle_tag('common_vue')
+ = webpack_bundle_tag('job_details')