heroku_deployer 0.7.10 → 0.7.11
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.
- checksums.yaml +4 -4
- data/lib/amitree/heroku_client.rb +8 -2
- data/lib/amitree/heroku_deployer.rb +2 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 984d7cbc5fde7f4340daaa9f049072b721c9e2c7
|
4
|
+
data.tar.gz: 9477d80aedeb32654ae09c9b57bacb69093cd559
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f04ca2c0c3e250b8542a0ec04524bb5add5b27a86eb972f23e0acc79ba54aef2cec9475caecf1ae3e3c8db1beb272648704da53b498f761a01b99b28bbaca73
|
7
|
+
data.tar.gz: 11d2338360486ce90fbd41065e6b86e398938da12abb8537c80dd5d9524097e726723096ca9ef05df269213dd7fbd9c1e0cdf878165db9b97c37000b21a27b6e
|
@@ -44,7 +44,8 @@ module Amitree
|
|
44
44
|
release['description'] =~ @promoted_release_regexp
|
45
45
|
end
|
46
46
|
|
47
|
-
def staging_releases_since(
|
47
|
+
def staging_releases_since(production_release)
|
48
|
+
staging_release_version = self.staging_release_version(production_release)
|
48
49
|
staging_releases = get_releases(@staging_app_name)
|
49
50
|
index = staging_releases.index { |release| release['version'] == staging_release_version }
|
50
51
|
if index.nil?
|
@@ -53,7 +54,8 @@ module Amitree
|
|
53
54
|
staging_releases.slice(index+1, staging_releases.length)
|
54
55
|
end
|
55
56
|
|
56
|
-
def deploy_to_production(
|
57
|
+
def deploy_to_production(staging_release, options={})
|
58
|
+
staging_release_version = staging_release['version']
|
57
59
|
slug = staging_slug(staging_release_version)
|
58
60
|
puts "Deploying slug to production: #{slug}"
|
59
61
|
unless options[:dry_run]
|
@@ -84,6 +86,10 @@ module Amitree
|
|
84
86
|
end
|
85
87
|
end
|
86
88
|
|
89
|
+
def version(release)
|
90
|
+
"v#{release['version']}"
|
91
|
+
end
|
92
|
+
|
87
93
|
private
|
88
94
|
def get_releases(app_name)
|
89
95
|
# Use our own cache because of https://github.com/heroku/platform-api/issues/16
|
@@ -7,16 +7,11 @@ module Amitree
|
|
7
7
|
class HerokuDeployer
|
8
8
|
class ReleaseDetails
|
9
9
|
attr_accessor :production_release, :staging_release_to_deploy, :stories
|
10
|
-
attr_writer :production_promoted_from_staging
|
11
10
|
|
12
11
|
def initialize
|
13
12
|
@stories = []
|
14
13
|
end
|
15
14
|
|
16
|
-
def production_promoted_from_staging?
|
17
|
-
@production_promoted_from_staging
|
18
|
-
end
|
19
|
-
|
20
15
|
class Story < DelegateClass(PivotalTracker::Story)
|
21
16
|
attr_accessor :deliverable
|
22
17
|
attr_reader :blocked_by
|
@@ -50,8 +45,7 @@ module Amitree
|
|
50
45
|
result = ReleaseDetails.new
|
51
46
|
|
52
47
|
result.production_release = @heroku.last_promoted_production_release
|
53
|
-
|
54
|
-
staging_releases = @heroku.staging_releases_since(@heroku.staging_release_version(result.production_release))
|
48
|
+
staging_releases = @heroku.staging_releases_since(result.production_release)
|
55
49
|
|
56
50
|
prod_commit = @heroku.get_production_commit(result.production_release)
|
57
51
|
puts "Production release is #{prod_commit}" if options[:verbose]
|
@@ -64,7 +58,7 @@ module Amitree
|
|
64
58
|
stories = all_stories.values_at(*@git.stories_worked_on_between(prod_commit, staging_commit)).compact
|
65
59
|
story_ids = stories.map(&:id)
|
66
60
|
|
67
|
-
puts "- Trying staging release
|
61
|
+
puts "- Trying staging release #{@heroku.version(staging_release)} with commit #{staging_commit}" if options[:verbose]
|
68
62
|
puts " - Stories: #{story_ids.inspect}" if options[:verbose]
|
69
63
|
|
70
64
|
unaccepted_story_ids = story_ids.select { |story_id| get_tracker_status(story_id) != 'accepted' }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: heroku_deployer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Wargnier
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-01-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|