Cleanup GitLab CI UI
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
parent
34da6f00f6
commit
4daffbe406
12 changed files with 131 additions and 161 deletions
|
@ -13,48 +13,6 @@
|
||||||
|
|
||||||
.builds,
|
.builds,
|
||||||
.projects-table {
|
.projects-table {
|
||||||
.build-danger {
|
|
||||||
.ci-status {
|
|
||||||
color: $gl-danger;
|
|
||||||
border-color: $gl-danger;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.build-success {
|
|
||||||
.ci-status {
|
|
||||||
color: $gl-success;
|
|
||||||
border-color: $gl-success;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.build-info {
|
|
||||||
.ci-status {
|
|
||||||
color: $gl-info;
|
|
||||||
border-color: $gl-info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.build-disabled {
|
|
||||||
.ci-status {
|
|
||||||
color: $gl-gray;
|
|
||||||
border-color: $gl-gray;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.build-warning {
|
|
||||||
.ci-status {
|
|
||||||
color: $gl-warning;
|
|
||||||
border-color: $gl-warning;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.ci-status {
|
|
||||||
padding: 2px 5px;
|
|
||||||
margin-right: 5px;
|
|
||||||
border: 1px solid #EEE;
|
|
||||||
@include border-radius(4px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.light {
|
.light {
|
||||||
border-color: $border-color;
|
border-color: $border-color;
|
||||||
}
|
}
|
||||||
|
@ -75,23 +33,16 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.commit-info {
|
.commit-info {
|
||||||
font-size: 14px;
|
|
||||||
|
|
||||||
.attr-name {
|
.attr-name {
|
||||||
font-weight: 300;
|
|
||||||
color: #666;
|
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
pre.commit-message {
|
pre.commit-message {
|
||||||
font-size: 14px;
|
|
||||||
background: none;
|
background: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
border: none;
|
border: none;
|
||||||
margin: 20px 0;
|
margin: 20px 0;
|
||||||
border-bottom: 1px solid #EEE;
|
|
||||||
padding-bottom: 20px;
|
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -105,4 +56,38 @@
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ci-status {
|
||||||
|
padding: 2px 7px;
|
||||||
|
margin-right: 5px;
|
||||||
|
border: 1px solid #EEE;
|
||||||
|
white-space: nowrap;
|
||||||
|
@include border-radius(4px);
|
||||||
|
|
||||||
|
&.ci-failed {
|
||||||
|
color: $gl-danger;
|
||||||
|
border-color: $gl-danger;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.ci-success {
|
||||||
|
color: $gl-success;
|
||||||
|
border-color: $gl-success;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.ci-info {
|
||||||
|
color: $gl-info;
|
||||||
|
border-color: $gl-info;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.ci-disabled {
|
||||||
|
color: $gl-gray;
|
||||||
|
border-color: $gl-gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.ci-pending,
|
||||||
|
&.ci-running {
|
||||||
|
color: $gl-warning;
|
||||||
|
border-color: $gl-warning;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,5 +28,27 @@ module Ci
|
||||||
"#{pluralize(seconds, "second")}"
|
"#{pluralize(seconds, "second")}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def ci_icon_for_status(status)
|
||||||
|
icon_name =
|
||||||
|
case status
|
||||||
|
when 'success'
|
||||||
|
'check-square'
|
||||||
|
when 'failed'
|
||||||
|
'close'
|
||||||
|
when 'running', 'pending'
|
||||||
|
'clock-o'
|
||||||
|
else
|
||||||
|
'circle'
|
||||||
|
end
|
||||||
|
|
||||||
|
icon(icon_name)
|
||||||
|
end
|
||||||
|
|
||||||
|
def ci_status_with_icon(status)
|
||||||
|
content_tag :span, class: "ci-status ci-#{status}" do
|
||||||
|
ci_icon_for_status(status) + ' '.html_safe + status
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -15,27 +15,5 @@ module Ci
|
||||||
def build_url(build)
|
def build_url(build)
|
||||||
ci_project_build_url(build.project, build)
|
ci_project_build_url(build.project, build)
|
||||||
end
|
end
|
||||||
|
|
||||||
def build_status_css_class(build)
|
|
||||||
if build.success?
|
|
||||||
'build-success'
|
|
||||||
elsif build.failed?
|
|
||||||
'build-danger'
|
|
||||||
elsif build.canceled?
|
|
||||||
'build-disabled'
|
|
||||||
else
|
|
||||||
'build-warning'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def build_icon_css_class(build)
|
|
||||||
if build.success?
|
|
||||||
'fa-circle cgreen'
|
|
||||||
elsif build.failed?
|
|
||||||
'fa-circle cred'
|
|
||||||
else
|
|
||||||
'fa-circle light'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,20 +1,5 @@
|
||||||
module Ci
|
module Ci
|
||||||
module CommitsHelper
|
module CommitsHelper
|
||||||
def commit_status_css_class(commit)
|
|
||||||
return 'build-info' unless commit
|
|
||||||
|
|
||||||
case commit.status
|
|
||||||
when 'success'
|
|
||||||
'build-success'
|
|
||||||
when 'failed', 'canceled'
|
|
||||||
'build-danger'
|
|
||||||
when 'skipped'
|
|
||||||
'build-disabled'
|
|
||||||
else
|
|
||||||
'build-warning'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def ci_commit_path(commit)
|
def ci_commit_path(commit)
|
||||||
ci_project_ref_commits_path(commit.project, commit.ref, commit.sha)
|
ci_project_ref_commits_path(commit.project, commit.ref, commit.sha)
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
- if build.commit && build.project
|
- if build.commit && build.project
|
||||||
%tr.build{class: build_status_css_class(build)}
|
%tr.build
|
||||||
%td.build-link
|
%td.build-link
|
||||||
= link_to ci_project_build_url(build.project, build) do
|
= link_to ci_project_build_url(build.project, build) do
|
||||||
%strong #{build.id}
|
%strong #{build.id}
|
||||||
|
|
||||||
%td.status
|
%td.status
|
||||||
= build.status
|
= ci_status_with_icon(build.status)
|
||||||
|
|
||||||
%td.commit-link
|
%td.commit-link
|
||||||
= commit_link(build.commit)
|
= commit_link(build.commit)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
- last_commit = project.last_commit
|
- last_commit = project.last_commit
|
||||||
%tr{class: commit_status_css_class(last_commit) }
|
%tr
|
||||||
%td
|
%td
|
||||||
= project.id
|
= project.id
|
||||||
%td
|
%td
|
||||||
|
@ -7,8 +7,9 @@
|
||||||
%strong= project.name
|
%strong= project.name
|
||||||
%td
|
%td
|
||||||
- if last_commit
|
- if last_commit
|
||||||
#{last_commit.status} (#{commit_link(last_commit)})
|
= ci_status_with_icon(last_commit.status)
|
||||||
- if project.last_commit_date
|
- if project.last_commit_date
|
||||||
|
·
|
||||||
= time_ago_in_words project.last_commit_date
|
= time_ago_in_words project.last_commit_date
|
||||||
ago
|
ago
|
||||||
- else
|
- else
|
||||||
|
|
|
@ -102,9 +102,9 @@
|
||||||
%th Finished at
|
%th Finished at
|
||||||
|
|
||||||
- @builds.each do |build|
|
- @builds.each do |build|
|
||||||
%tr.build.alert{class: build_status_css_class(build)}
|
%tr.build
|
||||||
%td.status
|
%td.status
|
||||||
= build.status
|
= ci_status_with_icon(build.status)
|
||||||
|
|
||||||
%td.status
|
%td.status
|
||||||
= build.project.name
|
= build.project.name
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
%tr.build{class: build_status_css_class(build)}
|
%tr.build
|
||||||
%td.status
|
%td.status
|
||||||
%span.ci-status<
|
= ci_status_with_icon(build.status)
|
||||||
= build.status
|
|
||||||
|
|
||||||
%td.build-link
|
%td.build-link
|
||||||
= link_to ci_project_build_path(build.project, build) do
|
= link_to ci_project_build_path(build.project, build) do
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
#up-build-trace
|
#up-build-trace
|
||||||
- if @commit.matrix?
|
- if @commit.matrix?
|
||||||
%ul.nav.nav-tabs.append-bottom-10
|
%ul.center-top-menu
|
||||||
- @commit.builds_without_retry_sorted.each do |build|
|
- @commit.builds_without_retry_sorted.each do |build|
|
||||||
%li{class: ('active' if build == @build) }
|
%li{class: ('active' if build == @build) }
|
||||||
= link_to ci_project_build_url(@project, build) do
|
= link_to ci_project_build_url(@project, build) do
|
||||||
%i{class: build_icon_css_class(build)}
|
= ci_icon_for_status(build.status)
|
||||||
%span
|
%span
|
||||||
Build ##{build.id}
|
|
||||||
- if build.name
|
- if build.name
|
||||||
·
|
|
||||||
= build.name
|
= build.name
|
||||||
|
- else
|
||||||
|
= build.id
|
||||||
|
|
||||||
|
|
||||||
- unless @commit.builds_without_retry.include?(@build)
|
- unless @commit.builds_without_retry.include?(@build)
|
||||||
%li.active
|
%li.active
|
||||||
|
@ -19,34 +20,33 @@
|
||||||
%i.fa.fa-warning-sign
|
%i.fa.fa-warning-sign
|
||||||
This build was retried.
|
This build was retried.
|
||||||
|
|
||||||
.row
|
.gray-content-block
|
||||||
.col-md-9
|
.build-head
|
||||||
.build-head.alert{class: build_status_css_class(@build)}
|
%h4
|
||||||
%h4
|
- if @build.commit.tag?
|
||||||
- if @build.commit.tag?
|
Build for tag
|
||||||
Build for tag
|
%code #{@build.ref}
|
||||||
%code #{@build.ref}
|
- else
|
||||||
- else
|
Build for commit
|
||||||
Build for commit
|
%strong.monospace= commit_link(@build.commit)
|
||||||
%code #{@build.short_sha}
|
from
|
||||||
from
|
|
||||||
|
|
||||||
= link_to ci_project_path(@build.project, ref: @build.ref) do
|
= link_to ci_project_path(@build.project, ref: @build.ref) do
|
||||||
%span.label.label-primary= "#{@build.ref}"
|
%strong.monospace= "#{@build.ref}"
|
||||||
|
|
||||||
- if @build.duration
|
- if @build.duration
|
||||||
.pull-right
|
|
||||||
%span
|
|
||||||
%i.fa.fa-time
|
|
||||||
#{duration_in_words(@build.finished_at, @build.started_at)}
|
|
||||||
|
|
||||||
.clearfix
|
|
||||||
= @build.status
|
|
||||||
.pull-right
|
.pull-right
|
||||||
= @build.updated_at.stamp('19:00 Aug 27')
|
%span
|
||||||
|
%i.fa.fa-time
|
||||||
|
#{duration_in_words(@build.finished_at, @build.started_at)}
|
||||||
|
|
||||||
|
.clearfix
|
||||||
|
= ci_status_with_icon(@build.status)
|
||||||
|
.pull-right
|
||||||
|
= @build.updated_at.stamp('19:00 Aug 27')
|
||||||
|
|
||||||
|
.row.prepend-top-default
|
||||||
|
.col-md-9
|
||||||
.clearfix
|
.clearfix
|
||||||
- if @build.active?
|
- if @build.active?
|
||||||
.autoscroll-container
|
.autoscroll-container
|
||||||
|
@ -150,13 +150,16 @@
|
||||||
%h4.title #{pluralize(@builds.count, "other build")} for #{@build.short_sha}:
|
%h4.title #{pluralize(@builds.count, "other build")} for #{@build.short_sha}:
|
||||||
%table.builds
|
%table.builds
|
||||||
- @builds.each_with_index do |build, i|
|
- @builds.each_with_index do |build, i|
|
||||||
%tr.build.alert{class: build_status_css_class(build)}
|
%tr.build
|
||||||
|
%td
|
||||||
|
= ci_icon_for_status(build.status)
|
||||||
%td
|
%td
|
||||||
= link_to ci_project_build_url(@project, build) do
|
= link_to ci_project_build_url(@project, build) do
|
||||||
%span ##{build.id}
|
- if build.name
|
||||||
%td
|
= build.name
|
||||||
- if build.name
|
- else
|
||||||
= build.name
|
%span ##{build.id}
|
||||||
|
|
||||||
%td.status= build.status
|
%td.status= build.status
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
%tr.build{class: commit_status_css_class(commit)}
|
%tr.build
|
||||||
%td.status
|
%td.status
|
||||||
%span.ci-status<
|
= ci_status_with_icon(commit.status)
|
||||||
= commit.status
|
|
||||||
- if commit.running?
|
- if commit.running?
|
||||||
·
|
·
|
||||||
= commit.stage
|
= commit.stage
|
||||||
|
|
|
@ -1,29 +1,34 @@
|
||||||
.commit-info
|
.commit-info
|
||||||
%pre.commit-message
|
.append-bottom-20
|
||||||
#{@commit.git_commit_message}
|
= ci_status_with_icon(@commit.status)
|
||||||
|
|
||||||
.row
|
.gray-content-block.middle-block
|
||||||
.col-sm-6
|
%pre.commit-message
|
||||||
- if @commit.compare?
|
#{@commit.git_commit_message}
|
||||||
%p
|
|
||||||
%span.attr-name Compare:
|
.gray-content-block.second-block
|
||||||
#{gitlab_compare_link(@project, @commit.short_before_sha, @commit.short_sha)}
|
.row
|
||||||
- else
|
.col-sm-6
|
||||||
%p
|
- if @commit.compare?
|
||||||
%span.attr-name Commit:
|
%p
|
||||||
#{gitlab_commit_link(@project, @commit.sha)}
|
%span.attr-name Compare:
|
||||||
|
#{gitlab_compare_link(@project, @commit.short_before_sha, @commit.short_sha)}
|
||||||
|
- else
|
||||||
|
%p
|
||||||
|
%span.attr-name Commit:
|
||||||
|
#{gitlab_commit_link(@project, @commit.sha)}
|
||||||
|
|
||||||
%p
|
|
||||||
%span.attr-name Branch:
|
|
||||||
#{gitlab_ref_link(@project, @commit.ref)}
|
|
||||||
.col-sm-6
|
|
||||||
%p
|
|
||||||
%span.attr-name Author:
|
|
||||||
#{@commit.git_author_name} (#{@commit.git_author_email})
|
|
||||||
- if @commit.created_at
|
|
||||||
%p
|
%p
|
||||||
%span.attr-name Created at:
|
%span.attr-name Branch:
|
||||||
#{@commit.created_at.to_s(:short)}
|
#{gitlab_ref_link(@project, @commit.ref)}
|
||||||
|
.col-sm-6
|
||||||
|
%p
|
||||||
|
%span.attr-name Author:
|
||||||
|
#{@commit.git_author_name} (#{@commit.git_author_email})
|
||||||
|
- if @commit.created_at
|
||||||
|
%p
|
||||||
|
%span.attr-name Created at:
|
||||||
|
#{@commit.created_at.to_s(:short)}
|
||||||
|
|
||||||
- if current_user && can?(current_user, :manage_builds, gl_project)
|
- if current_user && can?(current_user, :manage_builds, gl_project)
|
||||||
.pull-right
|
.pull-right
|
||||||
|
@ -42,12 +47,6 @@
|
||||||
.bs-callout.bs-callout-warning
|
.bs-callout.bs-callout-warning
|
||||||
\.gitlab-ci.yml not found in this commit
|
\.gitlab-ci.yml not found in this commit
|
||||||
|
|
||||||
%h3 Status
|
|
||||||
|
|
||||||
.build{class: commit_status_css_class(@commit)}
|
|
||||||
.ci-status
|
|
||||||
= @commit.status.titleize
|
|
||||||
|
|
||||||
%h3
|
%h3
|
||||||
Builds
|
Builds
|
||||||
- if @commit.duration > 0
|
- if @commit.duration > 0
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
- if project.gitlab_ci_project
|
- if project.gitlab_ci_project
|
||||||
- ci_project = project.gitlab_ci_project
|
- ci_project = project.gitlab_ci_project
|
||||||
- last_commit = ci_project.last_commit
|
- last_commit = ci_project.last_commit
|
||||||
%tr{class: commit_status_css_class(last_commit) }
|
%tr
|
||||||
%td
|
%td
|
||||||
= link_to [:ci, ci_project] do
|
= link_to [:ci, ci_project] do
|
||||||
= ci_project.name
|
= ci_project.name
|
||||||
%td
|
%td
|
||||||
- if last_commit
|
- if last_commit
|
||||||
%span.ci-status<
|
= ci_status_with_icon(last_commit.status)
|
||||||
= last_commit.status
|
|
||||||
= commit_link(last_commit)
|
= commit_link(last_commit)
|
||||||
·
|
·
|
||||||
- if ci_project.last_commit_date
|
- if ci_project.last_commit_date
|
||||||
|
|
Loading…
Reference in a new issue