capistrano-helpers 0.5.7 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG.markdown CHANGED
@@ -1,5 +1,11 @@
1
1
  # Capistrano-Helpers Changelog
2
2
 
3
+ Fixed:
4
+
5
+ * Campfire notifications were broken. Updated for new API, use git names for announcements.
6
+ * Force a chown of vendor/bundler, since building gems sometimes doesn't preserve group permissions.
7
+ Hopefully there will be a fix for this someday so we can avoid this workaround.
8
+
3
9
  ## 0.5.7
4
10
 
5
11
  Changed:
data/README.rdoc CHANGED
@@ -46,15 +46,14 @@ After the application has been deployed, this helper will post a message to
46
46
  the given campfire room stating the username, the application, the branch/tag,
47
47
  and the environment. E.g.:
48
48
 
49
- woods just deployed myapp v0.5.4 to staging
49
+ Scott Woods just deployed myapp v0.5.4 to staging
50
50
 
51
- This helper expects to find a configuration file config/campfire.yml with the
52
- following format:
51
+ This helper expects to find a configuration file config/campfire.yml or ~/.campfire.yml
52
+ with the following format:
53
53
 
54
54
  # Configuration for posting to campfire.
55
- account: mycompany
56
- email: smithers@mycompany.com
57
- password: 's3kret!'
55
+ subdomain: mycompany
56
+ token: abcd1234567890
58
57
  room: Chatter
59
58
 
60
59
  You can override the location of the configuration file by setting the
@@ -62,13 +61,6 @@ You can override the location of the configuration file by setting the
62
61
 
63
62
  set :campfire_config, 'somewhere/else.yml'
64
63
 
65
- This helper requires that the "tinder" gem is installed on the machine that
66
- you run the "cap" command from. It doesn't need to be installed on any of the
67
- servers. You can install the tinder gem using the following command on linux
68
- or mac:
69
-
70
- sudo gem install tinder
71
-
72
64
  === features
73
65
 
74
66
  Before the app is deployed, this helper checks out the branch/tag that is
data/Rakefile CHANGED
@@ -10,7 +10,9 @@ begin
10
10
  gem.email = "scott@westarete.com"
11
11
  gem.homepage = "http://github.com/westarete/capistrano-helpers"
12
12
  gem.authors = ["Scott Woods"]
13
- gem.add_dependency('capistrano', '>= 2.0.0')
13
+ gem.add_dependency('capistrano', '2.5.19')
14
+ gem.add_dependency('git', '1.2.5')
15
+ gem.add_dependency('tinder', '1.4.3')
14
16
  end
15
17
 
16
18
  rescue LoadError
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.7
1
+ 0.6.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{capistrano-helpers}
8
- s.version = "0.5.7"
8
+ s.version = "0.6.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Scott Woods"]
12
- s.date = %q{2010-10-20}
12
+ s.date = %q{2010-12-11}
13
13
  s.description = %q{A set of optional extensions to capistrano to make common tasks easier.}
14
14
  s.email = %q{scott@westarete.com}
15
15
  s.extra_rdoc_files = [
@@ -57,12 +57,18 @@ Gem::Specification.new do |s|
57
57
  s.specification_version = 3
58
58
 
59
59
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
60
- s.add_runtime_dependency(%q<capistrano>, [">= 2.0.0"])
60
+ s.add_runtime_dependency(%q<capistrano>, ["= 2.5.19"])
61
+ s.add_runtime_dependency(%q<git>, ["= 1.2.5"])
62
+ s.add_runtime_dependency(%q<tinder>, ["= 1.4.3"])
61
63
  else
62
- s.add_dependency(%q<capistrano>, [">= 2.0.0"])
64
+ s.add_dependency(%q<capistrano>, ["= 2.5.19"])
65
+ s.add_dependency(%q<git>, ["= 1.2.5"])
66
+ s.add_dependency(%q<tinder>, ["= 1.4.3"])
63
67
  end
64
68
  else
65
- s.add_dependency(%q<capistrano>, [">= 2.0.0"])
69
+ s.add_dependency(%q<capistrano>, ["= 2.5.19"])
70
+ s.add_dependency(%q<git>, ["= 1.2.5"])
71
+ s.add_dependency(%q<tinder>, ["= 1.4.3"])
66
72
  end
67
73
  end
68
74
 
@@ -5,6 +5,7 @@ CapistranoHelpers.with_configuration do
5
5
  namespace :deploy do
6
6
  desc "Install gems on the remote server using Bundler."
7
7
  task :bundler do
8
+ run "sudo chown -Rh `whoami` #{shared_path}/vendor/bundler"
8
9
  run "cd #{release_path} && bundle install --deployment --local --path #{shared_path}/vendor/bundler --without development test"
9
10
  end
10
11
  end
@@ -1,35 +1,31 @@
1
1
  require File.dirname(__FILE__) + '/../capistrano-helpers' if ! defined?(CapistranoHelpers)
2
2
 
3
- begin
4
- # Campfire API gem for deploy notifications.
5
- gem 'tinder', '>= 1.4.0'
6
- require 'tinder'
7
- rescue LoadError
8
- abort "The campfire helper requires the tinder gem. Install it with: sudo gem install tinder"
9
- end
3
+ require 'tinder'
4
+ require 'git'
10
5
 
11
6
  CapistranoHelpers.with_configuration do
12
7
 
13
8
  namespace :deploy do
14
9
  desc 'Make a post to campfire to tell everyone about this deployment.'
15
10
  task :post_to_campfire do
16
- if !exists?(:application)
17
- puts "You should set :application to the name of this app."
18
- end
19
- username = `whoami`.chomp
20
- config_file = fetch(:campfire_config, 'config/campfire.yml')
21
- begin
11
+ config_file = [fetch(:campfire_config, 'config/campfire.yml'), "#{ENV['HOME']}/.campfire.yml"].detect { |f| File.readable?(f) }
12
+ if config_file.nil?
13
+ puts "Could not find a campfire configuration. Skipping campfire notification."
14
+ else
15
+ if ! exists?(:application)
16
+ puts "You should set :application to the name of this app."
17
+ end
18
+ git_config = Git.open('.').config rescue {}
19
+ someone = ENV['GIT_AUTHOR_NAME'] || git_config['user.name'] || `whoami`.strip
22
20
  config = YAML::load_file(config_file)
23
- campfire = Tinder::Campfire.new(config['account'], :username => config['email'], :password => config['password'])
21
+ campfire = Tinder::Campfire.new(config['subdomain'], :token => config['token'])
24
22
  room = campfire.find_room_by_name(config['room'])
25
- room.speak("#{username} just deployed #{application} #{branch} to #{stage}")
23
+ stage ||= 'production'
24
+ room.speak("#{someone} just deployed #{application} #{branch} to #{stage}")
26
25
  room.leave
27
- rescue Errno::ENOENT
28
- puts "Could not open config/campfire.yml. Skipping campfire notification."
29
26
  end
30
27
  end
31
28
  end
32
-
33
29
  after "deploy:restart", "deploy:post_to_campfire"
34
30
 
35
31
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 5
8
- - 7
9
- version: 0.5.7
7
+ - 6
8
+ - 0
9
+ version: 0.6.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Scott Woods
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-10-20 00:00:00 -04:00
17
+ date: 2010-12-11 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -22,15 +22,43 @@ dependencies:
22
22
  prerelease: false
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ">="
25
+ - - "="
26
26
  - !ruby/object:Gem::Version
27
27
  segments:
28
28
  - 2
29
- - 0
30
- - 0
31
- version: 2.0.0
29
+ - 5
30
+ - 19
31
+ version: 2.5.19
32
32
  type: :runtime
33
33
  version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: git
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 1
43
+ - 2
44
+ - 5
45
+ version: 1.2.5
46
+ type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: tinder
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "="
54
+ - !ruby/object:Gem::Version
55
+ segments:
56
+ - 1
57
+ - 4
58
+ - 3
59
+ version: 1.4.3
60
+ type: :runtime
61
+ version_requirements: *id003
34
62
  description: A set of optional extensions to capistrano to make common tasks easier.
35
63
  email: scott@westarete.com
36
64
  executables: []