ciquantum 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +21 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +18 -0
- data/Rakefile +34 -0
- data/bin/ciquantum +50 -0
- data/ciquantum.gemspec +30 -0
- data/examples/build-failed +22 -0
- data/examples/build-worked +22 -0
- data/examples/cijoe.ru +15 -0
- data/examples/cijoed +53 -0
- data/lib/ciquantum.rb +227 -0
- data/lib/ciquantum/adapter.rb +11 -0
- data/lib/ciquantum/build.rb +67 -0
- data/lib/ciquantum/commit.rb +28 -0
- data/lib/ciquantum/config.rb +43 -0
- data/lib/ciquantum/public/favicon.ico +0 -0
- data/lib/ciquantum/public/octocat.png +0 -0
- data/lib/ciquantum/public/screen.css +213 -0
- data/lib/ciquantum/queue.rb +55 -0
- data/lib/ciquantum/server.rb +117 -0
- data/lib/ciquantum/unfuddle_adapter.rb +19 -0
- data/lib/ciquantum/version.rb +3 -0
- data/lib/ciquantum/views/json.erb +16 -0
- data/lib/ciquantum/views/template.erb +89 -0
- data/test/fixtures/payload.json +52 -0
- data/test/helper.rb +48 -0
- data/test/test_ciquantum_queue.rb +28 -0
- data/test/test_hooks.rb +81 -0
- metadata +209 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
class CIQuantum
|
2
|
+
class UnfuddleAdapter
|
3
|
+
|
4
|
+
def self.commit_url commit
|
5
|
+
"http://#{commit.user}.unfuddle.com/a#/repositories/#{commit.project}/commit?commit=#{commit.sha}"
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.git_user_and_project
|
9
|
+
["linkfeed", "17607"]
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.project_url
|
13
|
+
user, project = git_user_and_project
|
14
|
+
"https://#{user}.unfuddle.com/a#/repositories/#{project}/browse"
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
{ "jobs": [
|
2
|
+
<% if quantum.last_build %>
|
3
|
+
{"name":"<%= quantum.projectname || quantum.project %>",
|
4
|
+
"url":"<%= quantum.url %>",
|
5
|
+
"color":"<%= quantum.last_build.status.to_s == "failed" ? 'red' : 'blue' %>",
|
6
|
+
"status":"<%= quantum.last_build.status %>",
|
7
|
+
"started_at":"<%= pretty_time(quantum.last_build.started_at) %>",
|
8
|
+
"finished_at":"<%= pretty_time(quantum.last_build.finished_at) %>",
|
9
|
+
"duration":"<%= quantum.last_build.duration if quantum.last_build.duration %>",
|
10
|
+
"sha":"<%= quantum.last_build.sha %>",
|
11
|
+
"short_sha":"<%= quantum.last_build.short_sha %>",
|
12
|
+
"commit_url":"<%= quantum.last_build.commit.url if quantum.last_build.commit %>",
|
13
|
+
"branch":"<%= quantum.last_build.branch %>"
|
14
|
+
}
|
15
|
+
<% end %>
|
16
|
+
]}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<link href="<%= ciquantum_root %>/screen.css" media="screen" rel="stylesheet" type="text/css" />
|
5
|
+
<link rel="shortcut icon" href="<%= ciquantum_root %>/favicon.ico" type="image/x-icon" />
|
6
|
+
<title><%= h(quantum.projectname) %>: CI Quantum</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<div class="site">
|
10
|
+
<div class="title">
|
11
|
+
<a href="<%= ciquantum_root %>/">CI Quantum</a>
|
12
|
+
<span class="extra">because knowing is half the battle</span>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<div id="home">
|
16
|
+
<h1><a href="<%= quantum.url %>"><%= quantum.projectname %></a></h1>
|
17
|
+
<ul class="posts">
|
18
|
+
<% if quantum.current_build %>
|
19
|
+
<li>
|
20
|
+
<span class="date"><%= pretty_time(quantum.current_build.started_at) if quantum.current_build %></span> »
|
21
|
+
<% if quantum.current_build.sha %>
|
22
|
+
Building <%= quantum.current_build.branch %> at <a href="<%= quantum.current_build.commit.url %>"><%= quantum.current_build.short_sha %></a> <small>(pid: <%= quantum.pid %>)</small>
|
23
|
+
<% else %>
|
24
|
+
Build starting...
|
25
|
+
<% end %>
|
26
|
+
</li>
|
27
|
+
<% else %>
|
28
|
+
<li>
|
29
|
+
<form method="POST">
|
30
|
+
<input type="hidden", name="rebuild" value="true">
|
31
|
+
<select name="branch">
|
32
|
+
<% for @branch in quantum.git_branches %>
|
33
|
+
<option value="<%= @branch %>" <%= "selected=\"selected\"" if (@branch == quantum.git_branch) %> >"<%= @branch %>"</option>
|
34
|
+
<% end %>
|
35
|
+
</select>
|
36
|
+
<input type="submit" value="Build"/>
|
37
|
+
</form>
|
38
|
+
</li>
|
39
|
+
<% end %>
|
40
|
+
|
41
|
+
<% if quantum.last_build %>
|
42
|
+
<li>
|
43
|
+
<span class="date"><%= pretty_time(quantum.last_build.finished_at) %></span> »
|
44
|
+
<% if quantum.last_build.sha %>
|
45
|
+
Built <%= quantum.last_build.branch %> at <a href="<%= quantum.last_build.commit.url %>"><%= quantum.last_build.short_sha %></a>
|
46
|
+
<% end %>
|
47
|
+
<span class="<%= quantum.last_build.status %>">(<%= quantum.last_build.status %>)</span>
|
48
|
+
|
49
|
+
<% if quantum.last_build.duration %>
|
50
|
+
in <span class="duration"><%= quantum.last_build.duration %></span> seconds.
|
51
|
+
<% end %>
|
52
|
+
|
53
|
+
<% if !quantum.coverage_path.empty? || true %>
|
54
|
+
<span class="coverage"><a href="coverage">Code coverage</a>
|
55
|
+
<% end %>
|
56
|
+
</li>
|
57
|
+
<% if quantum.last_build.failed? %>
|
58
|
+
<li><pre class="terminal"><code><%=ansi_color_codes h(quantum.last_build.output) %></code></pre></li>
|
59
|
+
<% end %>
|
60
|
+
<% end %>
|
61
|
+
</ul>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<div class="footer">
|
65
|
+
<div class="contact">
|
66
|
+
<p>
|
67
|
+
<a href="https://github.com/meredian/ciquantum#readme">Documentation</a><br/>
|
68
|
+
<a href="https://github.com/meredian/ciquantum">Source</a><br/>
|
69
|
+
<a href="https://github.com/meredian/ciquantum/issues">Issues</a><br/>
|
70
|
+
<a href="https://github.com/meredian/ciquantum/tree/v<%= CIQuantum::VERSION %>">v<%= CIQuantum::VERSION %></a>
|
71
|
+
</p>
|
72
|
+
</div>
|
73
|
+
<div class="contact">
|
74
|
+
<p>
|
75
|
+
Designed by <a href="http://tom.preston-werner.com/">Tom Preston-Werner</a><br/>
|
76
|
+
Influenced by <a href="http://integrityapp.com/">Integrity</a><br/>
|
77
|
+
Built with <a href="http://sinatrarb.com/">Sinatra</a><br/>
|
78
|
+
Keep it simple, Sam.
|
79
|
+
</p>
|
80
|
+
</div>
|
81
|
+
<div class="rss">
|
82
|
+
<a href="http://github.com/meredian/ciquantum">
|
83
|
+
<img src="<%= ciquantum_root %>/octocat.png" alt="Octocat!" />
|
84
|
+
</a>
|
85
|
+
</div>
|
86
|
+
</div>
|
87
|
+
</div>
|
88
|
+
</body>
|
89
|
+
</html>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
{
|
2
|
+
"after": "416cb2f7105e7f989bc223d1a975b93a6491b276",
|
3
|
+
"before": "0ae4da1eea2d191b33ebfbd5db48e3c1f91953ad",
|
4
|
+
"commits": [
|
5
|
+
{
|
6
|
+
"added": [
|
7
|
+
|
8
|
+
],
|
9
|
+
"author": {
|
10
|
+
"email": "joshua.owens@gmail.com",
|
11
|
+
"name": "Josh Owens",
|
12
|
+
"username": "queso"
|
13
|
+
},
|
14
|
+
"id": "09293a1703b3bdb36aba70d38abd5e44396c50a5",
|
15
|
+
"message": "Update README",
|
16
|
+
"modified": [
|
17
|
+
"README.textile"
|
18
|
+
],
|
19
|
+
"removed": [
|
20
|
+
|
21
|
+
],
|
22
|
+
"timestamp": "2011-02-07T15:27:35-08:00",
|
23
|
+
"url": "https:\/\/github.com\/fourbeansoup\/broth\/commit\/09293a1703b3bdb36aba70d38abd5e44396c50a5"
|
24
|
+
}
|
25
|
+
],
|
26
|
+
"compare": "https:\/\/github.com\/fourbeansoup\/broth\/compare\/0ae4da1...416cb2f",
|
27
|
+
"forced": false,
|
28
|
+
"ref": "refs\/heads\/master",
|
29
|
+
"repository": {
|
30
|
+
"created_at": "2009\/12\/05 10:44:57 -0800",
|
31
|
+
"description": "FourBeanSoup's Broth Application, a tasty starting point for every app",
|
32
|
+
"fork": true,
|
33
|
+
"forks": 4,
|
34
|
+
"has_downloads": true,
|
35
|
+
"has_issues": true,
|
36
|
+
"has_wiki": true,
|
37
|
+
"homepage": "",
|
38
|
+
"language": "JavaScript",
|
39
|
+
"name": "broth",
|
40
|
+
"open_issues": 2,
|
41
|
+
"organization": "fourbeansoup",
|
42
|
+
"owner": {
|
43
|
+
"email": "josh+scm@fourbeansoup.com",
|
44
|
+
"name": "fourbeansoup"
|
45
|
+
},
|
46
|
+
"private": false,
|
47
|
+
"pushed_at": "2011\/02\/07 17:17:00 -0800",
|
48
|
+
"size": 604,
|
49
|
+
"url": "https:\/\/github.com\/fourbeansoup\/broth",
|
50
|
+
"watchers": 10
|
51
|
+
}
|
52
|
+
}
|
data/test/helper.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'test/unit'
|
3
|
+
require 'mocha'
|
4
|
+
|
5
|
+
ENV['RACK_ENV'] = 'test'
|
6
|
+
|
7
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
8
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
9
|
+
|
10
|
+
require 'ciquantum'
|
11
|
+
|
12
|
+
CIQuantum::Server.set :project_path, "."
|
13
|
+
CIQuantum::Server.set :environment, "test"
|
14
|
+
|
15
|
+
TMP_DIR = '/tmp/ciquantum_test'
|
16
|
+
|
17
|
+
def tmp_dir
|
18
|
+
TMP_DIR
|
19
|
+
end
|
20
|
+
|
21
|
+
def setup_git_info(options = {})
|
22
|
+
@tmp_dirs ||= []
|
23
|
+
@tmp_dirs += [options[:tmp_dir]]
|
24
|
+
create_tmpdir!(options[:tmp_dir])
|
25
|
+
dir = options[:tmp_dir] || tmp_dir
|
26
|
+
`cd #{dir} && git init`
|
27
|
+
options[:config].each do |key, value|
|
28
|
+
`cd #{dir} && git config --add #{key} "#{value}"`
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def teardown_git_info
|
33
|
+
remove_tmpdir!
|
34
|
+
@tmp_dirs.each do |dir|
|
35
|
+
remove_tmpdir!(dir)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def remove_tmpdir!(passed_dir = nil)
|
40
|
+
FileUtils.rm_rf(passed_dir || tmp_dir)
|
41
|
+
end
|
42
|
+
|
43
|
+
def create_tmpdir!(passed_dir = nil)
|
44
|
+
FileUtils.mkdir_p(passed_dir || tmp_dir)
|
45
|
+
end
|
46
|
+
|
47
|
+
class Test::Unit::TestCase
|
48
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestCIQuantumQueue < Test::Unit::TestCase
|
4
|
+
def test_a_disabled_queue
|
5
|
+
subject = CIQuantum::Queue.new(false)
|
6
|
+
subject.append_unless_already_exists("test")
|
7
|
+
assert_equal false, subject.waiting?
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_adding_two_items_to_a_queue
|
11
|
+
subject = CIQuantum::Queue.new(true)
|
12
|
+
subject.append_unless_already_exists("test")
|
13
|
+
subject.append_unless_already_exists(nil)
|
14
|
+
assert_equal true, subject.waiting?
|
15
|
+
assert_equal "test", subject.next_branch_to_build
|
16
|
+
assert_equal nil, subject.next_branch_to_build
|
17
|
+
assert_equal false, subject.waiting?
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_adding_two_duplicate_items_to_a_queue
|
21
|
+
subject = CIQuantum::Queue.new(true)
|
22
|
+
subject.append_unless_already_exists("test")
|
23
|
+
subject.append_unless_already_exists("test")
|
24
|
+
assert_equal true, subject.waiting?
|
25
|
+
assert_equal "test", subject.next_branch_to_build
|
26
|
+
assert_equal false, subject.waiting?
|
27
|
+
end
|
28
|
+
end
|
data/test/test_hooks.rb
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
# mock files to true
|
4
|
+
class File
|
5
|
+
class << self
|
6
|
+
alias orig_exists? exists?
|
7
|
+
alias orig_executable? executable?
|
8
|
+
|
9
|
+
def exists?(f)
|
10
|
+
return true if $hook_override
|
11
|
+
orig_exists? f
|
12
|
+
end
|
13
|
+
def executable?(f)
|
14
|
+
return true if $hook_override
|
15
|
+
orig_executable? f
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
# #mock file to be the file I want
|
21
|
+
class CIQuantum
|
22
|
+
attr_writer :last_build
|
23
|
+
alias orig_path_in_project path_in_project
|
24
|
+
alias orig_git_user_and_project git_user_and_project
|
25
|
+
|
26
|
+
def path_in_project(f)
|
27
|
+
return '/tmp/test' if $hook_override
|
28
|
+
orig_path_in_project
|
29
|
+
end
|
30
|
+
|
31
|
+
def git_user_and_project
|
32
|
+
return ['mine','yours'] if $hook_override
|
33
|
+
orig_git_user_and_project
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
class CIQuantum::Commit
|
38
|
+
attr_writer :raw_commit
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
class TestHooks < Test::Unit::TestCase
|
44
|
+
def teardown
|
45
|
+
$hook_override = nil
|
46
|
+
end
|
47
|
+
|
48
|
+
def setup
|
49
|
+
$hook_override = true
|
50
|
+
open("/tmp/test",'w') do |file|
|
51
|
+
file.write "echo $test\n"
|
52
|
+
file.write "echo $AUTHOR\n"
|
53
|
+
file.write "export test=foo\n"
|
54
|
+
end
|
55
|
+
File.chmod(0777,'/tmp/test')
|
56
|
+
|
57
|
+
@ciquantum = CIQuantum.new('/tmp')
|
58
|
+
@ciquantum.last_build = CIQuantum::Build.new "path", "user", "project", Time.now, Time.now,
|
59
|
+
"deadbeef", :failed, "output", nil
|
60
|
+
@ciquantum.last_build.commit.raw_commit = "Author: commit author\nDate: now"
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_leave_env_intact
|
64
|
+
ENV['AUTHOR'] = 'foo'
|
65
|
+
@ciquantum.run_hook("/tmp/test")
|
66
|
+
assert ENV.size != 0, 'ENV is empty but should not be'
|
67
|
+
assert ENV['AUTHOR'] == 'foo', 'ENV munged a value'
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_empty_hook_env
|
71
|
+
ENV["test"] = 'should not be shown'
|
72
|
+
output = @ciquantum.run_hook("/tmp/test")
|
73
|
+
assert_equal "\ncommit author\n", output
|
74
|
+
end
|
75
|
+
|
76
|
+
def test_hook_munge_env
|
77
|
+
ENV['test'] = 'bar'
|
78
|
+
output = @ciquantum.run_hook("/tmp/test")
|
79
|
+
assert ENV['test'] == 'bar'
|
80
|
+
end
|
81
|
+
end
|
metadata
ADDED
@@ -0,0 +1,209 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ciquantum
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Anton Sidelnikov
|
9
|
+
- Chris Wanstrath
|
10
|
+
- Josh Owens
|
11
|
+
autorequire:
|
12
|
+
bindir: bin
|
13
|
+
cert_chain: []
|
14
|
+
date: 2012-04-23 00:00:00.000000000 Z
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: bundler
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ! '>='
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '0'
|
24
|
+
type: :runtime
|
25
|
+
prerelease: false
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
28
|
+
requirements:
|
29
|
+
- - ! '>='
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '0'
|
32
|
+
- !ruby/object:Gem::Dependency
|
33
|
+
name: rake
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
|
+
requirements:
|
37
|
+
- - ! '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: json
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
type: :runtime
|
57
|
+
prerelease: false
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ! '>='
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
64
|
+
- !ruby/object:Gem::Dependency
|
65
|
+
name: tinder
|
66
|
+
requirement: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ! '>='
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: 1.4.0
|
72
|
+
type: :runtime
|
73
|
+
prerelease: false
|
74
|
+
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ! '>='
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: 1.4.0
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: sinatra
|
82
|
+
requirement: !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :runtime
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ! '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: choice
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - ! '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
108
|
+
requirements:
|
109
|
+
- - ! '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: rack-test
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
none: false
|
116
|
+
requirements:
|
117
|
+
- - ! '>='
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
120
|
+
type: :development
|
121
|
+
prerelease: false
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
124
|
+
requirements:
|
125
|
+
- - ! '>='
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0'
|
128
|
+
- !ruby/object:Gem::Dependency
|
129
|
+
name: mocha
|
130
|
+
requirement: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
132
|
+
requirements:
|
133
|
+
- - ! '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
type: :development
|
137
|
+
prerelease: false
|
138
|
+
version_requirements: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ! '>='
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0'
|
144
|
+
description: Ciquantum is a sinatra-based continuous integration server, based on
|
145
|
+
cijoe gem
|
146
|
+
email: ndmeredian@gmail.com
|
147
|
+
executables:
|
148
|
+
- ciquantum
|
149
|
+
extensions: []
|
150
|
+
extra_rdoc_files: []
|
151
|
+
files:
|
152
|
+
- .gitignore
|
153
|
+
- Gemfile
|
154
|
+
- LICENSE
|
155
|
+
- README.md
|
156
|
+
- Rakefile
|
157
|
+
- bin/ciquantum
|
158
|
+
- ciquantum.gemspec
|
159
|
+
- examples/build-failed
|
160
|
+
- examples/build-worked
|
161
|
+
- examples/cijoe.ru
|
162
|
+
- examples/cijoed
|
163
|
+
- lib/ciquantum.rb
|
164
|
+
- lib/ciquantum/adapter.rb
|
165
|
+
- lib/ciquantum/build.rb
|
166
|
+
- lib/ciquantum/commit.rb
|
167
|
+
- lib/ciquantum/config.rb
|
168
|
+
- lib/ciquantum/public/favicon.ico
|
169
|
+
- lib/ciquantum/public/octocat.png
|
170
|
+
- lib/ciquantum/public/screen.css
|
171
|
+
- lib/ciquantum/queue.rb
|
172
|
+
- lib/ciquantum/server.rb
|
173
|
+
- lib/ciquantum/unfuddle_adapter.rb
|
174
|
+
- lib/ciquantum/version.rb
|
175
|
+
- lib/ciquantum/views/json.erb
|
176
|
+
- lib/ciquantum/views/template.erb
|
177
|
+
- test/fixtures/payload.json
|
178
|
+
- test/helper.rb
|
179
|
+
- test/test_ciquantum_queue.rb
|
180
|
+
- test/test_hooks.rb
|
181
|
+
homepage: https://github.com/meredian/ciquantum
|
182
|
+
licenses: []
|
183
|
+
post_install_message:
|
184
|
+
rdoc_options: []
|
185
|
+
require_paths:
|
186
|
+
- lib
|
187
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
188
|
+
none: false
|
189
|
+
requirements:
|
190
|
+
- - ! '>='
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '0'
|
193
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
194
|
+
none: false
|
195
|
+
requirements:
|
196
|
+
- - ! '>='
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
version: '0'
|
199
|
+
requirements: []
|
200
|
+
rubyforge_project:
|
201
|
+
rubygems_version: 1.8.21
|
202
|
+
signing_key:
|
203
|
+
specification_version: 3
|
204
|
+
summary: Continius Integration server for internal usage at Social Quantum
|
205
|
+
test_files:
|
206
|
+
- test/fixtures/payload.json
|
207
|
+
- test/helper.rb
|
208
|
+
- test/test_ciquantum_queue.rb
|
209
|
+
- test/test_hooks.rb
|