2017-09-10 17:25:29 +05:30
|
|
|
%aside.right-sidebar.right-sidebar-expanded.build-sidebar.js-build-sidebar.js-right-sidebar{ data: { "offset-top" => "101", "spy" => "affix" } }
|
|
|
|
.sidebar-container
|
|
|
|
.blocks-container
|
2018-11-08 19:23:39 +05:30
|
|
|
- if can?(current_user, :create_build_terminal, @build)
|
|
|
|
.block
|
|
|
|
= link_to terminal_project_job_path(@project, @build), class: 'terminal-button pull-right btn visible-md-block visible-lg-block', title: 'Terminal' do
|
|
|
|
Terminal
|
2017-09-10 17:25:29 +05:30
|
|
|
|
2018-10-15 14:42:47 +05:30
|
|
|
#js-details-block-vue{ data: { can_user_retry: can?(current_user, :update_build, @build) && @build.retryable? } }
|
2017-09-10 17:25:29 +05:30
|
|
|
|
|
|
|
- if can?(current_user, :read_build, @project) && (@build.artifacts? || @build.artifacts_expired?)
|
|
|
|
.block
|
|
|
|
.title
|
|
|
|
Job artifacts
|
|
|
|
- if @build.artifacts_expired?
|
|
|
|
%p.build-detail-row
|
|
|
|
The artifacts were removed
|
|
|
|
#{time_ago_with_tooltip(@build.artifacts_expire_at)}
|
|
|
|
- elsif @build.has_expiring_artifacts?
|
|
|
|
%p.build-detail-row
|
2018-11-08 19:23:39 +05:30
|
|
|
The artifacts will be removed
|
|
|
|
#{time_ago_with_tooltip(@build.artifacts_expire_at)}
|
2017-09-10 17:25:29 +05:30
|
|
|
|
|
|
|
- if @build.artifacts?
|
2018-10-15 14:42:47 +05:30
|
|
|
.btn-group.d-flex{ role: :group }
|
2017-09-10 17:25:29 +05:30
|
|
|
- if @build.has_expiring_artifacts? && can?(current_user, :update_build, @build)
|
|
|
|
= link_to keep_project_job_artifacts_path(@project, @build), class: 'btn btn-sm btn-default', method: :post do
|
|
|
|
Keep
|
|
|
|
|
|
|
|
= link_to download_project_job_artifacts_path(@project, @build), rel: 'nofollow', download: '', class: 'btn btn-sm btn-default' do
|
|
|
|
Download
|
|
|
|
|
2018-05-09 12:01:36 +05:30
|
|
|
- if @build.browsable_artifacts?
|
2017-09-10 17:25:29 +05:30
|
|
|
= link_to browse_project_job_artifacts_path(@project, @build), class: 'btn btn-sm btn-default' do
|
|
|
|
Browse
|
|
|
|
|
|
|
|
- if @build.trigger_request
|
|
|
|
.build-widget.block
|
|
|
|
%h4.title
|
|
|
|
Trigger
|
|
|
|
|
2018-03-17 18:26:18 +05:30
|
|
|
- if @build.trigger_request&.trigger&.short_token
|
|
|
|
%p
|
|
|
|
%span.build-light-text Token:
|
|
|
|
#{@build.trigger_request.trigger.short_token}
|
2017-09-10 17:25:29 +05:30
|
|
|
|
2018-03-17 18:26:18 +05:30
|
|
|
- if @build.trigger_variables.any?
|
2017-09-10 17:25:29 +05:30
|
|
|
%p
|
2018-10-15 14:42:47 +05:30
|
|
|
%button.btn.group.js-reveal-variables Reveal Variables
|
2017-09-10 17:25:29 +05:30
|
|
|
|
|
|
|
%dl.js-build-variables.trigger-build-variables.hide
|
2018-03-17 18:26:18 +05:30
|
|
|
- @build.trigger_variables.each do |trigger_variable|
|
|
|
|
%dt.js-build-variable.trigger-build-variable= trigger_variable[:key]
|
|
|
|
%dd.js-build-value.trigger-build-value= trigger_variable[:value]
|
2017-09-10 17:25:29 +05:30
|
|
|
|
|
|
|
%div{ class: (@build.pipeline.stages_count > 1 ? "block" : "block-last") }
|
|
|
|
%p
|
|
|
|
Commit
|
|
|
|
= link_to @build.pipeline.short_sha, project_commit_path(@project, @build.pipeline.sha), class: 'commit-sha link-commit'
|
|
|
|
= clipboard_button(text: @build.pipeline.short_sha, title: "Copy commit SHA to clipboard")
|
|
|
|
- if @build.merge_request
|
|
|
|
in
|
|
|
|
= link_to "#{@build.merge_request.to_reference}", merge_request_path(@build.merge_request), class: 'link-commit'
|
|
|
|
|
|
|
|
%p.build-light-text.append-bottom-0
|
|
|
|
#{@build.pipeline.git_commit_title}
|
|
|
|
|
|
|
|
- if @build.pipeline.stages_count > 1
|
|
|
|
.block-last.dropdown.build-dropdown
|
|
|
|
%div
|
|
|
|
%span{ class: "ci-status-icon-#{@build.pipeline.status}" }
|
|
|
|
= ci_icon_for_status(@build.pipeline.status)
|
|
|
|
Pipeline
|
|
|
|
= link_to "##{@build.pipeline.id}", project_pipeline_path(@project, @build.pipeline), class: 'link-commit'
|
|
|
|
from
|
|
|
|
= link_to "#{@build.pipeline.ref}", project_ref_path(@project, @build.pipeline.ref), class: 'link-commit ref-name'
|
|
|
|
%button.dropdown-menu-toggle{ type: 'button', 'data-toggle' => 'dropdown' }
|
|
|
|
%span.stage-selection More
|
|
|
|
= icon('chevron-down')
|
|
|
|
%ul.dropdown-menu
|
|
|
|
- @build.pipeline.legacy_stages.each do |stage|
|
|
|
|
%li
|
|
|
|
%a.stage-item= stage.name
|
|
|
|
|
|
|
|
.builds-container
|
|
|
|
- HasStatus::ORDERED_STATUSES.each do |build_status|
|
|
|
|
- builds.select{|build| build.status == build_status}.each do |build|
|
|
|
|
.build-job{ class: sidebar_build_class(build, @build), data: { stage: build.stage } }
|
2018-11-08 19:23:39 +05:30
|
|
|
- tooltip = sanitize(build.tooltip_message.dup)
|
|
|
|
= link_to(project_job_path(@project, build), data: { toggle: 'tooltip', title: tooltip, container: 'body' }) do
|
2018-03-17 18:26:18 +05:30
|
|
|
= sprite_icon('arrow-right', size:16, css_class: 'icon-arrow-right')
|
2017-09-10 17:25:29 +05:30
|
|
|
%span{ class: "ci-status-icon-#{build.status}" }
|
|
|
|
= ci_icon_for_status(build.status)
|
|
|
|
%span
|
|
|
|
- if build.name
|
|
|
|
= build.name
|
|
|
|
- else
|
|
|
|
= build.id
|
|
|
|
- if build.retried?
|
2018-05-09 12:01:36 +05:30
|
|
|
= sprite_icon('retry', size:16, css_class: 'icon-retry')
|