kid80-cijoe 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +12 -0
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/lib/cijoe/public/screen.css +23 -10
- data/lib/cijoe/server.rb +14 -4
- data/lib/cijoe/version.rb +1 -1
- data/lib/cijoe/views/template.erb +0 -4
- data/lib/cijoe.rb +2 -1
- metadata +1 -1
data/README.markdown
CHANGED
@@ -83,6 +83,18 @@ Or do it the old fashion way:
|
|
83
83
|
etc.
|
84
84
|
|
85
85
|
|
86
|
+
Checkin' Status
|
87
|
+
---------------
|
88
|
+
|
89
|
+
Want to see how your build's doing without any of this fancy UI crap?
|
90
|
+
Ping Joe for the lowdown:
|
91
|
+
|
92
|
+
curl http://localhost:4567/ping
|
93
|
+
|
94
|
+
Joe will return `200 OK` if all is quiet on the Western Front. If
|
95
|
+
Joe's busy building or your last build failed, you'll get `412
|
96
|
+
PRECONDITION FAILED`.
|
97
|
+
|
86
98
|
Multiple Projects
|
87
99
|
-----------------
|
88
100
|
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.1
|
data/lib/cijoe/public/screen.css
CHANGED
@@ -11,6 +11,10 @@
|
|
11
11
|
padding: 0;
|
12
12
|
}
|
13
13
|
|
14
|
+
html, body {
|
15
|
+
height: 100%;
|
16
|
+
}
|
17
|
+
|
14
18
|
body {
|
15
19
|
background-color: white;
|
16
20
|
font: 13.34px helvetica, arial, clean, sans-serif;
|
@@ -23,7 +27,7 @@ h1, h2, h3, h4, h5, h6 {
|
|
23
27
|
}
|
24
28
|
|
25
29
|
h1 {
|
26
|
-
margin-bottom:
|
30
|
+
margin-bottom: 4px;
|
27
31
|
}
|
28
32
|
|
29
33
|
h1 a {
|
@@ -40,7 +44,7 @@ h1 a {
|
|
40
44
|
}
|
41
45
|
|
42
46
|
.errored, .color33 {
|
43
|
-
color:
|
47
|
+
color: #c4b430 !important;
|
44
48
|
}
|
45
49
|
|
46
50
|
p {
|
@@ -56,7 +60,7 @@ a:hover {
|
|
56
60
|
}
|
57
61
|
|
58
62
|
a:visited {
|
59
|
-
color: #
|
63
|
+
color: #00a;
|
60
64
|
}
|
61
65
|
|
62
66
|
table {
|
@@ -94,8 +98,7 @@ ul.posts {
|
|
94
98
|
.site {
|
95
99
|
font-size: 110%;
|
96
100
|
text-align: justify;
|
97
|
-
width:
|
98
|
-
margin: 3em auto 2em auto;
|
101
|
+
width: 100%;
|
99
102
|
line-height: 1.5em;
|
100
103
|
}
|
101
104
|
|
@@ -156,6 +159,10 @@ ul.posts {
|
|
156
159
|
border: 0;
|
157
160
|
}
|
158
161
|
|
162
|
+
input {
|
163
|
+
float: right;
|
164
|
+
margin-right:5px;
|
165
|
+
}
|
159
166
|
/*****************************************************************************/
|
160
167
|
/*
|
161
168
|
/* Posts
|
@@ -169,8 +176,8 @@ ul.posts {
|
|
169
176
|
/* standard */
|
170
177
|
|
171
178
|
#post pre {
|
172
|
-
border:
|
173
|
-
background-color: #
|
179
|
+
border: 2px solid #ddd;
|
180
|
+
background-color: #333;
|
174
181
|
padding: 0 .4em;
|
175
182
|
}
|
176
183
|
|
@@ -193,11 +200,11 @@ ul.posts {
|
|
193
200
|
/* terminal */
|
194
201
|
|
195
202
|
pre.terminal {
|
196
|
-
border:
|
203
|
+
border: 2px solid #999;
|
197
204
|
background-color: #fff;
|
198
205
|
color: #333;
|
199
|
-
padding:
|
200
|
-
overflow: auto;
|
206
|
+
padding: 15px;
|
207
|
+
/* overflow: auto; */
|
201
208
|
word-wrap: break-word;
|
202
209
|
}
|
203
210
|
|
@@ -206,3 +213,9 @@ pre.terminal code {
|
|
206
213
|
background-color: #fff;
|
207
214
|
}
|
208
215
|
|
216
|
+
pre {
|
217
|
+
white-space: pre-wrap; /* CSS2.1 compliant */
|
218
|
+
white-space: -moz-pre-wrap; /* Mozilla-based browsers */
|
219
|
+
white-space: o-pre-wrap; /* Opera 7+ */
|
220
|
+
}
|
221
|
+
|
data/lib/cijoe/server.rb
CHANGED
@@ -3,6 +3,8 @@ require 'erb'
|
|
3
3
|
|
4
4
|
class CIJoe
|
5
5
|
class Server < Sinatra::Base
|
6
|
+
attr_reader :joe
|
7
|
+
|
6
8
|
dir = File.dirname(File.expand_path(__FILE__))
|
7
9
|
|
8
10
|
set :views, "#{dir}/views"
|
@@ -10,16 +12,24 @@ class CIJoe
|
|
10
12
|
set :static, true
|
11
13
|
set :lock, true
|
12
14
|
|
13
|
-
before {
|
15
|
+
before { joe.restore }
|
16
|
+
|
17
|
+
get '/ping' do
|
18
|
+
if joe.building? || !joe.last_build || !joe.last_build.worked?
|
19
|
+
halt 412, joe.last_build ? joe.last_build.sha : "building"
|
20
|
+
end
|
21
|
+
|
22
|
+
joe.last_build.sha
|
23
|
+
end
|
14
24
|
|
15
25
|
get '/?' do
|
16
|
-
erb(:template, {}, :joe =>
|
26
|
+
erb(:template, {}, :joe => joe)
|
17
27
|
end
|
18
28
|
|
19
29
|
post '/?' do
|
20
30
|
payload = params[:payload].to_s
|
21
|
-
if payload.empty? || payload.include?(
|
22
|
-
|
31
|
+
if payload.empty? || payload.include?(joe.git_branch)
|
32
|
+
joe.build
|
23
33
|
end
|
24
34
|
redirect request.path
|
25
35
|
end
|
data/lib/cijoe/version.rb
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<link href="<%= cijoe_root %>/screen.css" media="screen" rel="stylesheet" type="text/css" />
|
5
|
-
<link rel="shortcut icon" href="<%= cijoe_root %>/favicon.ico" type="image/x-icon" />
|
6
5
|
<title><%= h(joe.project) %>: CI Joe</title>
|
7
6
|
</head>
|
8
7
|
<body>
|
@@ -30,7 +29,4 @@
|
|
30
29
|
<% end %>
|
31
30
|
</ul>
|
32
31
|
</div>
|
33
|
-
|
34
|
-
</div>
|
35
|
-
</body>
|
36
32
|
</html>
|
data/lib/cijoe.rb
CHANGED
@@ -89,7 +89,7 @@ class CIJoe
|
|
89
89
|
|
90
90
|
pid = fork do
|
91
91
|
read.close
|
92
|
-
|
92
|
+
$stdout.reopen write
|
93
93
|
exec cmd
|
94
94
|
end
|
95
95
|
|
@@ -114,6 +114,7 @@ class CIJoe
|
|
114
114
|
output = pipe.read
|
115
115
|
end
|
116
116
|
|
117
|
+
Process.waitpid(build.pid)
|
117
118
|
status = $?.exitstatus.to_i
|
118
119
|
puts "#{Time.now.to_i}: Built #{build.short_sha}: status=#{status}"
|
119
120
|
|