integrity 0.1.10 → 0.1.11
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS +35 -29
- data/CHANGES +30 -0
- data/README.md +0 -7
- data/Rakefile +0 -12
- data/config/config.sample.ru +0 -15
- data/integrity.gemspec +4 -7
- data/lib/integrity/app.rb +1 -1
- data/lib/integrity/build.rb +3 -3
- data/lib/integrity/commit.rb +3 -3
- data/lib/integrity/helpers/breadcrumbs.rb +1 -1
- data/lib/integrity/helpers/pretty_output.rb +2 -2
- data/lib/integrity/installer.rb +8 -59
- data/lib/integrity/notifier/base.rb +1 -1
- data/lib/integrity/project.rb +3 -3
- data/test/acceptance/installer_test.rb +0 -16
- data/test/acceptance/project_syndication_test.rb +5 -1
- data/test/acceptance/stylesheet_test.rb +1 -1
- data/test/unit/helpers_test.rb +2 -2
- data/test/unit/notifier_test.rb +12 -0
- data/views/integrity.sass +8 -8
- data/views/new.haml +1 -1
- metadata +19 -11
- data/config/heroku/.gems +0 -1
- data/config/heroku/Rakefile +0 -6
- data/config/heroku/config.ru +0 -7
- data/config/heroku/integrity-config.rb +0 -15
data/AUTHORS
CHANGED
@@ -2,34 +2,40 @@ Integrity is maintained by Nicolás Sanguinetti and Simon Rozet.
|
|
2
2
|
|
3
3
|
Thanks to the following people for their feedbacks, ideas and patches :
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
5
|
+
Alexander Lang
|
6
|
+
atmos
|
7
|
+
bdotdub
|
8
|
+
Bodaniel Jeanes
|
9
|
+
Christopher Redinger
|
10
|
+
Chris Wanstrath
|
11
|
+
Corey Donohoe
|
12
|
+
David Dollar
|
13
|
+
dbr
|
14
|
+
Chris Wanstrath
|
15
|
+
Diego Algorta
|
16
|
+
Douglas F Shearer
|
17
|
+
elliottcable
|
18
|
+
Guilherme Chapiewski
|
19
|
+
Harry Vangberg
|
20
|
+
James Adam
|
21
|
+
James Golick
|
22
|
+
Jeff Schoolcraft
|
23
|
+
Jeff Whitmire
|
24
|
+
Jeremy Hinegardner
|
25
|
+
Josh Nichols
|
26
|
+
Justin Knowlden
|
27
|
+
klondike
|
28
|
+
Kyle Hargraves
|
29
|
+
Levent Ali
|
30
|
+
Miles Z. Sterrett
|
31
|
+
Mislav Marohnić
|
32
|
+
Nick Quaranto
|
33
|
+
Nicolás Sanguinetti
|
34
|
+
Pat Nakajima
|
35
|
+
Pier-Hugues Pellerin
|
36
|
+
Scott Taylor
|
37
|
+
Simon Rozet
|
38
|
+
Will Leinweber
|
39
|
+
Wilson Bilkovich
|
34
40
|
|
35
41
|
NOTE: Please let us know if your name is missing
|
data/CHANGES
CHANGED
@@ -1,6 +1,36 @@
|
|
1
|
+
0.1.11 / 2009-07-26
|
2
|
+
===================
|
3
|
+
|
4
|
+
* This release depends on Sinatra 0.9.4 and hence, Rack 1.0 (finally!)
|
5
|
+
|
6
|
+
* The `integrity launch` command was removed. Please use a rackup
|
7
|
+
file and whatever server you want instead
|
8
|
+
|
9
|
+
* The Heroku install was removed as it currently doesn't work.
|
10
|
+
A template-type repo ready to be pushed onto Heroku might be provided
|
11
|
+
in the future
|
12
|
+
|
13
|
+
* Fix an error occuring when a notifier times out [#166 / Benny Wong]
|
14
|
+
|
15
|
+
* Fix pretty_date helpers showing a leading zero for days < 10
|
16
|
+
[Douglas F Shearer]
|
17
|
+
|
18
|
+
* Add a missing backstick to the post install message [Douglas F Shearer]
|
19
|
+
|
20
|
+
* Fix a missing dependency on builder [#177]
|
21
|
+
|
22
|
+
* Fix the Content-Type of the Atom feed
|
23
|
+
|
24
|
+
* Get rid of all mention of foca-integrity from generated files
|
25
|
+
|
26
|
+
* Fix all Sass deprecation warnings
|
27
|
+
|
28
|
+
|
1
29
|
0.1.10 / 2009-05-14
|
2
30
|
====================
|
3
31
|
|
32
|
+
* Projects are now sorted by name (Nick Quaranto)
|
33
|
+
|
4
34
|
* Bundle the NULL commit author/message fix as a migration
|
5
35
|
|
6
36
|
* Fix issue with stale notifier. See 693c95e for details
|
data/README.md
CHANGED
@@ -8,13 +8,6 @@ Integrity
|
|
8
8
|
* Join us on [#integrity][irc-channel] for ideas, help, patches or something
|
9
9
|
* Get the code on [GitHub][repo]
|
10
10
|
|
11
|
-
Try it!
|
12
|
-
-------
|
13
|
-
|
14
|
-
$ git clone git://github.com/integrity/integrity.git
|
15
|
-
$ rake launch
|
16
|
-
$ open http://0.0.0.0:4567/
|
17
|
-
|
18
11
|
Run the test suite
|
19
12
|
------------------
|
20
13
|
|
data/Rakefile
CHANGED
@@ -1,20 +1,8 @@
|
|
1
1
|
require "rake/testtask"
|
2
2
|
|
3
|
-
def spec
|
4
|
-
@spec ||= begin
|
5
|
-
require "rubygems/specification"
|
6
|
-
eval(File.read("integrity.gemspec"))
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
3
|
desc "Default: run all tests"
|
11
4
|
task :default => :test
|
12
5
|
|
13
|
-
desc "Launch Integrity real quick"
|
14
|
-
task :launch do
|
15
|
-
ruby "bin/integrity launch"
|
16
|
-
end
|
17
|
-
|
18
6
|
desc "Run tests"
|
19
7
|
task :test => %w(test:units test:acceptance)
|
20
8
|
namespace :test do
|
data/config/config.sample.ru
CHANGED
@@ -2,20 +2,5 @@
|
|
2
2
|
require "rubygems"
|
3
3
|
require "integrity"
|
4
4
|
|
5
|
-
# If you want to add any notifiers, install the gems and then require them here
|
6
|
-
# For example, to enable the Email notifier: install the gem (from github:
|
7
|
-
#
|
8
|
-
# sudo gem install -s http://gems.github.com foca-integrity-email
|
9
|
-
#
|
10
|
-
# And then uncomment the following line:
|
11
|
-
#
|
12
|
-
# require "notifier/email"
|
13
|
-
|
14
|
-
# Load configuration and initialize Integrity
|
15
5
|
Integrity.new(File.dirname(__FILE__) + "/config.yml")
|
16
|
-
|
17
|
-
# You probably don't want to edit anything below
|
18
|
-
Integrity::App.set :environment, ENV["RACK_ENV"] || :production
|
19
|
-
Integrity::App.set :port, 8910
|
20
|
-
|
21
6
|
run Integrity::App
|
data/integrity.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "integrity"
|
3
|
-
s.version = "0.1.
|
4
|
-
s.date = "2009-
|
3
|
+
s.version = "0.1.11"
|
4
|
+
s.date = "2009-07-26"
|
5
5
|
|
6
6
|
s.description = "Your Friendly Continuous Integration server. Easy, fun and painless!"
|
7
7
|
s.summary = "The easy and fun Continuous Integration server"
|
@@ -18,9 +18,10 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.has_rdoc = false
|
19
19
|
s.rubygems_version = "1.3.1"
|
20
20
|
|
21
|
-
s.add_dependency "sinatra"
|
21
|
+
s.add_dependency "sinatra"
|
22
22
|
s.add_dependency "sinatra-authorization"
|
23
23
|
s.add_dependency "haml", [">= 2.0.0"]
|
24
|
+
s.add_dependency "builder"
|
24
25
|
s.add_dependency "data_mapper", ["= 0.9.11"]
|
25
26
|
s.add_dependency "uuidtools" # required by dm-types
|
26
27
|
s.add_dependency "bcrypt-ruby" # required by dm-types
|
@@ -50,10 +51,6 @@ Rakefile
|
|
50
51
|
bin/integrity
|
51
52
|
config/config.sample.ru
|
52
53
|
config/config.sample.yml
|
53
|
-
config/heroku/.gems
|
54
|
-
config/heroku/Rakefile
|
55
|
-
config/heroku/config.ru
|
56
|
-
config/heroku/integrity-config.rb
|
57
54
|
config/thin.sample.yml
|
58
55
|
integrity.gemspec
|
59
56
|
lib/integrity.rb
|
data/lib/integrity/app.rb
CHANGED
@@ -65,7 +65,7 @@ module Integrity
|
|
65
65
|
|
66
66
|
get "/:project.atom" do
|
67
67
|
login_required unless current_project.public?
|
68
|
-
response["Content-Type"] = "application/
|
68
|
+
response["Content-Type"] = "application/atom+xml; charset=utf-8"
|
69
69
|
builder :project
|
70
70
|
end
|
71
71
|
|
data/lib/integrity/build.rb
CHANGED
@@ -2,15 +2,15 @@ module Integrity
|
|
2
2
|
class Build
|
3
3
|
include DataMapper::Resource
|
4
4
|
|
5
|
-
property :id,
|
5
|
+
property :id, Serial
|
6
6
|
property :output, Text, :default => "", :lazy => false
|
7
7
|
property :successful, Boolean, :default => false
|
8
8
|
property :commit_id, Integer, :nullable => false
|
9
|
-
property :created_at, DateTime
|
10
|
-
property :updated_at, DateTime
|
11
9
|
property :started_at, DateTime
|
12
10
|
property :completed_at, DateTime
|
13
11
|
|
12
|
+
timestamps :at
|
13
|
+
|
14
14
|
belongs_to :commit, :class_name => "Integrity::Commit",
|
15
15
|
:child_key => [:commit_id]
|
16
16
|
|
data/lib/integrity/commit.rb
CHANGED
@@ -2,13 +2,13 @@ module Integrity
|
|
2
2
|
class Commit
|
3
3
|
include DataMapper::Resource
|
4
4
|
|
5
|
-
property :id,
|
5
|
+
property :id, Serial
|
6
6
|
property :identifier, String, :nullable => false
|
7
7
|
property :message, String, :length => 255
|
8
8
|
property :author, Author, :length => 255
|
9
9
|
property :committed_at, DateTime
|
10
|
-
|
11
|
-
|
10
|
+
|
11
|
+
timestamps :at
|
12
12
|
|
13
13
|
has 1, :build, :class_name => "Integrity::Build",
|
14
14
|
:order => [:created_at.desc]
|
@@ -10,7 +10,7 @@ module Integrity
|
|
10
10
|
if page_data = pages.detect {|c| c.first == crumb }
|
11
11
|
%Q(<a href="#{page_data.last}">#{page_data.first}</a>)
|
12
12
|
elsif @project && @project.permalink == crumb
|
13
|
-
%Q(<a href="#{
|
13
|
+
%Q(<a href="#{project_path(@project)}">#{@project.permalink}</a>)
|
14
14
|
end
|
15
15
|
end + [crumbs.last]
|
16
16
|
end
|
@@ -26,7 +26,7 @@ module Integrity
|
|
26
26
|
elsif days_away == 1
|
27
27
|
"yesterday"
|
28
28
|
else
|
29
|
-
strftime_with_ordinal(date_time, "on %b %
|
29
|
+
strftime_with_ordinal(date_time, "on %b %o")
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -38,7 +38,7 @@ module Integrity
|
|
38
38
|
else "th"
|
39
39
|
end
|
40
40
|
|
41
|
-
date_time.strftime(format_string.gsub("%o", ordinal))
|
41
|
+
date_time.strftime(format_string.gsub("%o", date_time.day.to_s + ordinal))
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
data/lib/integrity/installer.rb
CHANGED
@@ -14,20 +14,14 @@ module Integrity
|
|
14
14
|
"Copy template files to PATH for desired deployement strategy
|
15
15
|
(either Thin, Passenger or Heroku). Next, go there and edit them."
|
16
16
|
method_options :passenger => :boolean,
|
17
|
-
:thin => :boolean
|
18
|
-
:heroku => :boolean
|
17
|
+
:thin => :boolean
|
19
18
|
def install(path)
|
20
19
|
@root = Pathname(path).expand_path
|
21
20
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
create_dir_structure
|
27
|
-
copy_template_files
|
28
|
-
edit_template_files
|
29
|
-
puts post_install_message
|
30
|
-
end
|
21
|
+
create_dir_structure
|
22
|
+
copy_template_files
|
23
|
+
edit_template_files
|
24
|
+
puts post_install_message
|
31
25
|
end
|
32
26
|
|
33
27
|
desc "migrate_db [CONFIG]",
|
@@ -40,28 +34,6 @@ module Integrity
|
|
40
34
|
Integrity.migrate_db
|
41
35
|
end
|
42
36
|
|
43
|
-
desc "launch [CONFIG]",
|
44
|
-
"Launch Integrity real quick. Database is saved in #{database_path}."
|
45
|
-
method_options :config => :optional, :port => :optional
|
46
|
-
def launch
|
47
|
-
require "thin"
|
48
|
-
require "do_sqlite3"
|
49
|
-
|
50
|
-
port = options[:port] || 4567
|
51
|
-
|
52
|
-
config = { :database_uri => "sqlite3://#{ENV["HOME"]}/.integrity.db",
|
53
|
-
:base_uri => "http://0.0.0.0:#{options[:port]}",
|
54
|
-
:export_directory => "/tmp/integrity-exports" }
|
55
|
-
config.merge!(YAML.load_file(options[:config])) if options[:config]
|
56
|
-
|
57
|
-
migrate_db(config)
|
58
|
-
|
59
|
-
Thin::Server.start("0.0.0.0", port, Integrity::App)
|
60
|
-
rescue LoadError => boom
|
61
|
-
$stderr << "Make sure thin and do_sqlite3 are insatalled\n\n"
|
62
|
-
raise
|
63
|
-
end
|
64
|
-
|
65
37
|
private
|
66
38
|
attr_reader :root
|
67
39
|
|
@@ -102,39 +74,16 @@ module Integrity
|
|
102
74
|
File.open(root / "thin.yml", 'w') { |f| f.puts config }
|
103
75
|
end
|
104
76
|
|
105
|
-
def post_heroku_install_message
|
106
|
-
<<EOF
|
107
|
-
Your Integrity install is ready to be deployed onto Heroku. Next steps:
|
108
|
-
|
109
|
-
1. git init && git add . && git commit -am "Initial import"
|
110
|
-
2. heroku create
|
111
|
-
3. Add heroku-given domain as :base_uri in integrity-config.rb
|
112
|
-
4. git push heroku master
|
113
|
-
5. heroku rake db:migrate
|
114
|
-
EOF
|
115
|
-
end
|
116
|
-
|
117
77
|
def post_install_message
|
118
78
|
<<EOF
|
119
79
|
Awesome! Integrity was installed successfully!
|
120
80
|
|
121
81
|
To complete the installation, please configure the `database_uri` in
|
122
82
|
#{root.join("config.yml")} and install the matching DataMapper adapter if
|
123
|
-
necessary. Then, run `integrity migrate_db #{root.join("config.yml")}
|
124
|
-
|
125
|
-
== Notifiers
|
126
|
-
If you want to enable notifiers, install the gems and then require them
|
127
|
-
in #{root}/config.ru
|
128
|
-
|
129
|
-
For example:
|
130
|
-
|
131
|
-
sudo gem install -s http://gems.github.com foca-integrity-email
|
132
|
-
|
133
|
-
And then in #{root}/config.ru add:
|
134
|
-
|
135
|
-
require "notifier/email"
|
83
|
+
necessary. Then, run `integrity migrate_db #{root.join("config.yml")}`
|
136
84
|
|
137
|
-
|
85
|
+
Please go to <http://integrityapp.com/#notifiers> for notifiers setup
|
86
|
+
instructions.
|
138
87
|
EOF
|
139
88
|
end
|
140
89
|
|
@@ -5,7 +5,7 @@ module Integrity
|
|
5
5
|
Integrity.log "Notifying of build #{build.commit.short_identifier} using the #{to_s} notifier"
|
6
6
|
Timeout.timeout(8) { new(build.commit, config).deliver! }
|
7
7
|
rescue Timeout::Error
|
8
|
-
Integrity.log "#{
|
8
|
+
Integrity.log "#{to_s} notifier timed out"
|
9
9
|
false
|
10
10
|
end
|
11
11
|
|
data/lib/integrity/project.rb
CHANGED
@@ -6,7 +6,7 @@ module Integrity
|
|
6
6
|
include DataMapper::Resource
|
7
7
|
include Notifiers, Push
|
8
8
|
|
9
|
-
property :id,
|
9
|
+
property :id, Serial
|
10
10
|
property :name, String, :nullable => false
|
11
11
|
property :permalink, String
|
12
12
|
property :uri, URI, :nullable => false, :length => 255
|
@@ -14,8 +14,8 @@ module Integrity
|
|
14
14
|
property :command, String, :nullable => false, :length => 255, :default => "rake"
|
15
15
|
property :public, Boolean, :default => true
|
16
16
|
property :building, Boolean, :default => false
|
17
|
-
|
18
|
-
|
17
|
+
|
18
|
+
timestamps :at
|
19
19
|
|
20
20
|
default_scope(:default).update(:order => [:name.asc])
|
21
21
|
|
@@ -34,10 +34,6 @@ class InstallerTest < Test::Unit::AcceptanceTestCase
|
|
34
34
|
assert ! root.join("public").directory?
|
35
35
|
assert ! root.join("tmp").directory?
|
36
36
|
|
37
|
-
assert ! root.join("Rakefile").file?
|
38
|
-
assert ! root.join("integrity.rb").file?
|
39
|
-
assert ! root.join(".gems").file?
|
40
|
-
|
41
37
|
assert ! root.join("thin.yml").file?
|
42
38
|
assert root.join("config.ru").file?
|
43
39
|
|
@@ -66,16 +62,4 @@ class InstallerTest < Test::Unit::AcceptanceTestCase
|
|
66
62
|
config["rackup"].should == root.join("config.ru").to_s
|
67
63
|
config["log"].should == root.join("log/thin.log").to_s
|
68
64
|
end
|
69
|
-
|
70
|
-
scenario "Installing Integrity for Heroku" do
|
71
|
-
message = install("--heroku")
|
72
|
-
|
73
|
-
assert_equal "integrity --version 0.1.9.3", root.join(".gems").read.chomp
|
74
|
-
|
75
|
-
assert root.join("Rakefile").file?
|
76
|
-
assert root.join("integrity-config.rb").file?
|
77
|
-
assert root.join("config.ru").file?
|
78
|
-
|
79
|
-
assert message.include?("ready to be deployed onto Heroku")
|
80
|
-
end
|
81
65
|
end
|
@@ -7,6 +7,10 @@ class ProjectSyndicationTest < Test::Unit::AcceptanceTestCase
|
|
7
7
|
So I can know the status of my favorite projects while having my morning coffee
|
8
8
|
EOS
|
9
9
|
|
10
|
+
def content_type
|
11
|
+
webrat_session.send(:response).headers["Content-Type"]
|
12
|
+
end
|
13
|
+
|
10
14
|
scenario "a public project's page includes an autodiscovery link tag for the feed" do
|
11
15
|
Project.gen(:integrity, :public => true)
|
12
16
|
visit "/integrity"
|
@@ -20,7 +24,7 @@ class ProjectSyndicationTest < Test::Unit::AcceptanceTestCase
|
|
20
24
|
|
21
25
|
visit "/integrity.atom"
|
22
26
|
|
23
|
-
|
27
|
+
assert_equal "application/atom+xml; charset=utf-8", content_type
|
24
28
|
|
25
29
|
assert_have_tag("feed title", :content => "Build history for Integrity")
|
26
30
|
assert_have_tag("feed entry", :count => 11)
|
@@ -14,7 +14,7 @@ class IntegrityStylesheetTest < Test::Unit::AcceptanceTestCase
|
|
14
14
|
|
15
15
|
assert_contain("body {")
|
16
16
|
# TODO: Check that it actually returns a 302
|
17
|
-
assert_equal %Q{"
|
17
|
+
assert_equal %Q{"96f809c4dec9e7cfdd20542dfdeefaf2"},
|
18
18
|
webrat_session.send(:response).headers["ETag"]
|
19
19
|
|
20
20
|
visit "/reset.css"
|
data/test/unit/helpers_test.rb
CHANGED
@@ -9,14 +9,14 @@ class BrowsePublicProjectsTest < Test::Unit::TestCase
|
|
9
9
|
@h.pretty_date(Time.now).should == "today"
|
10
10
|
@h.pretty_date(Time.new - 86400).should == "yesterday"
|
11
11
|
|
12
|
-
@h.pretty_date(Time.mktime(1995, 12, 01)).should == "on Dec
|
12
|
+
@h.pretty_date(Time.mktime(1995, 12, 01)).should == "on Dec 1st"
|
13
13
|
@h.pretty_date(Time.mktime(1995, 12, 21)).should == "on Dec 21st"
|
14
14
|
@h.pretty_date(Time.mktime(1995, 12, 31)).should == "on Dec 31st"
|
15
15
|
|
16
16
|
@h.pretty_date(Time.mktime(1995, 12, 22)).should == "on Dec 22nd"
|
17
17
|
@h.pretty_date(Time.mktime(1995, 12, 22)).should == "on Dec 22nd"
|
18
18
|
|
19
|
-
@h.pretty_date(Time.mktime(1995, 12, 03)).should == "on Dec
|
19
|
+
@h.pretty_date(Time.mktime(1995, 12, 03)).should == "on Dec 3rd"
|
20
20
|
@h.pretty_date(Time.mktime(1995, 12, 23)).should == "on Dec 23rd"
|
21
21
|
|
22
22
|
@h.pretty_date(Time.mktime(1995, 12, 15)).should == "on Dec 15th"
|
data/test/unit/notifier_test.rb
CHANGED
@@ -93,4 +93,16 @@ class NotifierTest < Test::Unit::TestCase
|
|
93
93
|
|
94
94
|
irc.notify_of_build(build)
|
95
95
|
end
|
96
|
+
|
97
|
+
it "handles notifier timeouts" do
|
98
|
+
irc = Notifier.gen(:irc)
|
99
|
+
Notifier.register(Integrity::Notifier::IRC)
|
100
|
+
build = Build.gen
|
101
|
+
|
102
|
+
stub.instance_of(Notifier::IRC).deliver! { raise Timeout::Error }
|
103
|
+
mock(Integrity).log(anything)
|
104
|
+
mock(Integrity).log("Integrity::Notifier::IRC notifier timed out") { nil }
|
105
|
+
|
106
|
+
irc.notify_of_build(build)
|
107
|
+
end
|
96
108
|
end
|
data/views/integrity.sass
CHANGED
@@ -79,7 +79,7 @@ a
|
|
79
79
|
:margin-bottom .75em
|
80
80
|
:padding .25em 0
|
81
81
|
:line-height 1.2
|
82
|
-
:border-bottom = 1px solid !rule_color
|
82
|
+
:border-bottom = 1px "solid" !rule_color
|
83
83
|
h2
|
84
84
|
:font-weight bold
|
85
85
|
:font-size 1.5em
|
@@ -95,8 +95,8 @@ a
|
|
95
95
|
code, pre, textarea, input
|
96
96
|
:font-family = !monospace_fonts
|
97
97
|
pre
|
98
|
-
margin .5em
|
99
|
-
padding .5em
|
98
|
+
:margin .5em
|
99
|
+
:padding .5em
|
100
100
|
|
101
101
|
form
|
102
102
|
p
|
@@ -160,7 +160,7 @@ a
|
|
160
160
|
fieldset
|
161
161
|
:padding-bottom 1em
|
162
162
|
:margin-left 1.35em
|
163
|
-
:border-bottom = 1px solid !rule_color
|
163
|
+
:border-bottom = 1px "solid" !rule_color
|
164
164
|
:margin-bottom 1em
|
165
165
|
h3
|
166
166
|
:margin-top 1em
|
@@ -228,17 +228,17 @@ a
|
|
228
228
|
|
229
229
|
.backtrace
|
230
230
|
:margin 1em 0
|
231
|
-
:overflow scroll
|
231
|
+
:overflow "scroll"
|
232
232
|
:height 30em
|
233
|
-
:border = 1px solid !rule_color
|
233
|
+
:border = 1px "solid" !rule_color
|
234
234
|
:line-height 1.6
|
235
235
|
|
236
236
|
#projects
|
237
237
|
:margin 1em 0 2em
|
238
|
-
:border-top = 1px solid !rule_color
|
238
|
+
:border-top = 1px "solid" !rule_color
|
239
239
|
li
|
240
240
|
:position relative
|
241
|
-
:border-bottom = 1px solid !rule_color
|
241
|
+
:border-bottom = 1px "solid" !rule_color
|
242
242
|
&.odd
|
243
243
|
:background = !content_bg - #080808
|
244
244
|
&.building
|
data/views/new.haml
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
%p
|
40
40
|
You can use this Push URL with your GitHub project to enable automated continuous integration.
|
41
41
|
%p
|
42
|
-
%code#push_url= push_url_for(@project)
|
42
|
+
%code#push_url= h(push_url_for(@project))
|
43
43
|
|
44
44
|
%form{ :method => "post", :action => project_path(@project) }
|
45
45
|
.hidden
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: integrity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Nicol\xC3\xA1s Sanguinetti"
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-
|
13
|
+
date: 2009-07-26 00:00:00 -03:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -19,9 +19,9 @@ dependencies:
|
|
19
19
|
version_requirement:
|
20
20
|
version_requirements: !ruby/object:Gem::Requirement
|
21
21
|
requirements:
|
22
|
-
- - "
|
22
|
+
- - ">="
|
23
23
|
- !ruby/object:Gem::Version
|
24
|
-
version: 0
|
24
|
+
version: "0"
|
25
25
|
version:
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: sinatra-authorization
|
@@ -43,6 +43,16 @@ dependencies:
|
|
43
43
|
- !ruby/object:Gem::Version
|
44
44
|
version: 2.0.0
|
45
45
|
version:
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: builder
|
48
|
+
type: :runtime
|
49
|
+
version_requirement:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: "0"
|
55
|
+
version:
|
46
56
|
- !ruby/object:Gem::Dependency
|
47
57
|
name: data_mapper
|
48
58
|
type: :runtime
|
@@ -211,10 +221,6 @@ files:
|
|
211
221
|
- bin/integrity
|
212
222
|
- config/config.sample.ru
|
213
223
|
- config/config.sample.yml
|
214
|
-
- config/heroku/.gems
|
215
|
-
- config/heroku/Rakefile
|
216
|
-
- config/heroku/config.ru
|
217
|
-
- config/heroku/integrity-config.rb
|
218
224
|
- config/thin.sample.yml
|
219
225
|
- integrity.gemspec
|
220
226
|
- lib/integrity.rb
|
@@ -296,8 +302,10 @@ files:
|
|
296
302
|
- views/project.builder
|
297
303
|
- views/project.haml
|
298
304
|
- views/unauthorized.haml
|
299
|
-
has_rdoc:
|
305
|
+
has_rdoc: true
|
300
306
|
homepage: http://integrityapp.com
|
307
|
+
licenses: []
|
308
|
+
|
301
309
|
post_install_message: Run `integrity help` for information on how to setup Integrity.
|
302
310
|
rdoc_options: []
|
303
311
|
|
@@ -318,9 +326,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
318
326
|
requirements: []
|
319
327
|
|
320
328
|
rubyforge_project: integrity
|
321
|
-
rubygems_version: 1.3.
|
329
|
+
rubygems_version: 1.3.5
|
322
330
|
signing_key:
|
323
|
-
specification_version:
|
331
|
+
specification_version: 3
|
324
332
|
summary: The easy and fun Continuous Integration server
|
325
333
|
test_files: []
|
326
334
|
|
data/config/heroku/.gems
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
integrity --version 0.1.9.3
|
data/config/heroku/Rakefile
DELETED
data/config/heroku/config.ru
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require "rubygems"
|
2
|
-
gem "integrity"
|
3
|
-
require "integrity"
|
4
|
-
|
5
|
-
Integrity.config = {
|
6
|
-
:base_uri => nil, # Edit this! Like :base_uri => 'http://awesome-subdomain-13.heroku.com'
|
7
|
-
:database_uri => ENV["DATABASE_URL"],
|
8
|
-
:export_directory => File.dirname(__FILE__) + "/tmp",
|
9
|
-
:log => File.dirname(__FILE__) + "/log/integrity.log",
|
10
|
-
# Uncomment to setup a password
|
11
|
-
# :admin_usenrame => "admin",
|
12
|
-
# :admin_password => "foobar"
|
13
|
-
}
|
14
|
-
|
15
|
-
Integrity.new
|