e28fc7b1d3
* 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 ...
110 lines
3.9 KiB
Text
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')
|