bard 0.18.0 → 0.19.0
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/VERSION +1 -1
- data/lib/bard.rb +21 -8
- data/lib/bard/capistrano.rb +22 -0
- metadata +138 -153
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.19.0
|
data/lib/bard.rb
CHANGED
@@ -62,13 +62,21 @@ EOF
|
|
62
62
|
check_project project_path if project_path
|
63
63
|
end
|
64
64
|
|
65
|
-
desc "data [
|
66
|
-
def data(
|
65
|
+
desc "data [FROM=production, TO=local]", "copy database and assets from FROM to TO"
|
66
|
+
def data(from = "production", to = "local")
|
67
67
|
ensure_sanity!(true)
|
68
|
-
|
69
|
-
|
68
|
+
|
69
|
+
if to == "local"
|
70
|
+
if from == "production" and heroku?
|
71
|
+
exec "heroku db:pull --confirm #{project_name}"
|
72
|
+
else
|
73
|
+
exec "cap data:pull ROLES=#{from}"
|
74
|
+
end
|
75
|
+
|
70
76
|
else
|
71
|
-
|
77
|
+
if from == "local"
|
78
|
+
exec "cap data:push ROLES=#{to}"
|
79
|
+
end
|
72
80
|
end
|
73
81
|
end
|
74
82
|
|
@@ -145,8 +153,12 @@ EOF
|
|
145
153
|
start_time = Time.new.to_i
|
146
154
|
while (response = `curl -s #{ci_host}/lastBuild/api/xml?token=botandrose`).include? "<building>true</building>"
|
147
155
|
elapsed_time = Time.new.to_i - start_time
|
148
|
-
|
149
|
-
|
156
|
+
if last_time_elapsed
|
157
|
+
percentage = (elapsed_time.to_f / last_time_elapsed.to_f * 100).to_i
|
158
|
+
output = " Estimated completion: #{percentage}%"
|
159
|
+
else
|
160
|
+
output = " No estimated completion time. Elapsed time: #{elapsed_time} sec"
|
161
|
+
end
|
150
162
|
print "\x08" * output.length
|
151
163
|
print output
|
152
164
|
$stdout.flush
|
@@ -195,7 +207,8 @@ EOF
|
|
195
207
|
|
196
208
|
def get_last_time_elapsed
|
197
209
|
response = `curl -s #{ci_host}/lastStableBuild/api/xml?token=botandrose`
|
198
|
-
response.match(/<duration>(\d+)<\/duration>/)
|
210
|
+
response.match(/<duration>(\d+)<\/duration>/)
|
211
|
+
$1 ? $1.to_i / 1000 : nil
|
199
212
|
end
|
200
213
|
|
201
214
|
def ensure_sanity!(dirty_ok = false)
|
data/lib/bard/capistrano.rb
CHANGED
@@ -28,9 +28,31 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
31
|
+
|
32
|
+
namespace "push" do
|
33
|
+
desc "push data"
|
34
|
+
task "default" do
|
35
|
+
system "bundle exec rake db:dump && gzip -9f db/data.sql"
|
36
|
+
transfer :up, "db/data.sql.gz", "#{application}/db/data.sql.gz"
|
37
|
+
run "cd #{application} && gunzip -f db/data.sql.gz && bundle exec rake db:load"
|
38
|
+
end
|
39
|
+
|
40
|
+
desc "sync the static assets"
|
41
|
+
task "assets" do
|
42
|
+
uri = URI.parse("ssh://#{roles[ENV['ROLES'].to_sym].first.to_s}")
|
43
|
+
portopt = "-e'ssh -p#{uri.port}'" if uri.port
|
44
|
+
|
45
|
+
[asset_paths].flatten.each do |path|
|
46
|
+
dest_path = path.dup
|
47
|
+
dest_path.sub! %r(/[^/]+$), '/'
|
48
|
+
system "rsync #{portopt} --delete -avz #{path} #{uri.user}@#{uri.host}:#{application}/#{dest_path}"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
31
52
|
end
|
32
53
|
|
33
54
|
after 'data:pull', 'data:pull:assets'
|
55
|
+
after 'data:push', 'data:push:assets'
|
34
56
|
|
35
57
|
desc "push app to production"
|
36
58
|
task :deploy, :roles => :production do
|
metadata
CHANGED
@@ -1,175 +1,170 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: bard
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
hash: 87
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
6
|
-
|
7
|
-
- 0
|
8
|
-
- 18
|
9
|
-
- 0
|
10
|
-
version: 0.18.0
|
5
|
+
version: 0.19.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Micah Geisel
|
14
9
|
- Nick Hogle
|
15
10
|
autorequire:
|
16
11
|
bindir: bin
|
17
12
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
name: thor
|
13
|
+
date: 2013-06-22 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
23
16
|
prerelease: false
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
17
|
+
type: :runtime
|
18
|
+
name: thor
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - '='
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 0.11.7
|
25
|
+
requirement: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - '='
|
29
|
+
- !ruby/object:Gem::Version
|
34
30
|
version: 0.11.7
|
31
|
+
- !ruby/object:Gem::Dependency
|
32
|
+
prerelease: false
|
35
33
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
34
|
name: capistrano
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
hash: 15
|
46
|
-
segments:
|
47
|
-
- 2
|
48
|
-
- 5
|
49
|
-
- 10
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
none: false
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
50
40
|
version: 2.5.10
|
41
|
+
requirement: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - '='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 2.5.10
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
prerelease: false
|
51
49
|
type: :runtime
|
52
|
-
version_requirements: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
50
|
name: rvm-capistrano
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ! '>='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
- !ruby/object:Gem::Dependency
|
55
64
|
prerelease: false
|
56
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
hash: 3
|
62
|
-
segments:
|
63
|
-
- 0
|
64
|
-
version: "0"
|
65
65
|
type: :runtime
|
66
|
-
version_requirements: *id003
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
66
|
name: grit
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
69
|
+
requirements:
|
70
|
+
- - '='
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 1.1.1
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - '='
|
77
|
+
- !ruby/object:Gem::Version
|
80
78
|
version: 1.1.1
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
prerelease: false
|
81
81
|
type: :runtime
|
82
|
-
version_requirements: *id004
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
82
|
name: systemu
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
83
|
+
version_requirements: !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ! '>='
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 1.2.0
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
96
94
|
version: 1.2.0
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
prerelease: false
|
97
97
|
type: :runtime
|
98
|
-
version_requirements: *id005
|
99
|
-
- !ruby/object:Gem::Dependency
|
100
98
|
name: term-ansicolor
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
hash: 17
|
108
|
-
segments:
|
109
|
-
- 1
|
110
|
-
- 0
|
111
|
-
- 3
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
101
|
+
requirements:
|
102
|
+
- - ! '>='
|
103
|
+
- !ruby/object:Gem::Version
|
112
104
|
version: 1.0.3
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.0.3
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
prerelease: false
|
113
113
|
type: :runtime
|
114
|
-
version_requirements: *id006
|
115
|
-
- !ruby/object:Gem::Dependency
|
116
114
|
name: bard-rake
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
hash: 25
|
124
|
-
segments:
|
125
|
-
- 0
|
126
|
-
- 1
|
127
|
-
- 1
|
115
|
+
version_requirements: !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
117
|
+
requirements:
|
118
|
+
- - ! '>='
|
119
|
+
- !ruby/object:Gem::Version
|
128
120
|
version: 0.1.1
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
121
|
+
requirement: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ! '>='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 0.1.1
|
127
|
+
- !ruby/object:Gem::Dependency
|
133
128
|
prerelease: false
|
134
|
-
|
129
|
+
type: :development
|
130
|
+
name: rspec
|
131
|
+
version_requirements: !ruby/object:Gem::Requirement
|
132
|
+
none: false
|
133
|
+
requirements:
|
134
|
+
- - ~>
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: 1.3.0
|
137
|
+
requirement: !ruby/object:Gem::Requirement
|
135
138
|
none: false
|
136
|
-
requirements:
|
139
|
+
requirements:
|
137
140
|
- - ~>
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
hash: 27
|
140
|
-
segments:
|
141
|
-
- 1
|
142
|
-
- 3
|
143
|
-
- 0
|
141
|
+
- !ruby/object:Gem::Version
|
144
142
|
version: 1.3.0
|
143
|
+
- !ruby/object:Gem::Dependency
|
144
|
+
prerelease: false
|
145
145
|
type: :development
|
146
|
-
version_requirements: *id008
|
147
|
-
- !ruby/object:Gem::Dependency
|
148
146
|
name: cucumber
|
149
|
-
|
150
|
-
requirement: &id009 !ruby/object:Gem::Requirement
|
147
|
+
version_requirements: !ruby/object:Gem::Requirement
|
151
148
|
none: false
|
152
|
-
requirements:
|
149
|
+
requirements:
|
153
150
|
- - ~>
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
hash: 59
|
156
|
-
segments:
|
157
|
-
- 0
|
158
|
-
- 9
|
159
|
-
- 0
|
151
|
+
- !ruby/object:Gem::Version
|
160
152
|
version: 0.9.0
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
155
|
+
requirements:
|
156
|
+
- - ~>
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 0.9.0
|
159
|
+
description: This immaculate work of engineering genius allows mere mortals to collaborate
|
160
|
+
with beings of transcendent intelligence like Micah, Michael, and Nick.
|
161
|
+
email:
|
165
162
|
- micah@botandrose.com
|
166
|
-
executables:
|
163
|
+
executables:
|
167
164
|
- bard
|
168
165
|
extensions: []
|
169
|
-
|
170
166
|
extra_rdoc_files: []
|
171
|
-
|
172
|
-
files:
|
167
|
+
files:
|
173
168
|
- .document
|
174
169
|
- .gitignore
|
175
170
|
- .gitmodules
|
@@ -214,36 +209,26 @@ files:
|
|
214
209
|
- spec/spec_helper.rb
|
215
210
|
homepage: https://github.com/botandrose/bard
|
216
211
|
licenses: []
|
217
|
-
|
218
212
|
post_install_message:
|
219
213
|
rdoc_options: []
|
220
|
-
|
221
|
-
require_paths:
|
214
|
+
require_paths:
|
222
215
|
- lib
|
223
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
216
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
224
217
|
none: false
|
225
|
-
requirements:
|
226
|
-
- -
|
227
|
-
- !ruby/object:Gem::Version
|
228
|
-
|
229
|
-
|
230
|
-
- 0
|
231
|
-
version: "0"
|
232
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0'
|
222
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
233
223
|
none: false
|
234
|
-
requirements:
|
235
|
-
- -
|
236
|
-
- !ruby/object:Gem::Version
|
237
|
-
|
238
|
-
segments:
|
239
|
-
- 0
|
240
|
-
version: "0"
|
224
|
+
requirements:
|
225
|
+
- - ! '>='
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: '0'
|
241
228
|
requirements: []
|
242
|
-
|
243
229
|
rubyforge_project:
|
244
|
-
rubygems_version: 1.8.
|
230
|
+
rubygems_version: 1.8.25
|
245
231
|
signing_key:
|
246
232
|
specification_version: 3
|
247
233
|
summary: Tools for collaborating with Bot and Rose Design.
|
248
234
|
test_files: []
|
249
|
-
|