summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Duffield <tom@chef.io>2016-11-09 13:57:18 -0600
committerGitHub <noreply@github.com>2016-11-09 13:57:18 -0600
commitfc0ead5b9ec6aa28ae263f8f9c6bc4c7310c9471 (patch)
tree0be8459a12a7e063e152afb2e4321cf7632740ad
parentf9ff77143b853cea88377ec9affcca534609f3b5 (diff)
parent56d1f31da350567008e41cd42a8daa37e29883a7 (diff)
downloadchef-fc0ead5b9ec6aa28ae263f8f9c6bc4c7310c9471.tar.gz
Merge pull request #5523 from chef/td/update-changelog-every-bump
Internal: Bump Minor Version; Automatically update the CHANGELOG when we bump the Build version
-rw-r--r--Gemfile.lock59
-rw-r--r--HISTORY.md22
-rw-r--r--README.md22
-rw-r--r--Rakefile16
-rw-r--r--VERSION2
-rw-r--r--chef-config/lib/chef-config/version.rb2
-rwxr-xr-xci/bundle_install.sh2
-rwxr-xr-xci/version_bump.sh1
-rw-r--r--lib/chef/version.rb2
-rw-r--r--tasks/changelog.rb43
10 files changed, 107 insertions, 64 deletions
diff --git a/Gemfile.lock b/Gemfile.lock
index b59520266b..f6815b9993 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,6 +1,6 @@
GIT
remote: https://github.com/chef/chef-server
- revision: f4a124354730cbd61c14635dca955d385cfa382d
+ revision: be1f43367a3a75e7a1b771a11fb5e48b6f6cf310
specs:
oc-chef-pedant (2.2.0)
activesupport (>= 4.2.7.1, < 6.0)
@@ -24,7 +24,7 @@ GIT
GIT
remote: https://github.com/rubysec/bundler-audit.git
- revision: b7123d7b294f244165d9469f22b37a559e235fc2
+ revision: 044d056961dbc4b70d236a354a9cc86af54e0ae2
specs:
bundler-audit (0.5.0)
bundler (~> 1.2)
@@ -33,10 +33,10 @@ GIT
PATH
remote: .
specs:
- chef (12.16.55)
+ chef (12.17.0)
addressable
bundler (>= 1.10)
- chef-config (= 12.16.55)
+ chef-config (= 12.17.0)
chef-zero (>= 4.8)
diff-lcs (~> 1.2, >= 1.2.4)
erubis (~> 2.7)
@@ -62,10 +62,10 @@ PATH
specinfra (~> 2.10)
syslog-logger (~> 1.6)
uuidtools (~> 2.1.5)
- chef (12.16.55-universal-mingw32)
+ chef (12.17.0-universal-mingw32)
addressable
bundler (>= 1.10)
- chef-config (= 12.16.55)
+ chef-config (= 12.17.0)
chef-zero (>= 4.8)
diff-lcs (~> 1.2, >= 1.2.4)
erubis (~> 2.7)
@@ -106,7 +106,7 @@ PATH
PATH
remote: chef-config
specs:
- chef-config (12.16.55)
+ chef-config (12.17.0)
addressable
fuzzyurl
mixlib-config (~> 2.0)
@@ -125,12 +125,12 @@ GEM
mixlib-cli (~> 1.4)
artifactory (2.5.0)
ast (2.3.0)
- aws-sdk (2.6.14)
- aws-sdk-resources (= 2.6.14)
- aws-sdk-core (2.6.14)
+ aws-sdk (2.6.18)
+ aws-sdk-resources (= 2.6.18)
+ aws-sdk-core (2.6.18)
jmespath (~> 1.0)
- aws-sdk-resources (2.6.14)
- aws-sdk-core (= 2.6.14)
+ aws-sdk-resources (2.6.18)
+ aws-sdk-core (= 2.6.18)
aws-sdk-v1 (1.66.0)
json (~> 1.4)
nokogiri (>= 1.4.4)
@@ -172,7 +172,7 @@ GEM
rspec (~> 3.0)
codeclimate-test-reporter (0.6.0)
simplecov (>= 0.7.1, < 1.0.0)
- codecov (0.1.6)
+ codecov (0.1.7)
json
simplecov
url
@@ -191,8 +191,6 @@ GEM
gherkin (~> 4.0)
cucumber-wire (0.0.1)
debug_inspector (0.0.2)
- descendants_tracker (0.0.4)
- thread_safe (~> 0.3, >= 0.3.1)
diff-lcs (1.2.5)
docile (1.1.5)
domain_name (0.5.20161021)
@@ -203,6 +201,8 @@ GEM
excon (0.54.0)
faraday (0.9.2)
multipart-post (>= 1.2, < 3)
+ faraday-http-cache (1.3.1)
+ faraday (~> 0.8)
faraday_middleware (0.10.0)
faraday (>= 0.7.4, < 0.10)
fauxhai (3.10.0)
@@ -234,16 +234,14 @@ GEM
net-http-pipeline
gherkin (4.0.0)
git (1.3.0)
- github_api (0.14.5)
- addressable (~> 2.4.0)
- descendants_tracker (~> 0.0.4)
- faraday (~> 0.8, < 0.10)
- hashie (>= 3.4)
- oauth2 (~> 1.0)
- github_changelog_generator (1.13.2)
- github_api (>= 0.14)
+ github_changelog_generator (1.14.1)
+ activesupport
+ faraday-http-cache
+ multi_json
+ octokit (~> 4.0)
rainbow (>= 2.1)
rake (>= 10.0)
+ retriable (~> 2.1)
gssapi (1.2.0)
ffi (>= 1.0.1)
gyoku (1.3.1)
@@ -264,7 +262,6 @@ GEM
ipaddress (0.8.3)
jmespath (1.3.1)
json (1.8.3)
- jwt (1.5.6)
kitchen-docker (2.6.0)
test-kitchen (>= 1.0.0)
kitchen-ec2 (1.2.0)
@@ -301,7 +298,7 @@ GEM
mixlib-log
mixlib-cli (1.7.0)
mixlib-config (2.2.4)
- mixlib-install (2.1.5)
+ mixlib-install (2.1.6)
artifactory
mixlib-shellout
mixlib-versioning
@@ -314,7 +311,6 @@ GEM
mixlib-versioning (1.1.0)
multi_json (1.12.1)
multi_test (0.1.2)
- multi_xml (0.5.5)
multipart-post (2.0.0)
net-http-persistent (3.0.0)
connection_pool (~> 2.2)
@@ -337,12 +333,6 @@ GEM
nokogiri (1.6.8.1-x86-mingw32)
mini_portile2 (~> 2.1.0)
nori (2.6.0)
- oauth2 (1.2.0)
- faraday (>= 0.8, < 0.10)
- jwt (~> 1.0)
- multi_json (~> 1.3)
- multi_xml (~> 0.5)
- rack (>= 1.2, < 3)
octokit (4.4.1)
sawyer (~> 0.7.0, >= 0.5.3)
ohai (8.21.0)
@@ -424,6 +414,7 @@ GEM
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
+ retriable (2.1.0)
retryable (2.0.4)
rspec (3.5.0)
rspec-core (~> 3.5.0)
@@ -474,7 +465,7 @@ GEM
simplecov-html (~> 0.10.0)
simplecov-html (0.10.0)
slop (3.6.0)
- specinfra (2.64.0)
+ specinfra (2.66.0)
net-scp
net-ssh (>= 2.7, < 4.0)
net-telnet
@@ -558,7 +549,7 @@ GEM
rubyzip (~> 1.1)
winrm (~> 2.0)
wmi-lite (1.0.0)
- yajl-ruby (1.2.1)
+ yajl-ruby (1.3.0)
yard (0.9.5)
yard-classmethods (1.0.0)
yard
diff --git a/HISTORY.md b/HISTORY.md
index 487a28d105..5c1a933256 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -1,3 +1,25 @@
+## [v12.16.42](https://github.com/chef/chef/tree/v12.16.42) (2016-11-04)
+[Full Changelog](https://github.com/chef/chef/compare/v12.15.19...v12.16.42)
+
+**Implemented enhancements:**
+
+- Core: improve readability of property-resource namespace collision exception message [\#5500](https://github.com/chef/chef/pull/5500) ([lamont-granquist](https://github.com/lamont-granquist))
+- Omnibus: Pull in Ohai 8.21.0 and other new deps [\#5499](https://github.com/chef/chef/pull/5499) ([tas50](https://github.com/tas50))
+- Core: Add deprecations to Data Collector run completion messages [\#5496](https://github.com/chef/chef/pull/5496) ([adamleff](https://github.com/adamleff))
+- Core: add attribute\_changed hook to event handlers [\#5495](https://github.com/chef/chef/pull/5495) ([lamont-granquist](https://github.com/lamont-granquist))
+- Knife: Add the `--field-separator` flag to knife show commands [\#5489](https://github.com/chef/chef/pull/5489) ([tduffield](https://github.com/tduffield))
+- Core: Enable Signed Header Auth for Data Collector, and Configure the Data Collector Automatically [\#5487](https://github.com/chef/chef/pull/5487) ([danielsdeleo](https://github.com/danielsdeleo))
+- Core: set use\_inline\_resources in package superclass [\#5483](https://github.com/chef/chef/pull/5483) ([lamont-granquist](https://github.com/lamont-granquist))
+
+**Fixed bugs:**
+
+- Enable data collector w/o token for solo, but require explicit URL [\#5511](https://github.com/chef/chef/pull/5511) ([danielsdeleo](https://github.com/danielsdeleo))
+- Core: Include chef/chef\_class in Chef::REST for method log\_deprecation [\#5504](https://github.com/chef/chef/pull/5504) ([smalltown](https://github.com/smalltown))
+- Knife: Updating knife ssl fetch to correctly store certificate when it does not have a CN [\#5498](https://github.com/chef/chef/pull/5498) ([tyler-ball](https://github.com/tyler-ball))
+- Knife: Fixed knife download cookbooks issue which used to corrupt the certificate files each time the command was fired. [\#5494](https://github.com/chef/chef/pull/5494) ([Aliasgar16](https://github.com/Aliasgar16))
+- Solaris: Properly check lock status of users on solaris2 [\#5486](https://github.com/chef/chef/pull/5486) ([tduffield](https://github.com/tduffield))
+- Solaris: Fix IPS package must create symlinks to package commands [\#5485](https://github.com/chef/chef/pull/5485) ([jaymalasinha](https://github.com/jaymalasinha))
+
## [v12.15.19](https://github.com/chef/chef/tree/v12.15.19) (2016-10-07)
[Full Changelog](https://github.com/chef/chef/compare/v12.14.89...v12.15.19)
diff --git a/README.md b/README.md
index db647f65eb..4a12267dca 100644
--- a/README.md
+++ b/README.md
@@ -157,18 +157,32 @@ Whenever a change is checked in to `master`, the patch version of `chef` is bump
1. Bumps the patch version in `lib/chef/version.rb` (e.g. 0.9.14 -> 0.9.15).
2. Runs `rake bundle:install` to update the `Gemfile.lock` to include the new version.
-3. Pushes to `master` and submits a new build to Chef's Jenkins cluster.
+3. Runs `rake changelog:update` to update the `CHANGELOG.md`.
+4. Pushes to `master` and submits a new build to Chef's Jenkins cluster.
## Bumping the minor version of Chef
After each "official" stable release we need to bump the minor version. To do this:
-1. Manually increment the minor version in the VERSION file that is in the root of this repo. and reset the patch version to 0. Assuming the current version is `12.10.57` you would edit `VERSION` to be `12.11.0`.
-2. Run `bundle exec rake version` which will copy the version to the respective `version.rb` files in chef and chef-config.
-3. Run `bundle exec rake bundle:install` to update the base Gemfile.lock
+1. Run `bundle exec rake version:bump_minor`
Submit a PR with the changes made by the above.
+## Addressing a Regression
+
+Sometimes, regressions split through the cracks. Since new functionality is always being added and the minor version is bumped immediately after release, we can't simply roll forward. In this scenario, we'll need to perform a special regression release process. In the example that follows, the stable release with a regression is `1.10.60` while master is currently sitting at `1.11.30`. *Note:* To perform this process, you must be a Chef employee.
+
+1. If the regression has not already been addressed, open a Pull Request against master with the fix.
+2. Wait until that Pull Request has been merged and `1.11.31` has passed all the necessary tests and is available in the current channel.
+3. Inspect the Git history and find the `SHA` associated with the Merge Commit for the Pull Request above.
+4. Apply the fix for the regression via a cherry-pick:
+ 1. Check out the stable release tag: `git checkout v1.10.60`
+ 2. Cherry Pick the SHA with the fix: `git cherry-pick SHA`
+ 3. Address any conflicts (if necessary)
+ 4. Tag the sha with the appropriate version: `git tag -a v1.10.61 -m "Release v1.10.61"`
+ 5. Push the new tag to origin: `git push origin --tags`
+5. Log in to Jenkins and trigger a `chef-trigger-release` job specifying the new tag as the `GIT_REF`.
+
## Component Versions
Chef has two sorts of component: ruby components like `berkshelf` and `test-kitchen`, and binary components like `openssl` and even `ruby` itself.
diff --git a/Rakefile b/Rakefile
index 98216cf5fd..5a6b224128 100644
--- a/Rakefile
+++ b/Rakefile
@@ -37,6 +37,22 @@ end
task "version:bump" => %w{version:bump_patch version:update}
task "version:bump" => %w{version:bump_patch version:update}
+task "version:bump_minor" do
+ Rake::Task["changelog:archive"].invoke
+ maj, min, _build = Chef::VERSION.split(".")
+ File.open("VERSION", "w+") { |f| f.write("#{maj}.#{min.to_i + 1}.0") }
+ Rake::Task["version"].invoke
+ Rake::Task["bundle:install"].invoke
+end
+
+task "version:bump_major" do
+ Rake::Task["changelog:archive"].invoke
+ maj, _min, _build = Chef::VERSION.split(".")
+ File.open("VERSION", "w+") { |f| f.write("#{maj.to_i + 1}.0.0") }
+ Rake::Task["version"].invoke
+ Rake::Task["bundle:install"].invoke
+end
+
task :pedant, :chef_zero_spec
task :build_eventlog do
diff --git a/VERSION b/VERSION
index aa7e750622..dfd39f4bf7 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-12.16.55 \ No newline at end of file
+12.17.0
diff --git a/chef-config/lib/chef-config/version.rb b/chef-config/lib/chef-config/version.rb
index 0e71cfc49a..a197885eb5 100644
--- a/chef-config/lib/chef-config/version.rb
+++ b/chef-config/lib/chef-config/version.rb
@@ -21,7 +21,7 @@
module ChefConfig
CHEFCONFIG_ROOT = File.expand_path("../..", __FILE__)
- VERSION = "12.16.55"
+ VERSION = "12.17.0"
end
#
diff --git a/ci/bundle_install.sh b/ci/bundle_install.sh
index 6c6d76dc5d..7f90f74964 100755
--- a/ci/bundle_install.sh
+++ b/ci/bundle_install.sh
@@ -5,5 +5,5 @@ set -evx
gem environment
bundler_version=$(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
gem install bundler -v $bundler_version --user-install --conservative
-export BUNDLE_WITHOUT=default:omnibus_package:test:pry:integration:docgen:maintenance:changelog:travis:aix:bsd:linux:mac_os_x:solaris:windows
+export BUNDLE_WITHOUT=default:omnibus_package:test:pry:integration:docgen:maintenance:travis:aix:bsd:linux:mac_os_x:solaris:windows
bundle _${bundler_version}_ install
diff --git a/ci/version_bump.sh b/ci/version_bump.sh
index dd53cebfd5..147442666a 100755
--- a/ci/version_bump.sh
+++ b/ci/version_bump.sh
@@ -5,5 +5,6 @@ set -evx
. ci/bundle_install.sh
bundle exec rake version:bump
+bundle exec rake changelog:update
git checkout .bundle/config
diff --git a/lib/chef/version.rb b/lib/chef/version.rb
index 188300cb65..4b1a6c6926 100644
--- a/lib/chef/version.rb
+++ b/lib/chef/version.rb
@@ -21,7 +21,7 @@
class Chef
CHEF_ROOT = File.expand_path("../..", __FILE__)
- VERSION = "12.16.55"
+ VERSION = "12.17.0"
end
#
diff --git a/tasks/changelog.rb b/tasks/changelog.rb
index c710409345..989c43845d 100644
--- a/tasks/changelog.rb
+++ b/tasks/changelog.rb
@@ -1,31 +1,30 @@
begin
require "github_changelog_generator/task"
- # Take the current changelog and move it to HISTORY.md. Should be done when
- # cutting a release
- task :archive_changelog do
- changelog = File.readlines("CHANGELOG.md")
- File.open("HISTORY.md", "w+") { |f| f.write(changelog[2..-1].join("")) }
- end
+ namespace :changelog do
+ # Take the current changelog and move it to HISTORY.md. Removes lines that
+ # would get duplicated the next time we pull HISTORY into the CHANGELOG.
+ task :archive do
+ changelog = File.readlines("CHANGELOG.md")
+ File.open("HISTORY.md", "w+") { |f| f.write(changelog[2..-4].join("")) }
+ end
- # Run this to just update the changelog for the current release. This will
- # take what is in History and generate a changelog of PRs between the most
- # recent tag in HISTORY.md and HEAD.
- GitHubChangelogGenerator::RakeTask.new :update_changelog do |config|
- config.future_release = Chef::VERSION
- config.between_tags = ["v#{Chef::VERSION}"]
- config.max_issues = 0
- config.add_issues_wo_labels = false
- config.enhancement_labels = "enhancement,Enhancement,New Feature,Feature".split(",")
- config.bug_labels = "bug,Bug,Improvement,Upstream Bug".split(",")
- config.exclude_labels = "duplicate,question,invalid,wontfix,no_changelog,Exclude From Changelog,Question,Discussion".split(",")
- config.header = "This changelog reflects the current state of chef's master branch on github and may not reflect the current released version of chef, which is [![Gem Version](https://badge.fury.io/rb/chef.svg)](https://badge.fury.io/rb/chef)"
+ # Run this to just update the changelog for the current release. This will
+ # take what is in History and generate a changelog of PRs between the most
+ # recent tag in HISTORY.md and HEAD.
+ GitHubChangelogGenerator::RakeTask.new :update do |config|
+ config.future_release = Chef::VERSION
+ config.between_tags = ["v#{Chef::VERSION}"]
+ config.max_issues = 0
+ config.add_issues_wo_labels = false
+ config.enhancement_labels = "enhancement,Enhancement,New Feature,Feature".split(",")
+ config.bug_labels = "bug,Bug,Improvement,Upstream Bug".split(",")
+ config.exclude_labels = "duplicate,question,invalid,wontfix,no_changelog,Exclude From Changelog,Question,Discussion".split(",")
+ config.header = "This changelog reflects the current state of chef's master branch on github and may not reflect the current released version of chef, which is [![Gem Version](https://badge.fury.io/rb/chef.svg)](https://badge.fury.io/rb/chef)"
+ end
end
- task :changelog do
- Rake::Task["archive_changelog"].execute
- Rake::Task["update_changelog"].execute
- end
+ task :changelog => "changelog:update"
rescue LoadError
puts "github_changelog_generator is not available. gem install github_changelog_generator to generate changelogs"
end