bosh-cloudfoundry 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog.md CHANGED
@@ -12,6 +12,10 @@ In future, when cf-release eventually merges all the required patches into maste
12
12
 
13
13
  And finally, the big requirement for going v1.0, is for all the required patches to be included in a final release of cf-release.
14
14
 
15
+ ### v0.5.1
16
+
17
+ Fixes a bug in creating dev releases of cf-release based on branches that aren't "master". It now correctly clones each staging branch into its own repository, built solely off the targeted branch.
18
+
15
19
  ## v0.4
16
20
 
17
21
  Defaults to patched dev release (since a cf-release final release doesn't work).
@@ -26,7 +26,6 @@ require 'fog/aws/models/compute/flavors'
26
26
  # CLI mixins
27
27
  require "bosh-cloudfoundry/config_options"
28
28
  require "bosh-cloudfoundry/bosh_release_manager"
29
- require "bosh-cloudfoundry/gerrit_patches_helper"
30
29
 
31
30
  require "bosh-cloudfoundry/config"
32
31
  require "bosh-cloudfoundry/providers"
@@ -43,7 +43,7 @@ module Bosh::CloudFoundry::BoshReleaseManager
43
43
  release_number = use_latest_release? ?
44
44
  latest_uploadable_final_release_number :
45
45
  release_version
46
- chdir(cf_release_dir) do
46
+ chdir(cf_release_branch_dir) do
47
47
  bosh_cmd "upload release releases/appcloud-#{release_number}.yml"
48
48
  end
49
49
  @bosh_releases = nil # reset cache
@@ -53,7 +53,7 @@ module Bosh::CloudFoundry::BoshReleaseManager
53
53
  # for the latest release number that could be uploaded
54
54
  # @returns [String] a number such as "126"
55
55
  def latest_uploadable_final_release_number
56
- chdir(cf_release_dir) do
56
+ chdir(cf_release_branch_dir) do
57
57
  return `tail -n 1 releases/index.yml | awk '{print $2}'`.strip
58
58
  end
59
59
  end
@@ -62,7 +62,7 @@ module Bosh::CloudFoundry::BoshReleaseManager
62
62
  # for the latest release number that could be uploaded
63
63
  # @returns [String] a dev release code such as "126.8-dev"
64
64
  def latest_uploadable_dev_release_number
65
- chdir(cf_release_dir) do
65
+ chdir(cf_release_branch_dir) do
66
66
  return `tail -n 1 dev_releases/index.yml | awk '{print $2}'`.strip
67
67
  end
68
68
  end
@@ -76,7 +76,7 @@ module Bosh::CloudFoundry::BoshReleaseManager
76
76
 
77
77
  def create_and_upload_dev_release
78
78
  release_name = default_dev_release_name
79
- chdir(cf_release_dir) do
79
+ chdir(cf_release_branch_dir) do
80
80
  write_dev_config_file(release_name)
81
81
  sh "bosh -n --color create release --with-tarball --force"
82
82
  sh "bosh -n --color upload release"
@@ -107,11 +107,11 @@ module Bosh::CloudFoundry::BoshReleaseManager
107
107
  raise "invoke #set_cf_release_branch(branch) first" unless cf_release_branch_dir
108
108
  if File.directory?(cf_release_branch_dir)
109
109
  chdir(cf_release_branch_dir) do
110
- sh "git pull origin #{cf_release_branch} --no-recurse-submodules" # recursive is below
110
+ sh "git pull origin #{cf_release_branch}" # recursive is below
111
111
  end
112
112
  else
113
113
  chdir(releases_dir) do
114
- sh "git clone #{cf_release_git_repo} #{cf_release_branch_dir}"
114
+ sh "git clone -b #{cf_release_branch} #{cf_release_git_repo} #{cf_release_branch_dir}"
115
115
  chdir(cf_release_branch_dir) do
116
116
  sh "git update-index --assume-unchanged config/final.yml 2>/dev/null"
117
117
  end
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Cloudfoundry
3
- VERSION = "0.5.0"
3
+ VERSION = "0.5.1"
4
4
  end
5
5
  end
@@ -8,7 +8,6 @@ module Bosh::Cli::Command
8
8
  include Bosh::Cli::VersionCalc
9
9
  include Bosh::CloudFoundry::ConfigOptions
10
10
  include Bosh::CloudFoundry::BoshReleaseManager
11
- include Bosh::CloudFoundry::GerritPatchesHelper
12
11
  include FileUtils
13
12
 
14
13
  usage "cf"
@@ -22,7 +22,7 @@ describe Bosh::CloudFoundry::BoshReleaseManager do
22
22
  self.cf_release_branch = "master"
23
23
  self.cf_release_branch_dir = File.join(cf_release_dir, "master")
24
24
  mkdir_p(cf_release_branch_dir)
25
- should_receive(:sh).with("git pull origin master --no-recurse-submodules")
25
+ should_receive(:sh).with("git pull origin master")
26
26
  should_receive(:sh).with("sed -i 's#git@github.com:#https://github.com/#g' .gitmodules")
27
27
  should_receive(:sh).with("sed -i 's#git://github.com#https://github.com#g' .gitmodules")
28
28
  should_receive(:sh).with("git submodule update --init --recursive")
@@ -33,7 +33,7 @@ describe Bosh::CloudFoundry::BoshReleaseManager do
33
33
  self.cf_release_branch = "staging"
34
34
  self.cf_release_branch_dir = File.join(cf_release_dir, "staging")
35
35
  mkdir_p(cf_release_branch_dir)
36
- should_receive(:sh).with("git pull origin staging --no-recurse-submodules")
36
+ should_receive(:sh).with("git pull origin staging")
37
37
  should_receive(:sh).with("sed -i 's#git@github.com:#https://github.com/#g' .gitmodules")
38
38
  should_receive(:sh).with("sed -i 's#git://github.com#https://github.com#g' .gitmodules")
39
39
  should_receive(:sh).with("git submodule update --init --recursive")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh-cloudfoundry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -119,7 +119,6 @@ files:
119
119
  - lib/bosh-cloudfoundry/config/redis_service_config.rb
120
120
  - lib/bosh-cloudfoundry/config/system_config.rb
121
121
  - lib/bosh-cloudfoundry/config_options.rb
122
- - lib/bosh-cloudfoundry/gerrit_patches_helper.rb
123
122
  - lib/bosh-cloudfoundry/providers.rb
124
123
  - lib/bosh-cloudfoundry/providers/aws.rb
125
124
  - lib/bosh-cloudfoundry/providers/openstack.rb
@@ -161,7 +160,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
161
160
  version: '0'
162
161
  segments:
163
162
  - 0
164
- hash: 3552248026887533179
163
+ hash: -2872187592937084659
165
164
  required_rubygems_version: !ruby/object:Gem::Requirement
166
165
  none: false
167
166
  requirements:
@@ -170,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
169
  version: '0'
171
170
  segments:
172
171
  - 0
173
- hash: 3552248026887533179
172
+ hash: -2872187592937084659
174
173
  requirements: []
175
174
  rubyforge_project:
176
175
  rubygems_version: 1.8.24
@@ -1,47 +0,0 @@
1
- # Copyright (c) 2012-2013 Stark & Wayne, LLC
2
-
3
- module Bosh; module CloudFoundry; end; end
4
-
5
- # There are two concepts of "latest".
6
- # * for upload: "latest" is the highest release in cf-release
7
- # * for manifest creation: "latest" is the highest release already uploaded to the BOSH
8
- module Bosh::CloudFoundry::GerritPatchesHelper
9
-
10
- def extract_refs_change(gerrit_change)
11
- if gerrit_change =~ %r{(\d+)/(\d+)/(\d+)$}
12
- "#{$1}/#{$2}/#{$3}"
13
- else
14
- nil
15
- end
16
- end
17
-
18
- def add_gerrit_refs_change(refs_change)
19
- system_config.gerrit_changes ||= []
20
- unless system_config.gerrit_changes.include?(refs_change)
21
- system_config.gerrit_changes << refs_change
22
- system_config.save
23
- end
24
- end
25
-
26
- def apply_gerrit_patches
27
- # is the gerrit setup necessary; or can use anonymous HTTP?
28
- # confirm_gerrit_username # http://reviews.cloudfoundry.org/#/settings/
29
- # confirm_user_added_vcap_ssh_keys_to_gerrit # http://reviews.cloudfoundry.org/#/settings/ssh-keys
30
- # confirm_ssh_access # ssh -p 29418 drnic@reviews.cloudfoundry.org 2>&1 | grep "Permission denied"
31
- create_and_change_into_patches_branch
32
- ssh_uri = "http://reviews.cloudfoundry.org/cf-release"
33
- chdir(cf_release_dir) do
34
- system_config.gerrit_changes.each do |refs_change|
35
- sh "git pull #{ssh_uri} refs/changes/#{refs_change}"
36
- end
37
- end
38
- end
39
-
40
- def create_and_change_into_patches_branch
41
- chdir(cf_release_dir) do
42
- sh "git checkout master"
43
- sh "git branch -f patches" # force create
44
- sh "git checkout patches"
45
- end
46
- end
47
- end