engineyard-serverside 1.6.5 → 1.7.0.pre2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. data/lib/engineyard-serverside.rb +2 -0
  2. data/lib/engineyard-serverside/cli.rb +83 -48
  3. data/lib/engineyard-serverside/configuration.rb +85 -18
  4. data/lib/engineyard-serverside/deploy.rb +105 -91
  5. data/lib/engineyard-serverside/deploy_hook.rb +22 -20
  6. data/lib/engineyard-serverside/deprecation.rb +9 -17
  7. data/lib/engineyard-serverside/future.rb +10 -4
  8. data/lib/engineyard-serverside/futures/celluloid.rb +3 -13
  9. data/lib/engineyard-serverside/futures/dataflow.rb +8 -13
  10. data/lib/engineyard-serverside/lockfile_parser.rb +1 -1
  11. data/lib/engineyard-serverside/rails_asset_support.rb +26 -10
  12. data/lib/engineyard-serverside/server.rb +17 -12
  13. data/lib/engineyard-serverside/shell.rb +98 -0
  14. data/lib/engineyard-serverside/shell/formatter.rb +71 -0
  15. data/lib/engineyard-serverside/shell/helpers.rb +29 -0
  16. data/lib/engineyard-serverside/strategies/git.rb +33 -63
  17. data/lib/engineyard-serverside/task.rb +34 -13
  18. data/lib/engineyard-serverside/version.rb +1 -1
  19. data/spec/basic_deploy_spec.rb +15 -50
  20. data/spec/bundler_deploy_spec.rb +3 -44
  21. data/spec/configuration_spec.rb +72 -0
  22. data/spec/custom_deploy_spec.rb +3 -4
  23. data/spec/deploy_hook_spec.rb +210 -162
  24. data/spec/deprecation_spec.rb +4 -26
  25. data/spec/ey_yml_customized_deploy_spec.rb +68 -0
  26. data/spec/fixtures/repos/assets_disabled/Gemfile +6 -0
  27. data/spec/fixtures/repos/assets_disabled/Gemfile.lock +90 -0
  28. data/spec/fixtures/repos/assets_disabled/README +1 -0
  29. data/spec/fixtures/repos/assets_disabled/Rakefile +5 -0
  30. data/spec/fixtures/repos/assets_disabled/config/application.rb +5 -0
  31. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile +6 -0
  32. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile.lock +90 -0
  33. data/spec/fixtures/repos/assets_disabled_in_ey_yml/README +1 -0
  34. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Rakefile +5 -0
  35. data/spec/fixtures/repos/assets_disabled_in_ey_yml/config/application.rb +5 -0
  36. data/spec/fixtures/repos/assets_disabled_in_ey_yml/config/ey.yml +4 -0
  37. data/spec/fixtures/repos/assets_enabled/Gemfile +6 -0
  38. data/spec/fixtures/repos/assets_enabled/Gemfile.lock +90 -0
  39. data/spec/fixtures/repos/assets_enabled/README +1 -0
  40. data/spec/fixtures/repos/assets_enabled/Rakefile +5 -0
  41. data/spec/fixtures/repos/assets_enabled/config/application.rb +5 -0
  42. data/spec/fixtures/repos/assets_enabled_in_ey_yml/README +1 -0
  43. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Rakefile +5 -0
  44. data/spec/fixtures/repos/assets_enabled_in_ey_yml/config/ey.yml +4 -0
  45. data/spec/fixtures/repos/assets_in_hook/Gemfile +6 -0
  46. data/spec/fixtures/repos/assets_in_hook/Gemfile.lock +90 -0
  47. data/spec/fixtures/repos/assets_in_hook/README +2 -0
  48. data/spec/fixtures/repos/assets_in_hook/Rakefile +5 -0
  49. data/spec/fixtures/repos/assets_in_hook/config/application.rb +5 -0
  50. data/spec/fixtures/repos/assets_in_hook/deploy/before_migrate.rb +1 -0
  51. data/spec/fixtures/repos/default/Gemfile +5 -0
  52. data/spec/fixtures/repos/default/Gemfile.lock +14 -0
  53. data/spec/fixtures/repos/default/README +5 -0
  54. data/spec/fixtures/repos/ey_yml/Gemfile +4 -0
  55. data/spec/fixtures/repos/ey_yml/Gemfile.lock +12 -0
  56. data/spec/fixtures/repos/ey_yml/README +1 -0
  57. data/spec/fixtures/repos/ey_yml/config/ey.yml +12 -0
  58. data/spec/fixtures/repos/ey_yml/deploy/before_migrate.rb +6 -0
  59. data/spec/fixtures/repos/ey_yml_alt/Gemfile +4 -0
  60. data/spec/fixtures/repos/ey_yml_alt/Gemfile.lock +12 -0
  61. data/spec/fixtures/repos/ey_yml_alt/README +1 -0
  62. data/spec/fixtures/repos/ey_yml_alt/deploy/before_migrate.rb +6 -0
  63. data/spec/fixtures/repos/ey_yml_alt/ey.yml +12 -0
  64. data/spec/fixtures/repos/hook_fails/README +1 -0
  65. data/spec/fixtures/repos/hook_fails/deploy/before_migrate.rb +1 -0
  66. data/spec/fixtures/repos/hooks/README +1 -0
  67. data/spec/fixtures/repos/hooks/deploy/after_bundle.rb +1 -0
  68. data/spec/fixtures/repos/hooks/deploy/after_compile_assets.rb +1 -0
  69. data/spec/fixtures/repos/hooks/deploy/after_migrate.rb +1 -0
  70. data/spec/fixtures/repos/hooks/deploy/after_restart.rb +1 -0
  71. data/spec/fixtures/repos/hooks/deploy/after_symlink.rb +1 -0
  72. data/spec/fixtures/repos/hooks/deploy/before_bundle.rb +1 -0
  73. data/spec/fixtures/repos/hooks/deploy/before_compile_assets.rb +1 -0
  74. data/spec/fixtures/repos/hooks/deploy/before_migrate.rb +1 -0
  75. data/spec/fixtures/repos/hooks/deploy/before_restart.rb +1 -0
  76. data/spec/fixtures/repos/hooks/deploy/before_symlink.rb +1 -0
  77. data/spec/fixtures/repos/no_ey_config/Gemfile +4 -0
  78. data/spec/fixtures/repos/no_ey_config/Gemfile.lock +12 -0
  79. data/spec/fixtures/repos/no_ey_config/README +1 -0
  80. data/spec/fixtures/repos/no_gemfile_lock/Gemfile +5 -0
  81. data/spec/fixtures/repos/no_gemfile_lock/README +1 -0
  82. data/spec/fixtures/repos/nodejs/README +1 -0
  83. data/spec/fixtures/repos/nodejs/package.json +7 -0
  84. data/spec/fixtures/repos/not_bundled/README +1 -0
  85. data/spec/fixtures/{gemfiles/1.0.21-rails-31-with-sqlite → repos/sqlite3/Gemfile} +0 -0
  86. data/spec/fixtures/{lockfiles/1.0.21-rails-31-with-sqlite → repos/sqlite3/Gemfile.lock} +0 -0
  87. data/spec/fixtures/repos/sqlite3/README +1 -0
  88. data/spec/git_strategy_spec.rb +11 -2
  89. data/spec/lockfile_parser_spec.rb +8 -3
  90. data/spec/nodejs_deploy_spec.rb +1 -26
  91. data/spec/rails31_deploy_spec.rb +23 -31
  92. data/spec/services_deploy_spec.rb +41 -100
  93. data/spec/shell_spec.rb +50 -0
  94. data/spec/spec_helper.rb +80 -66
  95. data/spec/sqlite3_deploy_spec.rb +10 -16
  96. data/spec/support/integration.rb +45 -139
  97. metadata +233 -78
  98. data/lib/engineyard-serverside/logged_output.rb +0 -91
  99. data/spec/logged_output_spec.rb +0 -55
@@ -1,39 +1,33 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "Deploying an application with sqlite3 as the only DB adapter in the Gemfile.lock" do
4
- before do
4
+ before(:all) do
5
5
  @release_path = nil
6
6
  @shared_path = nil
7
7
  @framework_env = nil
8
8
 
9
- deploy_test_application do |deployer|
10
- gemfile = File.expand_path('../fixtures/gemfiles/1.0.21-rails-31-with-sqlite', __FILE__)
11
- lockfile = File.expand_path('../fixtures/lockfiles/1.0.21-rails-31-with-sqlite', __FILE__)
12
- deployer.gemfile_contents = File.read(gemfile)
13
- deployer.lockfile_contents = File.read(lockfile)
14
-
15
- @shared_path = deployer.shared_path
16
- @release_path = deployer.release_path
17
- @framework_env = deployer.framework_env
9
+ deploy_test_application('sqlite3') do |deployer|
10
+ @shared_path = deployer.shared_path
11
+ @release_path = deployer.release_path
12
+ @framework_env = deployer.framework_env
18
13
  end
19
14
  end
20
-
21
15
 
22
16
  it 'should symlink database.sqlite3.yml' do
23
- File.exist?(File.join(@release_path, 'config', 'database.yml')).should be_true
17
+ @release_path.join('config', 'database.yml').should exist
24
18
  end
25
19
 
26
20
  it 'should create database.sqlite3.yml in a shared location' do
27
- File.exist?(File.join(@shared_path, 'config', 'database.sqlite3.yml')).should be_true
21
+ @shared_path.join('config', 'database.sqlite3.yml').should exist
28
22
  end
29
23
 
30
24
  it 'should put a reference to a shared database in database.sqlite3.yml' do
31
- contents = File.read(File.join(@release_path, 'config', 'database.yml'))
32
- contents.should include(File.expand_path(File.join(@shared_path, 'databases', "#{@framework_env}.sqlite3")))
25
+ contents = @release_path.join('config', 'database.yml').read
26
+ contents.should include(@shared_path.join('databases', "#{@framework_env}.sqlite3").expand_path.to_s)
33
27
  end
34
28
 
35
29
  it 'should create the shared database' do
36
- File.exist?(File.join(@shared_path, 'databases', "#{@framework_env}.sqlite3")).should be_true
30
+ @shared_path.join('databases', "#{@framework_env}.sqlite3").should exist
37
31
  end
38
32
 
39
33
  end
@@ -1,25 +1,13 @@
1
1
  class FullTestDeploy < EY::Serverside::Deploy
2
- attr_reader :infos, :debugs, :commands
2
+ attr_reader :commands
3
3
 
4
4
  def initialize(*)
5
5
  super
6
- @infos = []
7
- @debugs = []
8
6
  @commands = []
9
7
  @gemfile_contents = nil
10
8
  @lockfile_contents = nil
11
9
  end
12
10
 
13
- # stfu
14
- def info(msg)
15
- @infos << msg
16
- end
17
-
18
- # no really, stfu
19
- def debug(msg)
20
- @debugs << msg
21
- end
22
-
23
11
  # passwordless sudo is neither guaranteed nor desired
24
12
  def sudo(cmd)
25
13
  run(cmd)
@@ -44,8 +32,8 @@ class FullTestDeploy < EY::Serverside::Deploy
44
32
  nil
45
33
  end
46
34
 
47
- def restart
48
- FileUtils.touch("#{c.release_path}/restart")
35
+ def restart_command
36
+ Escape.shell_command(["echo", super]) + "> #{c.release_path}/restart"
49
37
  end
50
38
 
51
39
  # we're probably running this spec under bundler, but a real
@@ -65,9 +53,16 @@ class FullTestDeploy < EY::Serverside::Deploy
65
53
  result
66
54
  end
67
55
 
68
- def deploy
69
- yield(self) if block_given?
70
- super
56
+ def shared_path
57
+ Pathname.new(config.shared_path)
58
+ end
59
+
60
+ def release_path
61
+ Pathname.new(config.release_path)
62
+ end
63
+
64
+ def framework_env
65
+ config.framework_env
71
66
  end
72
67
 
73
68
  def services_command_check
@@ -79,144 +74,55 @@ class FullTestDeploy < EY::Serverside::Deploy
79
74
  end
80
75
 
81
76
  def services_setup_command
82
- @mock_services_setup_command || "echo 'skipped'"
77
+ @mock_services_setup_command || "echo 'services setup command'"
83
78
  end
84
79
 
85
80
  def mock_services_setup!(value)
86
81
  @mock_services_setup_command = value
87
82
  end
88
-
89
- def mock_gemfile_contents(gemfile_contents)
90
- @gemfile_contents = gemfile_contents
91
- end
92
-
93
- def mock_lockfile_contents(lockfile_contents)
94
- @lockfile_contents = lockfile_contents
95
- end
96
-
97
83
  end
98
84
 
99
- module EY::Serverside::Strategies::IntegrationSpec
100
- module Helpers
101
-
102
-
103
- def update_repository_cache
104
- cached_copy = c.repository_cache
105
-
106
- deploy_hook_dir = File.join(cached_copy, 'deploy')
107
- FileUtils.mkdir_p(deploy_hook_dir)
108
- %w[bundle compile_assets migrate symlink restart].each do |action|
109
- %w[before after].each do |prefix|
110
- hook = "#{prefix}_#{action}"
111
- hook_path = File.join(deploy_hook_dir, "#{hook}.rb")
112
- next if File.exist?(hook_path)
113
- File.open(hook_path, 'w') do |f|
114
- f.write(%Q{run 'touch "#{c.release_path}/#{hook}.ran"'})
115
- end
116
- end
117
- end
118
-
119
- FileUtils.mkdir_p(File.join(c.shared_path, 'config'))
120
- FileUtils.mkdir_p(cached_copy)
121
- generate_gemfile_in(cached_copy)
122
- end
123
-
124
- def release_path
125
- c.release_path
126
- end
127
-
128
- def shared_path
129
- c.shared_path
130
- end
131
-
132
- def framework_env
133
- c.framework_env
134
- end
135
-
136
- def create_revision_file_command
137
- "echo 'revision, yo' > #{c.release_path}/REVISION"
138
- end
139
-
140
- def short_log_message(revision)
141
- "FONDLED THE CODE"
142
- end
143
-
144
- def gemfile_contents=(contents)
145
- @gemfile_contents = contents
146
- end
85
+ class EY::Serverside::Strategies::IntegrationSpec
86
+ attr_reader :shell, :source_repo, :repository_cache
147
87
 
148
- def gemfile_contents
149
- @gemfile_contents || <<-EOF
150
- source :rubygems
151
- gem 'rake'
152
- gem 'pg'
153
- gem 'ey_config'
154
- EOF
88
+ def initialize(shell, opts)
89
+ unless opts[:repository_cache] && opts[:repo]
90
+ raise ArgumentError, "Option :repository_cache and :repo are required"
155
91
  end
156
92
 
157
- def lockfile_contents=(contents)
158
- @lockfile_contents = contents
159
- end
160
-
161
- # Generated using Bundler v1.0.21
162
-
163
- def lockfile_contents
164
- @lockfile_contents || <<-EOF
165
- GEM
166
- remote: http://rubygems.org/
167
- specs:
168
- pg (0.11.0)
169
- rake (0.9.2.2)
170
- ey_config (0.0.1)
171
-
172
- PLATFORMS
173
- ruby
174
-
175
- DEPENDENCIES
176
- pg
177
- rake
178
- ey_config
179
- EOF
180
- end
93
+ @shell = shell
94
+ @ref = opts[:ref]
95
+ @source_repo = Pathname.new(opts[:repo])
96
+ @repository_cache = Pathname.new(opts[:repository_cache])
97
+ end
181
98
 
182
- def generate_gemfile_in(dir)
183
- `echo "this is my file; there are many like it, but this one is mine" > #{dir}/file`
184
- gemfile_path = File.join(dir, 'Gemfile')
185
- lockfile_path = File.join(dir, 'Gemfile.lock')
99
+ def update_repository_cache
100
+ shell.status "Checking out #{@ref}"
101
+ install_git_base
102
+ copy_fixture_repo_files
103
+ end
186
104
 
187
- unless $DISABLE_GEMFILE
188
- File.open(gemfile_path, 'w') {|f| f.write(gemfile_contents) }
189
- end
190
- unless $DISABLE_LOCKFILE
191
- File.open(lockfile_path, 'w') {|f| f.write(lockfile_contents) }
192
- end
193
- end
105
+ def create_revision_file_command(dir)
106
+ "echo '#{@ref}' > #{dir}/REVISION"
194
107
  end
195
- end
196
108
 
197
- module EY::Serverside::Strategies::NodeIntegrationSpec
198
- module Helpers
199
- include EY::Serverside::Strategies::IntegrationSpec::Helpers
109
+ def short_log_message(revision)
110
+ "ref: #{revision} - Short log message"
111
+ end
200
112
 
201
- def generate_gemfile_in(dir)
202
- super(dir)
203
- end
113
+ private
204
114
 
205
- def generate_package_json_in(dir)
206
- npm_file = File.join(dir, 'package.json')
207
- File.open(npm_file, 'w') {|f| f.write(npm_content)}
208
- end
115
+ def install_git_base
116
+ repository_cache.mkpath
117
+ git_base = FIXTURES_DIR.join('gitrepo.tar.gz')
118
+ system "tar xzf #{git_base} --strip-components 1 -C #{repository_cache}"
119
+ end
209
120
 
210
- def npm_content
211
- <<-EOF
212
- {
213
- "name": "node-example",
214
- "version": "0.0.1",
215
- "dependencies": {
216
- "express": "2.5.8"
217
- }
218
- }
219
- EOF
121
+ def copy_fixture_repo_files
122
+ if source_repo.exist?
123
+ system("cp -Rf #{source_repo.join('*')} #{repository_cache}")
124
+ else
125
+ raise "Mock repo #{source_repo.inspect} does not exist. Path should be absolute. e.g. FIXTURES_DIR.join('repos','example')"
220
126
  end
221
127
  end
222
128
  end
metadata CHANGED
@@ -1,87 +1,108 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: engineyard-serverside
3
- version: !ruby/object:Gem::Version
4
- version: 1.6.5
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ hash: 3325805217
5
+ prerelease: 6
6
+ segments:
7
+ - 1
8
+ - 7
9
+ - 0
10
+ - pre
11
+ - 2
12
+ version: 1.7.0.pre2
6
13
  platform: ruby
7
- authors:
14
+ authors:
8
15
  - EY Cloud Team
9
16
  autorequire:
10
17
  bindir: bin
11
18
  cert_chain: []
12
- date: 2012-10-01 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
19
+
20
+ date: 2012-05-18 00:00:00 Z
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
15
23
  name: rspec
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - '='
20
- - !ruby/object:Gem::Version
21
- version: 1.3.2
22
- type: :development
23
24
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
+ requirement: &id001 !ruby/object:Gem::Requirement
25
26
  none: false
26
- requirements:
27
- - - '='
28
- - !ruby/object:Gem::Version
27
+ requirements:
28
+ - - "="
29
+ - !ruby/object:Gem::Version
30
+ hash: 31
31
+ segments:
32
+ - 1
33
+ - 3
34
+ - 2
29
35
  version: 1.3.2
30
- - !ruby/object:Gem::Dependency
31
- name: rake
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: 0.9.2.2
38
36
  type: :development
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: rake
39
40
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
+ requirement: &id002 !ruby/object:Gem::Requirement
41
42
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ hash: 11
47
+ segments:
48
+ - 0
49
+ - 9
50
+ - 2
51
+ - 2
45
52
  version: 0.9.2.2
46
- - !ruby/object:Gem::Dependency
47
- name: rdoc
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
53
  type: :development
54
+ version_requirements: *id002
55
+ - !ruby/object:Gem::Dependency
56
+ name: rdoc
55
57
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
58
+ requirement: &id003 !ruby/object:Gem::Requirement
57
59
  none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ hash: 3
64
+ segments:
65
+ - 0
66
+ version: "0"
67
+ type: :development
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
63
70
  name: timecop
64
- requirement: !ruby/object:Gem::Requirement
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
65
73
  none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ hash: 3
78
+ segments:
79
+ - 0
80
+ version: "0"
70
81
  type: :development
82
+ version_requirements: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ name: simplecov
71
85
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
86
+ requirement: &id005 !ruby/object:Gem::Requirement
73
87
  none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ hash: 3
92
+ segments:
93
+ - 0
94
+ version: "0"
95
+ type: :development
96
+ version_requirements: *id005
78
97
  description:
79
98
  email: cloud@engineyard.com
80
- executables:
99
+ executables:
81
100
  - engineyard-serverside
82
101
  extensions: []
102
+
83
103
  extra_rdoc_files: []
84
- files:
104
+
105
+ files:
85
106
  - bin/engineyard-serverside
86
107
  - lib/engineyard-serverside/cli.rb
87
108
  - lib/engineyard-serverside/configuration.rb
@@ -93,9 +114,11 @@ files:
93
114
  - lib/engineyard-serverside/futures/celluloid.rb
94
115
  - lib/engineyard-serverside/futures/dataflow.rb
95
116
  - lib/engineyard-serverside/lockfile_parser.rb
96
- - lib/engineyard-serverside/logged_output.rb
97
117
  - lib/engineyard-serverside/rails_asset_support.rb
98
118
  - lib/engineyard-serverside/server.rb
119
+ - lib/engineyard-serverside/shell/formatter.rb
120
+ - lib/engineyard-serverside/shell/helpers.rb
121
+ - lib/engineyard-serverside/shell.rb
99
122
  - lib/engineyard-serverside/strategies/git.rb
100
123
  - lib/engineyard-serverside/task.rb
101
124
  - lib/engineyard-serverside/version.rb
@@ -319,10 +342,11 @@ files:
319
342
  - LICENSE
320
343
  - spec/basic_deploy_spec.rb
321
344
  - spec/bundler_deploy_spec.rb
345
+ - spec/configuration_spec.rb
322
346
  - spec/custom_deploy_spec.rb
323
347
  - spec/deploy_hook_spec.rb
324
348
  - spec/deprecation_spec.rb
325
- - spec/fixtures/gemfiles/1.0.21-rails-31-with-sqlite
349
+ - spec/ey_yml_customized_deploy_spec.rb
326
350
  - spec/fixtures/gitrepo/bar
327
351
  - spec/fixtures/gitrepo/foo
328
352
  - spec/fixtures/gitrepo.tar.gz
@@ -336,57 +360,127 @@ files:
336
360
  - spec/fixtures/lockfiles/1.0.18-mysql
337
361
  - spec/fixtures/lockfiles/1.0.18-mysql2
338
362
  - spec/fixtures/lockfiles/1.0.18-pg
339
- - spec/fixtures/lockfiles/1.0.21-rails-31-with-sqlite
340
363
  - spec/fixtures/lockfiles/1.0.6-no-bundler
341
364
  - spec/fixtures/lockfiles/1.0.6-with-any-bundler
342
365
  - spec/fixtures/lockfiles/1.0.6-with-bundler
343
366
  - spec/fixtures/lockfiles/not-a-lockfile
367
+ - spec/fixtures/repos/assets_disabled/config/application.rb
368
+ - spec/fixtures/repos/assets_disabled/Gemfile
369
+ - spec/fixtures/repos/assets_disabled/Gemfile.lock
370
+ - spec/fixtures/repos/assets_disabled/Rakefile
371
+ - spec/fixtures/repos/assets_disabled/README
372
+ - spec/fixtures/repos/assets_disabled_in_ey_yml/config/application.rb
373
+ - spec/fixtures/repos/assets_disabled_in_ey_yml/config/ey.yml
374
+ - spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile
375
+ - spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile.lock
376
+ - spec/fixtures/repos/assets_disabled_in_ey_yml/Rakefile
377
+ - spec/fixtures/repos/assets_disabled_in_ey_yml/README
378
+ - spec/fixtures/repos/assets_enabled/config/application.rb
379
+ - spec/fixtures/repos/assets_enabled/Gemfile
380
+ - spec/fixtures/repos/assets_enabled/Gemfile.lock
381
+ - spec/fixtures/repos/assets_enabled/Rakefile
382
+ - spec/fixtures/repos/assets_enabled/README
383
+ - spec/fixtures/repos/assets_enabled_in_ey_yml/config/ey.yml
384
+ - spec/fixtures/repos/assets_enabled_in_ey_yml/Rakefile
385
+ - spec/fixtures/repos/assets_enabled_in_ey_yml/README
386
+ - spec/fixtures/repos/assets_in_hook/config/application.rb
387
+ - spec/fixtures/repos/assets_in_hook/deploy/before_migrate.rb
388
+ - spec/fixtures/repos/assets_in_hook/Gemfile
389
+ - spec/fixtures/repos/assets_in_hook/Gemfile.lock
390
+ - spec/fixtures/repos/assets_in_hook/Rakefile
391
+ - spec/fixtures/repos/assets_in_hook/README
392
+ - spec/fixtures/repos/default/Gemfile
393
+ - spec/fixtures/repos/default/Gemfile.lock
394
+ - spec/fixtures/repos/default/README
395
+ - spec/fixtures/repos/ey_yml/config/ey.yml
396
+ - spec/fixtures/repos/ey_yml/deploy/before_migrate.rb
397
+ - spec/fixtures/repos/ey_yml/Gemfile
398
+ - spec/fixtures/repos/ey_yml/Gemfile.lock
399
+ - spec/fixtures/repos/ey_yml/README
400
+ - spec/fixtures/repos/ey_yml_alt/deploy/before_migrate.rb
401
+ - spec/fixtures/repos/ey_yml_alt/ey.yml
402
+ - spec/fixtures/repos/ey_yml_alt/Gemfile
403
+ - spec/fixtures/repos/ey_yml_alt/Gemfile.lock
404
+ - spec/fixtures/repos/ey_yml_alt/README
405
+ - spec/fixtures/repos/hook_fails/deploy/before_migrate.rb
406
+ - spec/fixtures/repos/hook_fails/README
407
+ - spec/fixtures/repos/hooks/deploy/after_bundle.rb
408
+ - spec/fixtures/repos/hooks/deploy/after_compile_assets.rb
409
+ - spec/fixtures/repos/hooks/deploy/after_migrate.rb
410
+ - spec/fixtures/repos/hooks/deploy/after_restart.rb
411
+ - spec/fixtures/repos/hooks/deploy/after_symlink.rb
412
+ - spec/fixtures/repos/hooks/deploy/before_bundle.rb
413
+ - spec/fixtures/repos/hooks/deploy/before_compile_assets.rb
414
+ - spec/fixtures/repos/hooks/deploy/before_migrate.rb
415
+ - spec/fixtures/repos/hooks/deploy/before_restart.rb
416
+ - spec/fixtures/repos/hooks/deploy/before_symlink.rb
417
+ - spec/fixtures/repos/hooks/README
418
+ - spec/fixtures/repos/no_ey_config/Gemfile
419
+ - spec/fixtures/repos/no_ey_config/Gemfile.lock
420
+ - spec/fixtures/repos/no_ey_config/README
421
+ - spec/fixtures/repos/no_gemfile_lock/Gemfile
422
+ - spec/fixtures/repos/no_gemfile_lock/README
423
+ - spec/fixtures/repos/nodejs/package.json
424
+ - spec/fixtures/repos/nodejs/README
425
+ - spec/fixtures/repos/not_bundled/README
426
+ - spec/fixtures/repos/sqlite3/Gemfile
427
+ - spec/fixtures/repos/sqlite3/Gemfile.lock
428
+ - spec/fixtures/repos/sqlite3/README
344
429
  - spec/fixtures/valid_hook.rb
345
430
  - spec/git_strategy_spec.rb
346
431
  - spec/lockfile_parser_spec.rb
347
- - spec/logged_output_spec.rb
348
432
  - spec/nodejs_deploy_spec.rb
349
433
  - spec/rails31_deploy_spec.rb
350
434
  - spec/restart_spec.rb
351
435
  - spec/server_spec.rb
352
436
  - spec/services_deploy_spec.rb
437
+ - spec/shell_spec.rb
353
438
  - spec/spec_helper.rb
354
439
  - spec/sqlite3_deploy_spec.rb
355
440
  - spec/support/integration.rb
356
441
  homepage: http://github.com/engineyard/engineyard-serverside
357
442
  licenses: []
443
+
358
444
  post_install_message:
359
445
  rdoc_options: []
360
- require_paths:
446
+
447
+ require_paths:
361
448
  - lib
362
- required_ruby_version: !ruby/object:Gem::Requirement
449
+ required_ruby_version: !ruby/object:Gem::Requirement
363
450
  none: false
364
- requirements:
365
- - - ! '>='
366
- - !ruby/object:Gem::Version
367
- version: '0'
368
- segments:
451
+ requirements:
452
+ - - ">="
453
+ - !ruby/object:Gem::Version
454
+ hash: 3
455
+ segments:
369
456
  - 0
370
- hash: -3529286902582306998
371
- required_rubygems_version: !ruby/object:Gem::Requirement
457
+ version: "0"
458
+ required_rubygems_version: !ruby/object:Gem::Requirement
372
459
  none: false
373
- requirements:
374
- - - ! '>='
375
- - !ruby/object:Gem::Version
460
+ requirements:
461
+ - - ">="
462
+ - !ruby/object:Gem::Version
463
+ hash: 23
464
+ segments:
465
+ - 1
466
+ - 3
467
+ - 6
376
468
  version: 1.3.6
377
469
  requirements: []
470
+
378
471
  rubyforge_project:
379
- rubygems_version: 1.8.24
472
+ rubygems_version: 1.8.19
380
473
  signing_key:
381
474
  specification_version: 3
382
475
  summary: A gem that deploys ruby applications on EY Cloud instances
383
- test_files:
476
+ test_files:
384
477
  - spec/basic_deploy_spec.rb
385
478
  - spec/bundler_deploy_spec.rb
479
+ - spec/configuration_spec.rb
386
480
  - spec/custom_deploy_spec.rb
387
481
  - spec/deploy_hook_spec.rb
388
482
  - spec/deprecation_spec.rb
389
- - spec/fixtures/gemfiles/1.0.21-rails-31-with-sqlite
483
+ - spec/ey_yml_customized_deploy_spec.rb
390
484
  - spec/fixtures/gitrepo/bar
391
485
  - spec/fixtures/gitrepo/foo
392
486
  - spec/fixtures/gitrepo.tar.gz
@@ -400,20 +494,81 @@ test_files:
400
494
  - spec/fixtures/lockfiles/1.0.18-mysql
401
495
  - spec/fixtures/lockfiles/1.0.18-mysql2
402
496
  - spec/fixtures/lockfiles/1.0.18-pg
403
- - spec/fixtures/lockfiles/1.0.21-rails-31-with-sqlite
404
497
  - spec/fixtures/lockfiles/1.0.6-no-bundler
405
498
  - spec/fixtures/lockfiles/1.0.6-with-any-bundler
406
499
  - spec/fixtures/lockfiles/1.0.6-with-bundler
407
500
  - spec/fixtures/lockfiles/not-a-lockfile
501
+ - spec/fixtures/repos/assets_disabled/config/application.rb
502
+ - spec/fixtures/repos/assets_disabled/Gemfile
503
+ - spec/fixtures/repos/assets_disabled/Gemfile.lock
504
+ - spec/fixtures/repos/assets_disabled/Rakefile
505
+ - spec/fixtures/repos/assets_disabled/README
506
+ - spec/fixtures/repos/assets_disabled_in_ey_yml/config/application.rb
507
+ - spec/fixtures/repos/assets_disabled_in_ey_yml/config/ey.yml
508
+ - spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile
509
+ - spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile.lock
510
+ - spec/fixtures/repos/assets_disabled_in_ey_yml/Rakefile
511
+ - spec/fixtures/repos/assets_disabled_in_ey_yml/README
512
+ - spec/fixtures/repos/assets_enabled/config/application.rb
513
+ - spec/fixtures/repos/assets_enabled/Gemfile
514
+ - spec/fixtures/repos/assets_enabled/Gemfile.lock
515
+ - spec/fixtures/repos/assets_enabled/Rakefile
516
+ - spec/fixtures/repos/assets_enabled/README
517
+ - spec/fixtures/repos/assets_enabled_in_ey_yml/config/ey.yml
518
+ - spec/fixtures/repos/assets_enabled_in_ey_yml/Rakefile
519
+ - spec/fixtures/repos/assets_enabled_in_ey_yml/README
520
+ - spec/fixtures/repos/assets_in_hook/config/application.rb
521
+ - spec/fixtures/repos/assets_in_hook/deploy/before_migrate.rb
522
+ - spec/fixtures/repos/assets_in_hook/Gemfile
523
+ - spec/fixtures/repos/assets_in_hook/Gemfile.lock
524
+ - spec/fixtures/repos/assets_in_hook/Rakefile
525
+ - spec/fixtures/repos/assets_in_hook/README
526
+ - spec/fixtures/repos/default/Gemfile
527
+ - spec/fixtures/repos/default/Gemfile.lock
528
+ - spec/fixtures/repos/default/README
529
+ - spec/fixtures/repos/ey_yml/config/ey.yml
530
+ - spec/fixtures/repos/ey_yml/deploy/before_migrate.rb
531
+ - spec/fixtures/repos/ey_yml/Gemfile
532
+ - spec/fixtures/repos/ey_yml/Gemfile.lock
533
+ - spec/fixtures/repos/ey_yml/README
534
+ - spec/fixtures/repos/ey_yml_alt/deploy/before_migrate.rb
535
+ - spec/fixtures/repos/ey_yml_alt/ey.yml
536
+ - spec/fixtures/repos/ey_yml_alt/Gemfile
537
+ - spec/fixtures/repos/ey_yml_alt/Gemfile.lock
538
+ - spec/fixtures/repos/ey_yml_alt/README
539
+ - spec/fixtures/repos/hook_fails/deploy/before_migrate.rb
540
+ - spec/fixtures/repos/hook_fails/README
541
+ - spec/fixtures/repos/hooks/deploy/after_bundle.rb
542
+ - spec/fixtures/repos/hooks/deploy/after_compile_assets.rb
543
+ - spec/fixtures/repos/hooks/deploy/after_migrate.rb
544
+ - spec/fixtures/repos/hooks/deploy/after_restart.rb
545
+ - spec/fixtures/repos/hooks/deploy/after_symlink.rb
546
+ - spec/fixtures/repos/hooks/deploy/before_bundle.rb
547
+ - spec/fixtures/repos/hooks/deploy/before_compile_assets.rb
548
+ - spec/fixtures/repos/hooks/deploy/before_migrate.rb
549
+ - spec/fixtures/repos/hooks/deploy/before_restart.rb
550
+ - spec/fixtures/repos/hooks/deploy/before_symlink.rb
551
+ - spec/fixtures/repos/hooks/README
552
+ - spec/fixtures/repos/no_ey_config/Gemfile
553
+ - spec/fixtures/repos/no_ey_config/Gemfile.lock
554
+ - spec/fixtures/repos/no_ey_config/README
555
+ - spec/fixtures/repos/no_gemfile_lock/Gemfile
556
+ - spec/fixtures/repos/no_gemfile_lock/README
557
+ - spec/fixtures/repos/nodejs/package.json
558
+ - spec/fixtures/repos/nodejs/README
559
+ - spec/fixtures/repos/not_bundled/README
560
+ - spec/fixtures/repos/sqlite3/Gemfile
561
+ - spec/fixtures/repos/sqlite3/Gemfile.lock
562
+ - spec/fixtures/repos/sqlite3/README
408
563
  - spec/fixtures/valid_hook.rb
409
564
  - spec/git_strategy_spec.rb
410
565
  - spec/lockfile_parser_spec.rb
411
- - spec/logged_output_spec.rb
412
566
  - spec/nodejs_deploy_spec.rb
413
567
  - spec/rails31_deploy_spec.rb
414
568
  - spec/restart_spec.rb
415
569
  - spec/server_spec.rb
416
570
  - spec/services_deploy_spec.rb
571
+ - spec/shell_spec.rb
417
572
  - spec/spec_helper.rb
418
573
  - spec/sqlite3_deploy_spec.rb
419
574
  - spec/support/integration.rb