gitlab-org--gitlab-foss/app/views/projects/ci/builds/_build.html.haml
Lin Jen-Shin e28fc7b1d3 Merge remote-tracking branch 'upstream/master' into 8998_skip_pending_commits_if_not_head
* upstream/master: (197 commits)
  Add text to break up diagrams
  Implement review comments from @DouweM for !10467.
  Fix rubocop offence
  Linking to edit file directly
  Optimise trace handling code to use streaming instead of full read
  Use config.toml to configure Gitaly
  Fix indexes in container repositories table
  Recent search history for issues
  Fix rubocop
  Use change direction in spec
  Use be_pending
  Improve trigger_schedule.rb
  Implement a offset calculation on cron_parser_spec
  Clean up trigger_schedule_worker_spec.rb
  Improve instantiate recursion in cron_parser.rb
  Fix unnecessary changes in schema.rb
  Add empty line in cron_parser.rb
  Use parenthesis for respond_to :ref
  Define next_time as let in trigger_schedule_spec
  Remove next_run_at: nil from trigger_schedule_spec
  ...
2017-04-07 03:16:28 +08:00

110 lines
3.9 KiB
Text

- job = build.present(current_user: current_user)
- pipeline = job.pipeline
- admin = local_assigns.fetch(:admin, false)
- ref = local_assigns.fetch(:ref, nil)
- commit_sha = local_assigns.fetch(:commit_sha, nil)
- retried = local_assigns.fetch(:retried, false)
- pipeline_link = local_assigns.fetch(:pipeline_link, false)
- stage = local_assigns.fetch(:stage, false)
- allow_retry = local_assigns.fetch(:allow_retry, false)
%tr.build.commit{ class: ('retried' if retried) }
%td.status
= render "ci/status/badge", status: job.detailed_status(current_user), title: job.status_title
%td.branch-commit
- if can?(current_user, :read_build, job)
= link_to namespace_project_build_url(job.project.namespace, job.project, job) do
%span.build-link ##{job.id}
- else
%span.build-link ##{job.id}
- if ref
- if job.ref
.icon-container
= job.tag? ? icon('tag') : icon('code-fork')
= link_to job.ref, namespace_project_commits_path(job.project.namespace, job.project, job.ref), class: "monospace branch-name"
- else
.light none
.icon-container.commit-icon
= custom_icon("icon_commit")
- if commit_sha
= link_to job.short_sha, namespace_project_commit_path(job.project.namespace, job.project, job.sha), class: "commit-id monospace"
- if job.stuck?
= icon('warning', class: 'text-warning has-tooltip', title: 'Job is stuck. Check runners.')
- if retried
= icon('refresh', class: 'text-warning has-tooltip', title: 'Job was retried')
.label-container
- if job.tags.any?
- job.tags.each do |tag|
%span.label.label-primary
= tag
- if job.try(:trigger_request)
%span.label.label-info triggered
- if job.try(:allow_failure)
%span.label.label-danger allowed to fail
- if job.action?
%span.label.label-info manual
- if pipeline_link
%td
= link_to pipeline_path(pipeline) do
%span.pipeline-id ##{pipeline.id}
%span by
- if pipeline.user
= user_avatar(user: pipeline.user, size: 20)
- else
%span.monospace API
- if admin
%td
- if job.project
= link_to job.project.name_with_namespace, admin_namespace_project_path(job.project.namespace, job.project)
%td
- if job.try(:runner)
= runner_link(job.runner)
- else
.light none
- if stage
%td
= job.stage
%td
= job.name
%td
- if job.duration
%p.duration
= custom_icon("icon_timer")
= duration_in_numbers(job.duration)
- if job.finished_at
%p.finished-at
= icon("calendar")
%span= time_ago_with_tooltip(job.finished_at)
%td.coverage
- if job.try(:coverage)
#{job.coverage}%
%td
.pull-right
- if can?(current_user, :read_build, job) && job.artifacts?
= link_to download_namespace_project_build_artifacts_path(job.project.namespace, job.project, job), rel: 'nofollow', download: '', title: 'Download artifacts', class: 'btn btn-build' do
= icon('download')
- if can?(current_user, :update_build, job)
- if job.active?
= link_to cancel_namespace_project_build_path(job.project.namespace, job.project, job, return_to: request.original_url), method: :post, title: 'Cancel', class: 'btn btn-build' do
= icon('remove', class: 'cred')
- elsif allow_retry
- if job.playable? && !admin
= link_to play_namespace_project_build_path(job.project.namespace, job.project, job, return_to: request.original_url), method: :post, title: 'Play', class: 'btn btn-build' do
= custom_icon('icon_play')
- elsif job.retryable?
= link_to retry_namespace_project_build_path(job.project.namespace, job.project, job, return_to: request.original_url), method: :post, title: 'Retry', class: 'btn btn-build' do
= icon('repeat')