engineyard-serverside 2.0.7 → 2.1.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/lib/engineyard-serverside.rb +0 -1
  2. data/lib/engineyard-serverside/cli.rb +44 -42
  3. data/lib/engineyard-serverside/configuration.rb +55 -4
  4. data/lib/engineyard-serverside/dependency_manager.rb +17 -0
  5. data/lib/engineyard-serverside/dependency_manager/base.rb +65 -0
  6. data/lib/engineyard-serverside/dependency_manager/bundler.rb +124 -0
  7. data/lib/engineyard-serverside/dependency_manager/bundler_lock.rb +155 -0
  8. data/lib/engineyard-serverside/dependency_manager/legacy_helpers.rb +24 -0
  9. data/lib/engineyard-serverside/dependency_manager/npm.rb +16 -0
  10. data/lib/engineyard-serverside/deploy.rb +86 -178
  11. data/lib/engineyard-serverside/deprecation.rb +11 -1
  12. data/lib/engineyard-serverside/paths.rb +6 -0
  13. data/lib/engineyard-serverside/propagator.rb +2 -2
  14. data/lib/engineyard-serverside/rails_assets.rb +152 -0
  15. data/lib/engineyard-serverside/rails_assets/strategy.rb +197 -0
  16. data/lib/engineyard-serverside/server.rb +5 -0
  17. data/lib/engineyard-serverside/servers.rb +19 -7
  18. data/lib/engineyard-serverside/shell.rb +7 -5
  19. data/lib/engineyard-serverside/shell/command_result.rb +1 -1
  20. data/lib/engineyard-serverside/strategies/git.rb +14 -4
  21. data/lib/engineyard-serverside/task.rb +1 -0
  22. data/lib/engineyard-serverside/version.rb +1 -1
  23. data/spec/bundler_deploy_spec.rb +36 -33
  24. data/spec/configuration_spec.rb +5 -4
  25. data/spec/custom_deploy_spec.rb +11 -9
  26. data/spec/deploy_hook_spec.rb +10 -3
  27. data/spec/ey_yml_customized_deploy_spec.rb +1 -1
  28. data/spec/fixtures/lockfiles/1.0-no-bundler +1 -1
  29. data/spec/fixtures/lockfiles/1.0.0.rc.1-with-bundler +1 -1
  30. data/spec/fixtures/lockfiles/1.0.18-do_mysql +1 -1
  31. data/spec/fixtures/lockfiles/1.0.18-do_postgres +1 -1
  32. data/spec/fixtures/lockfiles/1.0.18-mysql +1 -1
  33. data/spec/fixtures/lockfiles/1.0.18-mysql2 +1 -1
  34. data/spec/fixtures/lockfiles/1.0.18-pg +1 -1
  35. data/spec/fixtures/lockfiles/1.0.6-no-bundler +2 -2
  36. data/spec/fixtures/lockfiles/1.0.6-with-any-bundler +2 -2
  37. data/spec/fixtures/lockfiles/1.0.6-with-bundler +2 -2
  38. data/spec/fixtures/lockfiles/1.3.1-rails-3.2.13 +112 -0
  39. data/spec/fixtures/repos/{assets_enabled → assets_detected}/Gemfile +1 -2
  40. data/spec/fixtures/repos/{assets_enabled → assets_detected}/Gemfile.lock +1 -3
  41. data/spec/fixtures/repos/{assets_enabled → assets_detected}/README +0 -0
  42. data/spec/fixtures/repos/assets_detected/Rakefile +5 -0
  43. data/spec/fixtures/repos/{assets_enabled → assets_detected}/app/assets/empty +0 -0
  44. data/spec/fixtures/repos/{assets_enabled → assets_detected}/config/application.rb +0 -0
  45. data/spec/fixtures/repos/assets_detected/config/ey.yml +3 -0
  46. data/spec/fixtures/repos/assets_disabled/Gemfile +1 -2
  47. data/spec/fixtures/repos/assets_disabled/Gemfile.lock +1 -3
  48. data/spec/fixtures/repos/assets_disabled/Rakefile +1 -0
  49. data/spec/fixtures/repos/assets_disabled/config/ey.yml +3 -0
  50. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile +1 -2
  51. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile.lock +1 -3
  52. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Rakefile +1 -0
  53. data/spec/fixtures/repos/assets_disabled_in_ey_yml/config/ey.yml +1 -0
  54. data/spec/fixtures/repos/assets_enabled_all/Gemfile +1 -2
  55. data/spec/fixtures/repos/assets_enabled_all/Gemfile.lock +1 -3
  56. data/spec/fixtures/repos/assets_enabled_all/Rakefile +1 -0
  57. data/spec/fixtures/repos/assets_enabled_all/config/ey.yml +1 -0
  58. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Gemfile +1 -1
  59. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Gemfile.lock +1 -1
  60. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Rakefile +1 -0
  61. data/spec/fixtures/repos/assets_enabled_util_only/Gemfile +1 -2
  62. data/spec/fixtures/repos/assets_enabled_util_only/Gemfile.lock +1 -3
  63. data/spec/fixtures/repos/assets_enabled_util_only/Rakefile +1 -0
  64. data/spec/fixtures/repos/assets_enabled_util_only/config/ey.yml +1 -0
  65. data/spec/fixtures/repos/assets_in_hook/Gemfile +1 -2
  66. data/spec/fixtures/repos/assets_in_hook/Gemfile.lock +1 -3
  67. data/spec/fixtures/repos/assets_in_hook/config/ey.yml +3 -0
  68. data/spec/fixtures/repos/assets_in_hook/deploy/before_compile_assets.rb +1 -1
  69. data/spec/fixtures/repos/bundle_fails/Gemfile +1 -0
  70. data/spec/fixtures/repos/bundle_fails/README +1 -0
  71. data/spec/fixtures/repos/bundle_fails/deploy/after_bundle.rb +1 -0
  72. data/spec/fixtures/repos/default/Gemfile +1 -2
  73. data/spec/fixtures/repos/default/Gemfile.lock +1 -3
  74. data/spec/fixtures/repos/default/ey.yml +3 -0
  75. data/spec/fixtures/repos/ey_yml/Gemfile +1 -1
  76. data/spec/fixtures/repos/ey_yml/Gemfile.lock +1 -1
  77. data/spec/fixtures/repos/ey_yml/config/ey.yml +11 -7
  78. data/spec/fixtures/repos/ey_yml_alt/Gemfile +1 -1
  79. data/spec/fixtures/repos/ey_yml_alt/Gemfile.lock +1 -1
  80. data/spec/fixtures/repos/no_ey_config/Gemfile +1 -2
  81. data/spec/fixtures/repos/no_ey_config/Gemfile.lock +1 -3
  82. data/spec/fixtures/repos/no_ey_config/ey.yml +3 -0
  83. data/spec/fixtures/repos/no_gemfile_lock/Gemfile +1 -2
  84. data/spec/fixtures/repos/no_gemfile_lock/ey.yml +3 -0
  85. data/spec/fixtures/repos/sqlite3/Gemfile +1 -1
  86. data/spec/fixtures/repos/sqlite3/Gemfile.lock +1 -1
  87. data/spec/lockfile_parser_spec.rb +25 -11
  88. data/spec/rails31_deploy_spec.rb +46 -5
  89. data/spec/restart_spec.rb +3 -3
  90. data/spec/services_deploy_spec.rb +89 -86
  91. data/spec/shell_spec.rb +0 -8
  92. data/spec/spec_helper.rb +81 -36
  93. data/spec/sqlite3_deploy_spec.rb +4 -5
  94. data/spec/support/integration.rb +22 -37
  95. metadata +167 -154
  96. data/lib/engineyard-serverside/lockfile_parser.rb +0 -101
  97. data/lib/engineyard-serverside/rails_asset_support.rb +0 -132
  98. data/spec/fixtures/repos/assets_enabled/Rakefile +0 -5
@@ -12,7 +12,7 @@ PATH
12
12
  ruby-hmac
13
13
 
14
14
  GEM
15
- remote: http://rubygems.org/
15
+ remote: https://rubygems.org/
16
16
  specs:
17
17
  builder (2.1.2)
18
18
  excon (0.2.3)
@@ -49,4 +49,4 @@ DEPENDENCIES
49
49
  shindo (= 0.1.6)
50
50
 
51
51
  METADATA
52
- version: 1.0.6
52
+ version: 1.0.6
@@ -12,7 +12,7 @@ PATH
12
12
  ruby-hmac
13
13
 
14
14
  GEM
15
- remote: http://rubygems.org/
15
+ remote: https://rubygems.org/
16
16
  specs:
17
17
  builder (2.1.2)
18
18
  excon (0.2.3)
@@ -49,4 +49,4 @@ DEPENDENCIES
49
49
  shindo (= 0.1.6)
50
50
 
51
51
  METADATA
52
- version: 1.0.6
52
+ version: 1.0.6
@@ -0,0 +1,112 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ actionmailer (3.2.13)
5
+ actionpack (= 3.2.13)
6
+ mail (~> 2.5.3)
7
+ actionpack (3.2.13)
8
+ activemodel (= 3.2.13)
9
+ activesupport (= 3.2.13)
10
+ builder (~> 3.0.0)
11
+ erubis (~> 2.7.0)
12
+ journey (~> 1.0.4)
13
+ rack (~> 1.4.5)
14
+ rack-cache (~> 1.2)
15
+ rack-test (~> 0.6.1)
16
+ sprockets (~> 2.2.1)
17
+ activemodel (3.2.13)
18
+ activesupport (= 3.2.13)
19
+ builder (~> 3.0.0)
20
+ activerecord (3.2.13)
21
+ activemodel (= 3.2.13)
22
+ activesupport (= 3.2.13)
23
+ arel (~> 3.0.2)
24
+ tzinfo (~> 0.3.29)
25
+ activeresource (3.2.13)
26
+ activemodel (= 3.2.13)
27
+ activesupport (= 3.2.13)
28
+ activesupport (3.2.13)
29
+ i18n (= 0.6.1)
30
+ multi_json (~> 1.0)
31
+ arel (3.0.2)
32
+ builder (3.0.4)
33
+ coffee-rails (3.2.2)
34
+ coffee-script (>= 2.2.0)
35
+ railties (~> 3.2.0)
36
+ coffee-script (2.2.0)
37
+ coffee-script-source
38
+ execjs
39
+ coffee-script-source (1.6.2)
40
+ erubis (2.7.0)
41
+ execjs (1.4.0)
42
+ multi_json (~> 1.0)
43
+ hike (1.2.1)
44
+ i18n (0.6.1)
45
+ journey (1.0.4)
46
+ jquery-rails (2.2.1)
47
+ railties (>= 3.0, < 5.0)
48
+ thor (>= 0.14, < 2.0)
49
+ json (1.7.7)
50
+ mail (2.5.3)
51
+ i18n (>= 0.4.0)
52
+ mime-types (~> 1.16)
53
+ treetop (~> 1.4.8)
54
+ mime-types (1.21)
55
+ multi_json (1.7.2)
56
+ polyglot (0.3.3)
57
+ rack (1.4.5)
58
+ rack-cache (1.2)
59
+ rack (>= 0.4)
60
+ rack-ssl (1.3.3)
61
+ rack
62
+ rack-test (0.6.2)
63
+ rack (>= 1.0)
64
+ rails (3.2.13)
65
+ actionmailer (= 3.2.13)
66
+ actionpack (= 3.2.13)
67
+ activerecord (= 3.2.13)
68
+ activeresource (= 3.2.13)
69
+ activesupport (= 3.2.13)
70
+ bundler (~> 1.0)
71
+ railties (= 3.2.13)
72
+ railties (3.2.13)
73
+ actionpack (= 3.2.13)
74
+ activesupport (= 3.2.13)
75
+ rack-ssl (~> 1.3.2)
76
+ rake (>= 0.8.7)
77
+ rdoc (~> 3.4)
78
+ thor (>= 0.14.6, < 2.0)
79
+ rake (10.0.3)
80
+ rdoc (3.12.2)
81
+ json (~> 1.4)
82
+ sass (3.2.7)
83
+ sass-rails (3.2.6)
84
+ railties (~> 3.2.0)
85
+ sass (>= 3.1.10)
86
+ tilt (~> 1.3)
87
+ sprockets (2.2.2)
88
+ hike (~> 1.2)
89
+ multi_json (~> 1.0)
90
+ rack (~> 1.0)
91
+ tilt (~> 1.1, != 1.3.0)
92
+ sqlite3 (1.3.7)
93
+ thor (0.17.0)
94
+ tilt (1.3.6)
95
+ treetop (1.4.12)
96
+ polyglot
97
+ polyglot (>= 0.3.1)
98
+ tzinfo (0.3.37)
99
+ uglifier (1.3.0)
100
+ execjs (>= 0.3.0)
101
+ multi_json (~> 1.0, >= 1.0.2)
102
+
103
+ PLATFORMS
104
+ ruby
105
+
106
+ DEPENDENCIES
107
+ coffee-rails (~> 3.2.1)
108
+ jquery-rails
109
+ rails (= 3.2.13)
110
+ sass-rails (~> 3.2.3)
111
+ sqlite3
112
+ uglifier (>= 1.0.3)
@@ -1,6 +1,5 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rake'
4
- gem 'pg'
5
4
  gem 'ey_config'
6
5
  gem 'rails'
@@ -1,5 +1,5 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
4
  actionmailer (3.2.3)
5
5
  actionpack (= 3.2.3)
@@ -42,7 +42,6 @@ GEM
42
42
  treetop (~> 1.4.8)
43
43
  mime-types (1.18)
44
44
  multi_json (1.3.2)
45
- pg (0.13.2)
46
45
  polyglot (0.3.3)
47
46
  rack (1.4.1)
48
47
  rack-cache (1.2)
@@ -85,6 +84,5 @@ PLATFORMS
85
84
 
86
85
  DEPENDENCIES
87
86
  ey_config
88
- pg
89
87
  rails
90
88
  rake
@@ -0,0 +1,5 @@
1
+ desc 'Precompile yar assetz'
2
+ task 'assets:precompile' do
3
+ sh "touch #{File.expand_path('../public/assets/compiled_asset', __FILE__)}"
4
+ sh "touch precompiled"
5
+ end
@@ -0,0 +1,3 @@
1
+ environments:
2
+ env:
3
+ ignore_database_adapter_warning: true
@@ -1,6 +1,5 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rake'
4
- gem 'pg'
5
4
  gem 'ey_config'
6
5
  gem 'rails'
@@ -1,5 +1,5 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
4
  actionmailer (3.2.3)
5
5
  actionpack (= 3.2.3)
@@ -42,7 +42,6 @@ GEM
42
42
  treetop (~> 1.4.8)
43
43
  mime-types (1.18)
44
44
  multi_json (1.3.2)
45
- pg (0.13.2)
46
45
  polyglot (0.3.3)
47
46
  rack (1.4.1)
48
47
  rack-cache (1.2)
@@ -85,6 +84,5 @@ PLATFORMS
85
84
 
86
85
  DEPENDENCIES
87
86
  ey_config
88
- pg
89
87
  rails
90
88
  rake
@@ -1,5 +1,6 @@
1
1
  desc 'Precompile yar assetz'
2
2
  task 'assets:precompile' do
3
+ sh "touch #{File.expand_path('../public/assets/compiled_asset', __FILE__)}"
3
4
  sh 'touch precompiled'
4
5
  end
5
6
 
@@ -0,0 +1,3 @@
1
+ environments:
2
+ env:
3
+ ignored_database_adapter_warning: true
@@ -1,6 +1,5 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rake'
4
- gem 'pg'
5
4
  gem 'ey_config'
6
5
  gem 'rails'
@@ -1,5 +1,5 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
4
  actionmailer (3.2.3)
5
5
  actionpack (= 3.2.3)
@@ -42,7 +42,6 @@ GEM
42
42
  treetop (~> 1.4.8)
43
43
  mime-types (1.18)
44
44
  multi_json (1.3.2)
45
- pg (0.13.2)
46
45
  polyglot (0.3.3)
47
46
  rack (1.4.1)
48
47
  rack-cache (1.2)
@@ -85,6 +84,5 @@ PLATFORMS
85
84
 
86
85
  DEPENDENCIES
87
86
  ey_config
88
- pg
89
87
  rails
90
88
  rake
@@ -1,5 +1,6 @@
1
1
  desc 'Precompile yar assetz'
2
2
  task 'assets:precompile' do
3
+ sh "touch #{File.expand_path('../public/assets/compiled_asset', __FILE__)}"
3
4
  sh 'touch precompiled'
4
5
  end
5
6
 
@@ -2,3 +2,4 @@ environments:
2
2
  env:
3
3
  precompile_assets: false
4
4
  maintenance_on_migrate: false
5
+ ignore_database_adapter_warning: true
@@ -1,6 +1,5 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rake'
4
- gem 'pg'
5
4
  gem 'ey_config'
6
5
  gem 'rails'
@@ -1,5 +1,5 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
4
  actionmailer (3.2.3)
5
5
  actionpack (= 3.2.3)
@@ -42,7 +42,6 @@ GEM
42
42
  treetop (~> 1.4.8)
43
43
  mime-types (1.18)
44
44
  multi_json (1.3.2)
45
- pg (0.13.2)
46
45
  polyglot (0.3.3)
47
46
  rack (1.4.1)
48
47
  rack-cache (1.2)
@@ -85,6 +84,5 @@ PLATFORMS
85
84
 
86
85
  DEPENDENCIES
87
86
  ey_config
88
- pg
89
87
  rails
90
88
  rake
@@ -1,5 +1,6 @@
1
1
  desc 'Precompile yar assetz'
2
2
  task 'assets:precompile' do
3
+ sh "touch #{File.expand_path('../public/assets/compiled_asset', __FILE__)}"
3
4
  sh 'touch precompiled'
4
5
  end
5
6
 
@@ -2,3 +2,4 @@ environments:
2
2
  env:
3
3
  precompile_assets: true
4
4
  asset_roles: :all
5
+ ignore_database_adapter_warning: true
@@ -1,3 +1,3 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rake'
@@ -1,5 +1,5 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
4
  rake (0.9.2.2)
5
5
 
@@ -1,5 +1,6 @@
1
1
  desc 'Precompile yar assetz'
2
2
  task 'assets:precompile' do
3
+ sh "touch #{File.expand_path('../public/assets/compiled_asset', __FILE__)}"
3
4
  sh 'touch precompiled'
4
5
  end
5
6
 
@@ -1,6 +1,5 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rake'
4
- gem 'pg'
5
4
  gem 'ey_config'
6
5
  gem 'rails'
@@ -1,5 +1,5 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
4
  actionmailer (3.2.3)
5
5
  actionpack (= 3.2.3)
@@ -42,7 +42,6 @@ GEM
42
42
  treetop (~> 1.4.8)
43
43
  mime-types (1.18)
44
44
  multi_json (1.3.2)
45
- pg (0.13.2)
46
45
  polyglot (0.3.3)
47
46
  rack (1.4.1)
48
47
  rack-cache (1.2)
@@ -85,6 +84,5 @@ PLATFORMS
85
84
 
86
85
  DEPENDENCIES
87
86
  ey_config
88
- pg
89
87
  rails
90
88
  rake
@@ -1,5 +1,6 @@
1
1
  desc 'Precompile yar assetz'
2
2
  task 'assets:precompile' do
3
+ sh "touch #{File.expand_path('../public/assets/compiled_asset', __FILE__)}"
3
4
  sh 'touch precompiled'
4
5
  end
5
6
 
@@ -3,3 +3,4 @@ environments:
3
3
  precompile_assets: true
4
4
  asset_roles:
5
5
  - :util
6
+ ignore_database_adapter_warning: true
@@ -1,6 +1,5 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rake'
4
- gem 'pg'
5
4
  gem 'ey_config'
6
5
  gem 'rails'
@@ -1,5 +1,5 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
4
  actionmailer (3.2.3)
5
5
  actionpack (= 3.2.3)
@@ -42,7 +42,6 @@ GEM
42
42
  treetop (~> 1.4.8)
43
43
  mime-types (1.18)
44
44
  multi_json (1.3.2)
45
- pg (0.13.2)
46
45
  polyglot (0.3.3)
47
46
  rack (1.4.1)
48
47
  rack-cache (1.2)
@@ -85,6 +84,5 @@ PLATFORMS
85
84
 
86
85
  DEPENDENCIES
87
86
  ey_config
88
- pg
89
87
  rails
90
88
  rake
@@ -0,0 +1,3 @@
1
+ environments:
2
+ env:
3
+ ignore_database_adapter_warning: true
@@ -1,2 +1,2 @@
1
- run 'touch custom_compiled && mkdir -p public/assets'
1
+ run 'touch custom_compiled && mkdir -p public/assets && touch public/assets/custom_compiled_asset'
2
2
  $stderr.puts Dir.pwd
@@ -0,0 +1 @@
1
+ gem 'this-gem-does-not-exist-which-makes-bundle-install-fail'