heroku_san_sanity 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +3 -1
- data/heroku_san_sanity.gemspec +2 -1
- data/lib/heroku_san_sanity/tasks.rb +20 -0
- data/lib/heroku_san_sanity/version.rb +1 -1
- metadata +14 -29
data/README.md
CHANGED
@@ -3,7 +3,9 @@ heroku_san_sanity
|
|
3
3
|
|
4
4
|
heroku_san_sanity is a sibling task to the heroku_san gem
|
5
5
|
|
6
|
-
If you are deploying with Heroku_san, Heroku_san_sanity will sense check all production deploys with an 'Are you sure?' message
|
6
|
+
If you are deploying with Heroku_san, Heroku_san_sanity will sense check all production deploys with an 'Are you sure?' message.
|
7
|
+
|
8
|
+
heroku_san_sanity now also checks the status of the heroku platform prior to a deploy, and asks if you want to continue should the platform not be reported as healthy.
|
7
9
|
|
8
10
|
Installation
|
9
11
|
------------
|
data/heroku_san_sanity.gemspec
CHANGED
@@ -17,7 +17,8 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.add_dependency "heroku", ">= 1.17.10"
|
18
18
|
s.add_dependency "heroku_san", ">= 1.0.0"
|
19
19
|
s.add_dependency "highline", ">= 1.6.1"
|
20
|
-
|
20
|
+
s.add_dependency "hpricot", ">= 0.8.4"
|
21
|
+
|
21
22
|
s.files = `git ls-files`.split("\n")
|
22
23
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
23
24
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require "highline/import"
|
2
|
+
require 'hpricot'
|
2
3
|
|
3
4
|
@exec = false
|
4
5
|
|
@@ -11,8 +12,27 @@ def check_answer(answer, name)
|
|
11
12
|
true
|
12
13
|
end
|
13
14
|
|
15
|
+
def check_heroku_integrity(name)
|
16
|
+
doc = Hpricot(open("http://status.heroku.com/"))
|
17
|
+
incident = doc.search("li.yellow, li.red")
|
18
|
+
if incident.present?
|
19
|
+
puts ""
|
20
|
+
puts " ! WARNING: Potentially Unstable Deploy"
|
21
|
+
puts " ! "
|
22
|
+
puts " ! Heroku is experiencing some issues at present as detailed"
|
23
|
+
puts " ! on the heroku status blog http://status.heroku.com"
|
24
|
+
puts ""
|
25
|
+
puts " ! To continue, type \"OK\""
|
26
|
+
puts ""
|
27
|
+
answer = ask("> ", String)
|
28
|
+
check_answer(answer.downcase, "ok")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
14
32
|
desc 'Force sanity check on production deploys'
|
15
33
|
task :before_deploy => :environment do |name, t, args|
|
34
|
+
return false if !check_heroku_integrity(name)
|
35
|
+
|
16
36
|
each_heroku_app do |name, app, repo|
|
17
37
|
if name == 'production' && @exec == false
|
18
38
|
puts ""
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: heroku_san_sanity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 29
|
5
4
|
prerelease:
|
6
|
-
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 0.0.1
|
5
|
+
version: 0.0.2
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Neil Middleton
|
@@ -15,7 +10,7 @@ autorequire:
|
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
12
|
|
18
|
-
date: 2011-
|
13
|
+
date: 2011-07-18 00:00:00 +01:00
|
19
14
|
default_executable:
|
20
15
|
dependencies:
|
21
16
|
- !ruby/object:Gem::Dependency
|
@@ -26,11 +21,6 @@ dependencies:
|
|
26
21
|
requirements:
|
27
22
|
- - ">="
|
28
23
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 71
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 17
|
33
|
-
- 10
|
34
24
|
version: 1.17.10
|
35
25
|
type: :runtime
|
36
26
|
version_requirements: *id001
|
@@ -42,11 +32,6 @@ dependencies:
|
|
42
32
|
requirements:
|
43
33
|
- - ">="
|
44
34
|
- !ruby/object:Gem::Version
|
45
|
-
hash: 23
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 0
|
49
|
-
- 0
|
50
35
|
version: 1.0.0
|
51
36
|
type: :runtime
|
52
37
|
version_requirements: *id002
|
@@ -58,14 +43,20 @@ dependencies:
|
|
58
43
|
requirements:
|
59
44
|
- - ">="
|
60
45
|
- !ruby/object:Gem::Version
|
61
|
-
hash: 13
|
62
|
-
segments:
|
63
|
-
- 1
|
64
|
-
- 6
|
65
|
-
- 1
|
66
46
|
version: 1.6.1
|
67
47
|
type: :runtime
|
68
48
|
version_requirements: *id003
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: hpricot
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 0.8.4
|
58
|
+
type: :runtime
|
59
|
+
version_requirements: *id004
|
69
60
|
description: Adds a sanity check 'Are you sure?' before deploying to any environment named 'production'
|
70
61
|
email:
|
71
62
|
- neil.middleton@gmail.com
|
@@ -100,23 +91,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
100
91
|
requirements:
|
101
92
|
- - ">="
|
102
93
|
- !ruby/object:Gem::Version
|
103
|
-
hash: 3
|
104
|
-
segments:
|
105
|
-
- 0
|
106
94
|
version: "0"
|
107
95
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
96
|
none: false
|
109
97
|
requirements:
|
110
98
|
- - ">="
|
111
99
|
- !ruby/object:Gem::Version
|
112
|
-
hash: 3
|
113
|
-
segments:
|
114
|
-
- 0
|
115
100
|
version: "0"
|
116
101
|
requirements: []
|
117
102
|
|
118
103
|
rubyforge_project: heroku_san_sanity
|
119
|
-
rubygems_version: 1.
|
104
|
+
rubygems_version: 1.6.2
|
120
105
|
signing_key:
|
121
106
|
specification_version: 3
|
122
107
|
summary: Sanity check deploys with heroku_san
|