heroku_san_sanity 0.0.1 → 0.0.2
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/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
|