matrixci 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/ciwatch +65 -3
- data/lib/build.rb +7 -0
- data/lib/matrixci/version.rb +1 -1
- data/matrixci.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 630548955e066de705c8d02cbc129b184d7bfa44
|
4
|
+
data.tar.gz: b44812a793249db1cf6ecc5840225272b574aaf9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b572b6652d5ae691cac3757625ecde564e590c1b1d10b55d1cbcc5b0f037f53b7257a8c6c9bbf8f649eee17a63f273a728c1d920075b7d4d7ce45f87d50b3c9c
|
7
|
+
data.tar.gz: 6243fb1337fbe5ffdf858b5afef6de487ce67dbfe75b6fdaa5ec9a96a2d5e9ce8d4d4164c4f9a882f4d02a66690860500462d8a383a790daee4cd09751b99316
|
data/bin/ciwatch
CHANGED
@@ -1,7 +1,69 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
+
require 'json'
|
4
|
+
require 'matrixci'
|
5
|
+
require 'rbcurse/core/util/app'
|
6
|
+
|
7
|
+
class CellRenderer
|
8
|
+
attr_accessor :display_length
|
9
|
+
|
10
|
+
def repaint g, r, c, crow, content, focus_type, selected
|
11
|
+
color = $datacolor
|
12
|
+
att = NORMAL
|
13
|
+
att = REVERSE if selected
|
14
|
+
build = JSON.parse(content)
|
15
|
+
color = get_color($datacolor, :yellow, :black) if build["color"] == "yellow"
|
16
|
+
color = get_color($datacolor, :red, :black) if build["color"] == "red"
|
17
|
+
color = get_color($datacolor, :green, :black) if build["color"] == "green"
|
18
|
+
g.wattron(Ncurses.COLOR_PAIR(color) | att)
|
19
|
+
g.mvwprintw(r, c, "%s", :string, build["str"]);
|
20
|
+
g.wattroff(Ncurses.COLOR_PAIR(color) | att)
|
21
|
+
rescue JSON::ParserError
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def get_latest_runs
|
26
|
+
builds = []
|
27
|
+
MatrixCi::Project.all.each do |project|
|
28
|
+
project.all_recent_builds.each do |build|
|
29
|
+
builds << build.to_json
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
builds
|
34
|
+
end
|
35
|
+
|
36
|
+
x = App.new do
|
37
|
+
header = app_header "MatrixCI", :text_center => "YOLO", :text_right =>"MatrixCI",
|
38
|
+
:color => :black, :bgcolor => :white, :attr => :bold
|
39
|
+
message "You are in a crowded room. Lots of people are committing code. There is only one obvious exit, q."
|
40
|
+
|
41
|
+
lb = listbox :list => get_latest_runs, :title => "[ Latest Builds ]", :name => "tasklist", :row => 1, :height => Ncurses.LINES-4, :width => Ncurses.COLS-1
|
42
|
+
lb.truncation_required = false
|
43
|
+
lb.should_show_focus = false
|
44
|
+
lb.cell_renderer CellRenderer.new
|
45
|
+
|
46
|
+
@form.bind_key("q") { exit }
|
47
|
+
@form.bind_key("r") { lb.list get_latest_runs }
|
48
|
+
stack :margin_top => 1, :height => FFI::NCurses.LINES-3 do
|
49
|
+
|
50
|
+
end # stack
|
51
|
+
status_line :row => FFI::NCurses.LINES-1
|
52
|
+
|
53
|
+
while true
|
54
|
+
lb.list get_latest_runs
|
55
|
+
@form.repaint
|
56
|
+
@window.wrefresh
|
57
|
+
sleep(1)
|
58
|
+
end
|
59
|
+
end # app
|
60
|
+
|
3
61
|
while true
|
4
|
-
|
5
|
-
|
6
|
-
sleep(30)
|
62
|
+
x.refresh
|
63
|
+
sleep(10)
|
7
64
|
end
|
65
|
+
# while true
|
66
|
+
# puts Time.now.utc
|
67
|
+
# system("ci all")
|
68
|
+
# sleep(30)
|
69
|
+
# end
|
data/lib/build.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require File.dirname(__FILE__)+'/adapters/adapter'
|
2
2
|
require 'rainbow'
|
3
|
+
require 'json'
|
3
4
|
|
4
5
|
module MatrixCi
|
5
6
|
class Build
|
@@ -15,6 +16,12 @@ module MatrixCi
|
|
15
16
|
@projectname = options[:projectname]
|
16
17
|
end
|
17
18
|
|
19
|
+
def to_json
|
20
|
+
str = "%s %10s %10s %40s %25s %15s %s" % [@id, @started.nil? ? "?" : @started[11,8], @projectname, @branch, @committer, @ref, @subject]
|
21
|
+
|
22
|
+
{:str => str, :highlight => @highlight, :color => running? ? :yellow : successful? ? :green : :red }.to_json
|
23
|
+
end
|
24
|
+
|
18
25
|
def to_s
|
19
26
|
str = "%s %10s %10s %40s %25s %15s %s" % [@id, @started.nil? ? "?" : @started[11,8], @projectname, @branch, @committer, @ref, @subject]
|
20
27
|
|
data/lib/matrixci/version.rb
CHANGED
data/matrixci.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: matrixci
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oren Mazor
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rainbow
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rbcurse-core
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|