engineyard-serverside 2.3.7 → 2.3.9

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.
@@ -84,6 +84,8 @@ module EY
84
84
  def_option :stack, nil
85
85
  def_option(:source_class) { fetch_deprecated(:strategy, :source_class, nil) } # strategy is deprecated
86
86
  def_option :branch, 'master'
87
+ def_option(:input_ref) { branch }
88
+ def_option :deployed_by, 'Automation (User name not available)'
87
89
  def_option :current_roles, []
88
90
  def_option :current_name, nil
89
91
  def_option :copy_exclude, []
@@ -48,7 +48,7 @@ To fix this problem, commit your composer.lock to the repository and redeploy.
48
48
  end
49
49
 
50
50
  def composer_selfupdate
51
- run "composer self-update"
51
+ run "command -v composer | xargs -I composer find composer -user #{config.user} -exec {} self-update \\;"
52
52
  end
53
53
 
54
54
  def composer_available?
@@ -218,6 +218,8 @@ chmod 0700 #{path}
218
218
  def rollback
219
219
  if config.rollback_paths!
220
220
  begin
221
+ load_ey_yml
222
+ require_custom_tasks
221
223
  rolled_back_release = paths.latest_release
222
224
  shell.status "Rolling back to previous release: #{short_log_message(config.active_revision)}"
223
225
  abort_on_bad_paths_in_release_directory
@@ -1,4 +1,5 @@
1
1
  require 'engineyard-serverside/shell/helpers'
2
+ require 'rbconfig'
2
3
 
3
4
  module EY
4
5
  module Serverside
@@ -57,8 +58,13 @@ Please fix this error before retrying.
57
58
  ERROR
58
59
  end
59
60
 
61
+ # Ideally we'd use RbConfig.ruby, but that doesn't work on 1.8.7.
62
+ def ruby_bin
63
+ File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
64
+ end
65
+
60
66
  def syntax_error(file)
61
- output = `ruby -c #{file} 2>&1`
67
+ output = `#{ruby_bin} -c #{file} 2>&1`
62
68
  output unless output =~ /Syntax OK/
63
69
  end
64
70
 
@@ -67,8 +67,10 @@ module EY
67
67
  yield local? ? command : remote_command(command)
68
68
  end
69
69
 
70
+ # Explicitly putting that space in helps us make sure we don't
71
+ # accidentally leave off the space on the end of ssh_command.
70
72
  def remote_command(command)
71
- ssh_command + Escape.shell_command(["#{user}@#{hostname}", command])
73
+ ssh_command + " " + Escape.shell_command(["#{user}@#{hostname}", command])
72
74
  end
73
75
 
74
76
  # Make a known hosts tempfile to absorb host fingerprints so we don't show
@@ -82,7 +84,7 @@ module EY
82
84
  end
83
85
 
84
86
  def ssh_command
85
- "ssh -i #{ENV['HOME']}/.ssh/internal -o StrictHostKeyChecking=no -o UserKnownHostsFile=#{self.class.known_hosts_file.path} -o PasswordAuthentication=no "
87
+ "ssh -i #{ENV['HOME']}/.ssh/internal -o StrictHostKeyChecking=no -o UserKnownHostsFile=#{self.class.known_hosts_file.path} -o PasswordAuthentication=no -o ServerAliveInterval=60"
86
88
  end
87
89
 
88
90
  end
@@ -45,34 +45,46 @@ class EY::Serverside::Source::Git < EY::Serverside::Source
45
45
  # Returns .
46
46
  def checkout
47
47
  shell.status "Deploying revision #{short_log_message(to_checkout)}"
48
- q = opts[:verbose] ? '' : '--quiet'
49
48
  in_source_cache do
50
- (run_and_success?("git checkout --force #{q} '#{to_checkout}'") ||
51
- run_and_success?("git reset --hard #{q} '#{to_checkout}'")) &&
49
+ (run_and_success?("git checkout --force #{quiet} '#{to_checkout}'") ||
50
+ run_and_success?("git reset --hard #{quiet} '#{to_checkout}'")) &&
52
51
  run_and_success?("git submodule sync") &&
53
52
  run_and_success?("git submodule update --init") &&
54
53
  run_and_success?("git clean -dfq")
55
54
  end
56
55
  end
57
56
 
58
- # Internal:
59
- #
60
- # Returns .
57
+ # Remove a local branch with the same name as a branch that is being
58
+ # checked out. If there is already a local branch with the same name,
59
+ # then git checkout will checkout the possibly out-of-date local branch
60
+ # instead of the most current remote.
61
61
  def clean_local_branch
62
62
  run_and_success?("#{git} show-branch #{ref} > /dev/null 2>&1 && #{git} branch -D #{ref} > /dev/null 2>&1")
63
63
  end
64
64
 
65
- # Internal:
65
+ # Prune and then fetch origin
66
+ #
67
+ # OR, if origin has changed locations
68
+ #
69
+ # Remove and reclone the repository from url
66
70
  def fetch
67
71
  run_and_success?(fetch_command)
68
72
  end
69
73
 
74
+ # Pruning before fetching makes sure that branches removed from remote are
75
+ # removed locally. This hopefully prevents problems where a branch name
76
+ # collides with a branch directory name (among other problems).
77
+ #
78
+ # Note that --prune doesn't succeed at doing this, even though it seems like
79
+ # it should.
70
80
  def fetch_command
71
81
  if usable_repository?
72
- q = opts[:verbose] ? '' : '--quiet'
73
- "#{git} fetch --force --prune --update-head-ok #{q} origin 'refs/heads/*:refs/remotes/origin/*' '+refs/tags/*:refs/tags/*' 2>&1"
82
+ prune_c = "#{git} remote prune origin 2>&1"
83
+ fetch_c = "#{git} fetch --force --prune --update-head-ok #{quiet} origin '+refs/heads/*:refs/remotes/origin/*' '+refs/tags/*:refs/tags/*' 2>&1"
84
+
85
+ "#{prune_c} && #{fetch_c}"
74
86
  else
75
- "rm -rf #{repository_cache} && git clone -q #{uri} #{repository_cache} 2>&1"
87
+ "rm -rf #{repository_cache} && git clone #{quiet} #{uri} #{repository_cache} 2>&1"
76
88
  end
77
89
  end
78
90
 
@@ -102,4 +114,8 @@ class EY::Serverside::Source::Git < EY::Serverside::Source
102
114
  run_and_success?("#{git} show-branch origin/#{ref} > /dev/null 2>&1")
103
115
  end
104
116
 
117
+ def quiet
118
+ @quiet ||= opts[:verbose] ? '' : '--quiet'
119
+ end
120
+
105
121
  end
@@ -1,5 +1,5 @@
1
1
  module EY
2
2
  module Serverside
3
- VERSION = '2.3.7'
3
+ VERSION = '2.3.9'
4
4
  end
5
5
  end
@@ -32,6 +32,8 @@ describe EY::Serverside::Deploy::Configuration do
32
32
  @config.ignore_gemfile_lock_warning.should == false
33
33
  @config.bundle_without.should == %w[test development]
34
34
  @config.extra_bundle_install_options.should == %w[--without test development]
35
+ @config.deployed_by.should == "Automation (User name not available)"
36
+ @config.input_ref.should == @config.branch
35
37
  end
36
38
 
37
39
  it "raises when required options are not given" do
@@ -44,9 +46,10 @@ describe EY::Serverside::Deploy::Configuration do
44
46
  end
45
47
 
46
48
  context "strategies" do
47
- let(:options) {
49
+ let(:options) do
48
50
  { "app" => "serverside" }
49
- }
51
+ end
52
+
50
53
  it "uses strategy if set" do
51
54
  @config = EY::Serverside::Deploy::Configuration.new(
52
55
  options.merge({'strategy' => 'IntegrationSpec', 'git' => 'git@github.com:engineyard/todo.git'})
@@ -90,7 +93,7 @@ describe EY::Serverside::Deploy::Configuration do
90
93
  'environment_name' => 'env_name',
91
94
  'account_name' => 'acc',
92
95
  'branch' => 'branch_from_command_line',
93
- 'config' => MultiJson.dump({'custom' => 'custom_from_extra_config', 'maintenance_on_migrate' => 'false', 'precompile_assets' => 'false'})
96
+ 'config' => MultiJson.dump({'custom' => 'custom_from_extra_config', 'maintenance_on_migrate' => 'false', 'precompile_assets' => 'false', 'deployed_by' => 'Martin Emde', 'input_ref' => 'input_branch'})
94
97
  })
95
98
  end
96
99
 
@@ -113,6 +116,11 @@ describe EY::Serverside::Deploy::Configuration do
113
116
  it "doesn't bundle --without the framework_env" do
114
117
  @config.bundle_without.should == %w[test]
115
118
  end
119
+
120
+ it "gets deployed_by and input_ref correct" do
121
+ @config.deployed_by.should == "Martin Emde"
122
+ @config.input_ref.should == "input_branch"
123
+ end
116
124
  end
117
125
 
118
126
  describe "ey.yml loading" do
@@ -14,7 +14,7 @@ describe "Deploying an application that uses Node.js and NPM" do
14
14
  npm_cmd = @deployer.commands.grep(/npm install/).first
15
15
  npm_cmd.should_not be_nil
16
16
 
17
- update_cmd = @deployer.commands.grep(/composer self-update/).first
17
+ update_cmd = @deployer.commands.grep(/composer.*self-update/).first
18
18
  update_cmd.should_not be_nil
19
19
 
20
20
  composer_cmd = @deployer.commands.grep(/composer install/).first
@@ -16,10 +16,10 @@ describe "Deploying an application that uses PHP and Composer" do
16
16
  install_cmd.should_not be_nil
17
17
  end
18
18
 
19
- it "runs 'composer self-update' before 'composer install'" do
19
+ it "attempts to run 'composer self-update' before 'composer install'" do
20
20
  update_cmd = nil
21
21
  @deployer.commands.each do |cmd|
22
- update_cmd ||= /composer self-update/.match(cmd)
22
+ update_cmd ||= /composer.*self-update/.match(cmd)
23
23
  if /composer install/.match(cmd)
24
24
  update_cmd.should_not be nil
25
25
  end
@@ -52,10 +52,10 @@ describe "Deploying an application that uses PHP and Composer" do
52
52
  install_cmd.should_not be_nil
53
53
  end
54
54
 
55
- it "runs 'composer self-update' before 'composer install'" do
55
+ it "attempts to run 'composer self-update' before 'composer install'" do
56
56
  update_cmd = nil
57
57
  @deployer.commands.each do |cmd|
58
- update_cmd ||= /composer self-update/.match(cmd)
58
+ update_cmd ||= /composer.*self-update/.match(cmd)
59
59
  if /composer install/.match(cmd)
60
60
  update_cmd.should_not be nil
61
61
  end
@@ -66,13 +66,15 @@ describe "Deploying an application that uses PHP and Composer" do
66
66
 
67
67
  end
68
68
 
69
- context "without composer available" do
69
+ unless $COMPOSER_INSTALLED
70
+ context "without composer available" do
70
71
 
71
- it "fails to deploy" do
72
- expect {deploy_test_application('php_composer_lock')}.to raise_error EY::Serverside::RemoteFailure
73
- expect {deploy_test_application('php_no_composer_lock')}.to raise_error EY::Serverside::RemoteFailure
74
- end
72
+ it "fails to deploy" do
73
+ expect {deploy_test_application('php_composer_lock')}.to raise_error EY::Serverside::RemoteFailure
74
+ expect {deploy_test_application('php_no_composer_lock')}.to raise_error EY::Serverside::RemoteFailure
75
+ end
75
76
 
77
+ end
76
78
  end
77
79
  end
78
80
  end
@@ -1,55 +1,56 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "Rolling back" do
4
+ def setup_good_and_bad_deploy(repo)
5
+ deploy_test_application(repo, 'migrate' => nil)
6
+ @good_revision = deploy_dir.join('current', 'REVISION').read.strip
7
+ deploy_dir.join('current', 'REVISION').should exist
8
+ deploy_dir.join('current', 'restart').delete
9
+ deploy_test_application(repo, 'migrate' => nil)
10
+ deploy_dir.join('current', 'REVISION').should exist
11
+ deploy_dir.join('current', 'restart').delete
12
+
13
+ releases = @deployer.config.paths.all_releases
14
+ releases.size.should == 2
15
+ @good_release = releases.first
16
+ @bad_release = releases.last
17
+ end
18
+
19
+ def rollback
20
+ argv = @adapter.rollback.commands.last.to_argv[2..-1]
21
+ with_mocked_commands do
22
+ capture do
23
+ EY::Serverside::CLI.start(argv)
24
+ end
25
+ end
26
+ end
27
+
4
28
  context "without bundler" do
5
29
  before(:all) do
6
- deploy_test_application('not_bundled', 'migrate' => nil)
7
- @good_revision = deploy_dir.join('current', 'REVISION').read.strip
8
- deploy_dir.join('current', 'REVISION').should exist
9
- deploy_dir.join('current', 'restart').delete
10
- deploy_test_application('not_bundled', 'migrate' => nil)
11
- deploy_dir.join('current', 'REVISION').should exist
12
- deploy_dir.join('current', 'restart').delete
30
+ setup_good_and_bad_deploy('not_bundled')
31
+ rollback
13
32
  end
14
33
 
15
34
  it "rolls back to the older deploy" do
16
- releases = @deployer.config.paths.all_releases
17
- releases.size.should == 2
18
- good_release = releases.first
19
- bad_release = releases.last
20
-
21
- @deployer.rollback
22
35
  out = read_output
23
36
  out.should =~ /Rolling back to previous release.*#{@good_revision}/
24
37
  out.should =~ /Restarting with previous release./
25
38
  out.should =~ /Finished rollback/
26
39
 
27
40
  deploy_dir.join('current', 'restart').should exist
28
- bad_release.should_not exist
29
- good_release.join('restart').should exist
41
+ @bad_release.should_not exist
42
+ @good_release.join('restart').should exist
30
43
  end
31
44
  end
32
45
 
33
46
  context "with a problematic file in the releases dir" do
34
47
  before(:all) do
35
- deploy_test_application('not_bundled', 'migrate' => nil)
36
- @good_revision = deploy_dir.join('current', 'REVISION').read.strip
37
- deploy_dir.join('current', 'REVISION').should exist
38
- deploy_dir.join('current', 'restart').delete
39
- deploy_test_application('not_bundled', 'migrate' => nil)
40
- deploy_dir.join('current', 'REVISION').should exist
41
- deploy_dir.join('current', 'restart').delete
48
+ setup_good_and_bad_deploy('not_bundled')
49
+ @deployer.config.paths.releases.join('tmp').mkpath
50
+ expect { rollback }.to raise_error
42
51
  end
43
52
 
44
53
  it "rolls back to the older deploy" do
45
- releases = @deployer.config.paths.all_releases
46
- releases.size.should == 2
47
- good_release = releases.first
48
- bad_release = releases.last
49
-
50
- @deployer.config.paths.releases.join('tmp').mkpath
51
-
52
- expect { @deployer.rollback }.to raise_error
53
54
  out = read_output
54
55
  expect(out).to include("Bad paths found in #{@deployer.config.paths.releases}:")
55
56
  expect(out).to include(@deployer.config.paths.releases.join('tmp').to_s)
@@ -57,37 +58,30 @@ describe "Rolling back" do
57
58
  expect(out).to_not include("Restarting with previous release.")
58
59
 
59
60
  deploy_dir.join('current', 'restart').should_not exist
60
- bad_release.should exist
61
- good_release.should exist
61
+ @bad_release.should exist
62
+ @good_release.should exist
62
63
  end
63
64
  end
64
65
 
65
66
  context "with complex config" do
66
67
  before(:all) do
67
- deploy_test_application('ey_yml', 'migrate' => nil)
68
- @good_revision = deploy_dir.join('current', 'REVISION').read.strip
69
- deploy_dir.join('current', 'REVISION').should exist
70
- deploy_dir.join('current', 'restart').delete
71
- deploy_test_application('ey_yml', 'migrate' => nil)
72
- deploy_dir.join('current', 'REVISION').should exist
73
- deploy_dir.join('current', 'restart').delete
68
+ setup_good_and_bad_deploy('ey_yml')
69
+ rollback
74
70
  end
75
71
 
76
72
  it "rolls back to the older deploy" do
77
- releases = @deployer.config.paths.all_releases
78
- releases.size.should == 2
79
- good_release = releases.first
80
- bad_release = releases.last
81
-
82
- @deployer.rollback
83
73
  out = read_output
84
74
  out.should =~ /Rolling back to previous release.*#{@good_revision}/
85
75
  out.should =~ /Restarting with previous release./
86
76
  out.should =~ /Finished rollback/
87
77
 
88
78
  deploy_dir.join('current', 'restart').should exist
89
- bad_release.should_not exist
90
- good_release.join('restart').should exist
79
+ @bad_release.should_not exist
80
+ @good_release.join('restart').should exist
81
+ end
82
+
83
+ it "loads and uses ey.yml during rollback" do
84
+ read_output.should =~ /--without only test/
91
85
  end
92
86
  end
93
87
  end
@@ -56,7 +56,7 @@ class EY::Serverside::Source::IntegrationSpec < EY::Serverside::Source
56
56
 
57
57
  def initialize(*a)
58
58
  super
59
- @source_repo = Pathname.new(uri)
59
+ @source_repo = Pathname.new(uri) if uri # doesn't exist for rollback
60
60
  end
61
61
 
62
62
  def update_repository_cache
metadata CHANGED
@@ -1,148 +1,168 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: engineyard-serverside
3
- version: !ruby/object:Gem::Version
4
- version: 2.3.7
3
+ version: !ruby/object:Gem::Version
4
+ hash: 17
5
+ prerelease:
6
+ segments:
7
+ - 2
8
+ - 3
9
+ - 9
10
+ version: 2.3.9
5
11
  platform: ruby
6
- authors:
12
+ authors:
7
13
  - EY Cloud Team
8
14
  autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
- date: 2013-11-18 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2014-03-26 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
14
21
  name: rspec
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
22
+ version_requirements: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
17
25
  - - ~>
18
- - !ruby/object:Gem::Version
26
+ - !ruby/object:Gem::Version
27
+ hash: 63
28
+ segments:
29
+ - 2
30
+ - 12
31
+ - 0
19
32
  version: 2.12.0
20
- type: :development
21
33
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ~>
25
- - !ruby/object:Gem::Version
26
- version: 2.12.0
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ! '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
34
  type: :development
35
+ requirement: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: rake
38
+ version_requirements: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ hash: 79
44
+ segments:
45
+ - 10
46
+ - 0
47
+ - 0
48
+ version: 10.0.0
35
49
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ! '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rdoc
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ! '>='
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
50
  type: :development
51
+ requirement: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ name: rdoc
54
+ version_requirements: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
49
63
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
64
+ type: :development
65
+ requirement: *id003
66
+ - !ruby/object:Gem::Dependency
56
67
  name: timecop
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '='
60
- - !ruby/object:Gem::Version
68
+ version_requirements: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - "="
72
+ - !ruby/object:Gem::Version
73
+ hash: 5
74
+ segments:
75
+ - 0
76
+ - 6
77
+ - 1
61
78
  version: 0.6.1
62
- type: :development
63
79
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '='
67
- - !ruby/object:Gem::Version
68
- version: 0.6.1
69
- - !ruby/object:Gem::Dependency
70
- name: simplecov
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ! '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
80
  type: :development
81
+ requirement: *id004
82
+ - !ruby/object:Gem::Dependency
83
+ name: simplecov
84
+ version_requirements: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 3
90
+ segments:
91
+ - 0
92
+ version: "0"
77
93
  prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ! '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
94
+ type: :development
95
+ requirement: *id005
96
+ - !ruby/object:Gem::Dependency
84
97
  name: engineyard-cloud-client
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
98
+ version_requirements: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
87
101
  - - ~>
88
- - !ruby/object:Gem::Version
102
+ - !ruby/object:Gem::Version
103
+ hash: 11
104
+ segments:
105
+ - 1
106
+ - 0
107
+ - 14
89
108
  version: 1.0.14
90
- type: :development
91
109
  prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ~>
95
- - !ruby/object:Gem::Version
96
- version: 1.0.14
97
- - !ruby/object:Gem::Dependency
110
+ type: :development
111
+ requirement: *id006
112
+ - !ruby/object:Gem::Dependency
98
113
  name: engineyard-serverside-adapter
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
114
+ version_requirements: &id007 !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
101
117
  - - ~>
102
- - !ruby/object:Gem::Version
118
+ - !ruby/object:Gem::Version
119
+ hash: 7
120
+ segments:
121
+ - 2
122
+ - 2
123
+ - 0
103
124
  version: 2.2.0
104
- type: :development
105
125
  prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ~>
109
- - !ruby/object:Gem::Version
110
- version: 2.2.0
111
- - !ruby/object:Gem::Dependency
112
- name: sqlite3
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
126
  type: :development
127
+ requirement: *id007
128
+ - !ruby/object:Gem::Dependency
129
+ name: sqlite3
130
+ version_requirements: &id008 !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ hash: 3
136
+ segments:
137
+ - 0
138
+ version: "0"
119
139
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ! '>='
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
140
+ type: :development
141
+ requirement: *id008
142
+ - !ruby/object:Gem::Dependency
126
143
  name: mime-types
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
144
+ version_requirements: &id009 !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
129
147
  - - ~>
130
- - !ruby/object:Gem::Version
131
- version: '1.25'
132
- type: :development
148
+ - !ruby/object:Gem::Version
149
+ hash: 61
150
+ segments:
151
+ - 1
152
+ - 25
153
+ version: "1.25"
133
154
  prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ~>
137
- - !ruby/object:Gem::Version
138
- version: '1.25'
155
+ type: :development
156
+ requirement: *id009
139
157
  description:
140
158
  email: cloud@engineyard.com
141
- executables:
159
+ executables:
142
160
  - engineyard-serverside
143
161
  extensions: []
162
+
144
163
  extra_rdoc_files: []
145
- files:
164
+
165
+ files:
146
166
  - bin/engineyard-serverside
147
167
  - lib/engineyard-serverside/about.rb
148
168
  - lib/engineyard-serverside/cli.rb
@@ -409,30 +429,41 @@ files:
409
429
  - spec/support/integration.rb
410
430
  - spec/support/source_doubles.rb
411
431
  homepage: http://github.com/engineyard/engineyard-serverside
412
- licenses:
432
+ licenses:
413
433
  - MIT
414
- metadata: {}
415
434
  post_install_message:
416
435
  rdoc_options: []
417
- require_paths:
436
+
437
+ require_paths:
418
438
  - lib
419
- required_ruby_version: !ruby/object:Gem::Requirement
420
- requirements:
421
- - - ! '>='
422
- - !ruby/object:Gem::Version
423
- version: '0'
424
- required_rubygems_version: !ruby/object:Gem::Requirement
425
- requirements:
426
- - - ! '>='
427
- - !ruby/object:Gem::Version
439
+ required_ruby_version: !ruby/object:Gem::Requirement
440
+ none: false
441
+ requirements:
442
+ - - ">="
443
+ - !ruby/object:Gem::Version
444
+ hash: 3
445
+ segments:
446
+ - 0
447
+ version: "0"
448
+ required_rubygems_version: !ruby/object:Gem::Requirement
449
+ none: false
450
+ requirements:
451
+ - - ">="
452
+ - !ruby/object:Gem::Version
453
+ hash: 23
454
+ segments:
455
+ - 1
456
+ - 3
457
+ - 6
428
458
  version: 1.3.6
429
459
  requirements: []
460
+
430
461
  rubyforge_project:
431
- rubygems_version: 2.1.10
462
+ rubygems_version: 1.8.25
432
463
  signing_key:
433
- specification_version: 4
464
+ specification_version: 3
434
465
  summary: A gem that deploys ruby applications on EY Cloud instances
435
- test_files:
466
+ test_files:
436
467
  - spec/archive_deploy_spec.rb
437
468
  - spec/basic_deploy_spec.rb
438
469
  - spec/bundler_deploy_spec.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YjZmMjM2NmI3Y2U2MjM2MjdhOGI4MGE3OWQ5YTk1NmZiYzQwNjA3Zg==
5
- data.tar.gz: !binary |-
6
- ZTJjZjRkZGY1NmYzZjdlNGRhNzVkZDRkZDk0MGQ3YWI4YzllZGY3ZQ==
7
- SHA512:
8
- metadata.gz: !binary |-
9
- ZjlmZWRiNjVhN2Q3NDNmNDNlZGY1OWNhNjY4MTI1MDdhN2QzZTA5NjJjMjUw
10
- MDFjYjk0MzZlZWVkM2Q2ZjBmNzQ4NzVmMDMxY2ZhYzAzN2JmNTYwYTBjOTM5
11
- ODNmMzA3YmQxODU0ZjJlNTc2MTA4N2FjZThhNjUxMGY0YTczZjM=
12
- data.tar.gz: !binary |-
13
- MTViNGYwNTRlZjI2NjQ4ZDIwOTg1ZWVjMTkwYzg4MDA1MDM2MGQzN2MyOGNi
14
- MzIxNTQ3NDllMTQ4MDFjZjQxMWU4ZTBmZDU1M2VjMWIyNDJmMTg1NjMzMWQ4
15
- ZDRmYjk5ZjQwMDQ0MTIyOGYwNjgzMTdlMjFlNGFmMGViZGM0ZTI=