summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzul <azul@riseup.net>2017-07-19 11:27:02 +0200
committerVarac <varac@leap.se>2017-10-16 13:20:43 +0200
commit742cc0787663280fc917bb0435e078c2c1aa376b (patch)
treead6cbf66885bf0695fc0e7cc87ff9479bdd5c8cc
parent929138d1a99bac1ef12eea10425fbeb291535c2b (diff)
gitlab: show running builds
-rw-r--r--jobs/gitlab_build_status.rb11
-rw-r--r--widgets/gitlab_build_status/gitlab_build_status.coffee12
-rw-r--r--widgets/gitlab_build_status/gitlab_build_status.html11
3 files changed, 31 insertions, 3 deletions
diff --git a/jobs/gitlab_build_status.rb b/jobs/gitlab_build_status.rb
index 57fe0b0..78867cd 100644
--- a/jobs/gitlab_build_status.rb
+++ b/jobs/gitlab_build_status.rb
@@ -3,6 +3,7 @@ require 'gitlab_stats'
SCHEDULER.every '120s', :first_in => 0 do
broken_builds = []
+ running_builds = []
started = Time.now
GitlabStats.projects.each do |proj|
@@ -14,10 +15,18 @@ SCHEDULER.every '120s', :first_in => 0 do
unless proj[:status] =~ /^success|running|No builds configured/
broken_builds << proj
end
+ if proj[:status] == 'running'
+ running_builds << proj
+ end
end
failed = broken_builds.size > 0
+ running = running_builds.size > 0
- send_event('gitlab-builds', { failed: failed, header: "Gitlab builds", broken_builds: broken_builds })
+ send_event 'gitlab-builds', failed: failed,
+ running: running,
+ header: "Gitlab builds",
+ broken_builds: broken_builds,
+ running_builds: running_builds
puts "#{Time.now} gitlab: Going through all projects took: #{Time.now - started}."
end
diff --git a/widgets/gitlab_build_status/gitlab_build_status.coffee b/widgets/gitlab_build_status/gitlab_build_status.coffee
index e501aed..d2faf3e 100644
--- a/widgets/gitlab_build_status/gitlab_build_status.coffee
+++ b/widgets/gitlab_build_status/gitlab_build_status.coffee
@@ -1,11 +1,19 @@
class Dashing.GitlabBuildStatus extends Dashing.Widget
onData: (data) ->
+ color = "#50BA5B"
+ if data.running
+ color = "#DA9A30"
+ $(@node).find('div.gitlab-build-running').show()
+ else
+ $(@node).find('div.gitlab-build-running').hide()
+
if data.failed
+ color = "red"
$(@node).find('div.gitlab-build-failed').show()
$(@node).find('div.gitlab-build-succeeded').hide()
- $(@node).css("background-color", "red")
else
$(@node).find('div.gitlab-build-failed').hide()
$(@node).find('div.gitlab-build-succeeded').show()
- $(@node).css("background-color", "#50BA5B")
+
+ $(@node).css("background-color", color)
diff --git a/widgets/gitlab_build_status/gitlab_build_status.html b/widgets/gitlab_build_status/gitlab_build_status.html
index ebac828..cb2f566 100644
--- a/widgets/gitlab_build_status/gitlab_build_status.html
+++ b/widgets/gitlab_build_status/gitlab_build_status.html
@@ -13,4 +13,15 @@
<h1 class="gitlab-status">All Gitlab builds are successful</h1>
</div>
+<div class="gitlab-build-running">
+ <h1 class="gitlab-status"><span data-bind="title"></span> RUNNING</h1>
+ <ul class="list-nostyle list-running">
+ <li data-foreach-item="running_builds">
+ <!--<div class="label" data-bind="item.name"></div>-->
+ <div class="label"> <span class="aaa" data-bind="item.name"></span> - <span class="bbb" data-bind="item.ref"></span></div>
+ <div class="value">(<span class="aaa" data-bind="item.status"></span> <span class="bbb" data-bind="item.date"></span>)</div>
+ </li>
+ </ul>
+</div>
+
<p class="updated-at" data-bind="updatedAtMessage"></p>