engineyard-serverside 1.6.5 → 1.7.0.pre2

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.
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