chef-dk 0.12.0 → 0.13.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +87 -30
- data/Gemfile.lock +721 -0
- data/Gemfile.windows +34 -0
- data/Gemfile.windows.lock +936 -0
- data/README.md +458 -307
- data/Rakefile +22 -29
- data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +7 -3
- data/acceptance/Gemfile +10 -11
- data/acceptance/Gemfile.lock +242 -0
- data/chef-dk.gemspec +67 -64
- data/lib/chef-dk/builtin_commands.rb +60 -60
- data/lib/chef-dk/command/verify.rb +564 -534
- data/lib/chef-dk/commands_map.rb +115 -115
- data/lib/chef-dk/component_test.rb +198 -194
- data/lib/chef-dk/version.rb +20 -20
- data/lib/kitchen/provisioner/policyfile_zero.rb +3 -2
- data/omnibus_overrides.rb +11 -0
- data/spec/unit/command/verify_spec.rb +334 -325
- data/tasks/bin/bundle-platform +15 -0
- data/tasks/bin/bundle-platform.bat +2 -0
- data/tasks/bundle.rb +80 -0
- data/tasks/bundle_util.rb +93 -0
- data/tasks/dependencies.rb +175 -0
- data/tasks/gemfile_util.rb +99 -0
- data/tasks/github_changelog_generator.rb +31 -0
- data/tasks/version.rb +48 -0
- data/version_policy.rb +112 -0
- metadata +17 -3
@@ -0,0 +1,31 @@
|
|
1
|
+
#
|
2
|
+
# Copyright:: Copyright (c) 2016 Chef Software Inc.
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
18
|
+
begin
|
19
|
+
require "github_changelog_generator/task"
|
20
|
+
|
21
|
+
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
|
22
|
+
config.user = "chef"
|
23
|
+
config.project = "chef-dk"
|
24
|
+
config.future_release = ChefDK::VERSION
|
25
|
+
config.enhancement_labels = "enhancement,Enhancement,New Feature,Feature".split(",")
|
26
|
+
config.bug_labels = "bug,Bug,Improvement,Upstream Bug".split(",")
|
27
|
+
config.exclude_labels = "duplicate,question,invalid,wontfix,no_changelog,Exclude From Changelog,Question,Discussion".split(",")
|
28
|
+
end
|
29
|
+
rescue LoadError
|
30
|
+
puts "github_changelog_generator is not available. gem install github_changelog_generator to generate changelogs"
|
31
|
+
end
|
data/tasks/version.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
#
|
2
|
+
# Copyright:: Copyright (c) 2016 Chef Software Inc.
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
18
|
+
namespace :version do
|
19
|
+
desc "Bump patch version in lib/chef-dk/version.rb and update Gemfile*.lock conservatively to include the new version. If Gemfile has changed, this will update modified constraints as well."
|
20
|
+
task :bump => 'version:bump_patch' do
|
21
|
+
# We need to update our Gemfile.lock(s) to include the new version. But let's
|
22
|
+
# not upgrade other stuff at the same time ...
|
23
|
+
Rake.application.invoke_task("dependencies:update[conservative]")
|
24
|
+
end
|
25
|
+
|
26
|
+
desc "Show the current version."
|
27
|
+
task :show do
|
28
|
+
puts ChefDK::VERSION
|
29
|
+
end
|
30
|
+
|
31
|
+
def version_rb_path
|
32
|
+
File.expand_path("../../lib/chef-dk/version.rb", __FILE__)
|
33
|
+
end
|
34
|
+
|
35
|
+
# Add 1 to the current patch version in the VERSION file, and write it back out.
|
36
|
+
desc "Bump the patch version in lib/chef-dk/version.rb."
|
37
|
+
task :bump_patch do
|
38
|
+
current_version_file = IO.read(version_rb_path)
|
39
|
+
new_version = nil
|
40
|
+
new_version_file = current_version_file.sub(/^(\s*VERSION\s*=\s*")(\d+\.\d+\.)(\d+)/) do
|
41
|
+
new_version = "#{$2}#{$3.to_i + 1}"
|
42
|
+
"#{$1}#{new_version}"
|
43
|
+
end
|
44
|
+
puts "Updating version in #{version_rb_path} from #{ChefDK::VERSION} to #{new_version.chomp}"
|
45
|
+
IO.write(version_rb_path, new_version_file)
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
data/version_policy.rb
ADDED
@@ -0,0 +1,112 @@
|
|
1
|
+
#
|
2
|
+
# Copyright:: Copyright (c) 2016 Chef Software Inc.
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
18
|
+
# Explicit omnibus overrides.
|
19
|
+
OMNIBUS_OVERRIDES = {
|
20
|
+
# Lower level library pins
|
21
|
+
libedit: "20130712-3.1",
|
22
|
+
## according to comment in omnibus-sw, latest versions don't work on solaris
|
23
|
+
# https://github.com/chef/omnibus-software/blob/aefb7e79d29ca746c3f843673ef5e317fa3cba54/config/software/libtool.rb#L23
|
24
|
+
libtool: "2.4.2",
|
25
|
+
libxslt: "1.1.28",
|
26
|
+
makedepend: "1.0.5",
|
27
|
+
ruby: "2.1.8",
|
28
|
+
:"util-macros" => "1.19.0",
|
29
|
+
xproto: "7.0.28",
|
30
|
+
zlib: "1.2.8",
|
31
|
+
# libffi: "3.2.1",
|
32
|
+
# libiconv: "1.14",
|
33
|
+
# liblzma: "5.2.2",
|
34
|
+
# libxml2: "2.9.3",
|
35
|
+
# ncurses: "5.9",
|
36
|
+
# :"pkg-config-lite" => "0.28-1",
|
37
|
+
# libyaml: "0.1.6",
|
38
|
+
|
39
|
+
## These can float as they are frequently updated in a way that works for us
|
40
|
+
#override cacerts: "???",
|
41
|
+
#override openssl: "???",
|
42
|
+
}
|
43
|
+
|
44
|
+
#
|
45
|
+
# rake dependencies:update_omnibus_overrides (tasks/dependencies.rb) reads this
|
46
|
+
# and modifies omnibus_overrides.rb
|
47
|
+
#
|
48
|
+
# The left side is the software definition name, and the right side is the
|
49
|
+
# name of the rubygem (gem list -re <rubygem name> gets us the latest version).
|
50
|
+
#
|
51
|
+
OMNIBUS_RUBYGEMS_AT_LATEST_VERSION = {
|
52
|
+
rubygems: "rubygems-update",
|
53
|
+
bundler: "bundler"
|
54
|
+
}
|
55
|
+
|
56
|
+
#
|
57
|
+
# rake dependencies:check (tasks/dependencies.rb) uses this as a list of gems
|
58
|
+
# that are allowed to be outdated according to `bundle updated`
|
59
|
+
#
|
60
|
+
# Once you decide that the list of outdated gems is OK, you can just
|
61
|
+
# add gems to the output of bundle outdated here and we'll parse it to get the
|
62
|
+
# list of outdated gems.
|
63
|
+
#
|
64
|
+
# We're starting with debt here, but don't want it to get worse.
|
65
|
+
#
|
66
|
+
ACCEPTABLE_OUTDATED_GEMS = %w{
|
67
|
+
celluloid
|
68
|
+
celluloid-io
|
69
|
+
docker-api
|
70
|
+
fog-cloudatcost
|
71
|
+
fog-google
|
72
|
+
gherkin
|
73
|
+
google-api-client
|
74
|
+
jwt
|
75
|
+
mime-types
|
76
|
+
mini_portile2
|
77
|
+
retriable
|
78
|
+
rubocop
|
79
|
+
slop
|
80
|
+
timers
|
81
|
+
unicode-display_width
|
82
|
+
varia_model
|
83
|
+
}
|
84
|
+
|
85
|
+
#
|
86
|
+
# Some gems are part of our bundle (must be installed) but not important
|
87
|
+
# enough to lock. We allow `bundle install` in test-kitchen, berks, etc.
|
88
|
+
# to use their own versions of these.
|
89
|
+
#
|
90
|
+
# This mainly tells you which gems `chef verify` allows you to install and
|
91
|
+
# run.
|
92
|
+
#
|
93
|
+
GEMS_ALLOWED_TO_FLOAT = [
|
94
|
+
"rubocop", # different projects disagree in their dev dependencies
|
95
|
+
"unicode-display_width", # dep of rubocop
|
96
|
+
"powerpack", # dep of rubocop
|
97
|
+
]
|
98
|
+
|
99
|
+
#
|
100
|
+
# The list of groups we install without: this drives both the `bundle install`
|
101
|
+
# we do in chef-dk, and the `bundle check` we do to ensure installed gems don't
|
102
|
+
# have extra deps hiding in their Gemfiles.
|
103
|
+
#
|
104
|
+
INSTALL_WITHOUT_GROUPS = %w{
|
105
|
+
development
|
106
|
+
test
|
107
|
+
guard
|
108
|
+
maintenance
|
109
|
+
tools
|
110
|
+
integration
|
111
|
+
changelog
|
112
|
+
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-dk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel DeLeo
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-04-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mixlib-cli
|
@@ -238,6 +238,9 @@ extra_rdoc_files: []
|
|
238
238
|
files:
|
239
239
|
- CONTRIBUTING.md
|
240
240
|
- Gemfile
|
241
|
+
- Gemfile.lock
|
242
|
+
- Gemfile.windows
|
243
|
+
- Gemfile.windows.lock
|
241
244
|
- LICENSE
|
242
245
|
- README.md
|
243
246
|
- Rakefile
|
@@ -247,6 +250,7 @@ files:
|
|
247
250
|
- acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb
|
248
251
|
- acceptance/.shared/kitchen_acceptance/metadata.rb
|
249
252
|
- acceptance/Gemfile
|
253
|
+
- acceptance/Gemfile.lock
|
250
254
|
- acceptance/README.md
|
251
255
|
- acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore
|
252
256
|
- acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb
|
@@ -402,6 +406,7 @@ files:
|
|
402
406
|
- lib/chef-dk/ui.rb
|
403
407
|
- lib/chef-dk/version.rb
|
404
408
|
- lib/kitchen/provisioner/policyfile_zero.rb
|
409
|
+
- omnibus_overrides.rb
|
405
410
|
- spec/shared/a_file_generator.rb
|
406
411
|
- spec/shared/a_generated_file.rb
|
407
412
|
- spec/shared/command_with_ui_object.rb
|
@@ -575,6 +580,15 @@ files:
|
|
575
580
|
- spec/unit/service_exception_inspectors/base_spec.rb
|
576
581
|
- spec/unit/service_exception_inspectors/http_spec.rb
|
577
582
|
- spec/unit/shell_out_spec.rb
|
583
|
+
- tasks/bin/bundle-platform
|
584
|
+
- tasks/bin/bundle-platform.bat
|
585
|
+
- tasks/bundle.rb
|
586
|
+
- tasks/bundle_util.rb
|
587
|
+
- tasks/dependencies.rb
|
588
|
+
- tasks/gemfile_util.rb
|
589
|
+
- tasks/github_changelog_generator.rb
|
590
|
+
- tasks/version.rb
|
591
|
+
- version_policy.rb
|
578
592
|
- warning.txt
|
579
593
|
homepage: https://www.chef.io/
|
580
594
|
licenses: []
|
@@ -604,7 +618,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
604
618
|
version: '0'
|
605
619
|
requirements: []
|
606
620
|
rubyforge_project:
|
607
|
-
rubygems_version: 2.
|
621
|
+
rubygems_version: 2.6.3
|
608
622
|
signing_key:
|
609
623
|
specification_version: 4
|
610
624
|
summary: A streamlined development and deployment workflow for Chef platform.
|