chef-dk 1.0.3 → 1.1.16
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/Gemfile +9 -2
- data/Gemfile.lock +81 -57
- data/Rakefile +1 -0
- data/acceptance/Gemfile.lock +29 -23
- data/chef-dk.gemspec +0 -1
- data/lib/chef-dk/command/generator_commands/cookbook.rb +1 -1
- data/lib/chef-dk/generator.rb +5 -5
- data/lib/chef-dk/skeletons/code_generator/files/default/delivery-config.json +3 -1
- data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +2 -2
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +2 -2
- data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +16 -5
- data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/recipe.rb.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/inspec_default_test.rb.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +8 -4
- data/lib/chef-dk/skeletons/code_generator/templates/default/recipe.rb.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/recipe_spec.rb.erb +1 -1
- data/lib/chef-dk/version.rb +1 -1
- data/spec/unit/command/generator_commands/app_spec.rb +6 -6
- data/spec/unit/command/generator_commands/cookbook_spec.rb +13 -11
- data/spec/unit/command/generator_commands/recipe_spec.rb +1 -1
- data/spec/unit/generator_spec.rb +1 -1
- data/tasks/announce.rb +58 -0
- data/tasks/github_changelog_generator.rb +27 -9
- data/tasks/templates/prerelease.md.erb +35 -0
- data/tasks/templates/release.md.erb +34 -0
- data/tasks/version.rb +6 -0
- metadata +5 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: afccc47a23300a0cb2b6e842e38d27f15360586c
|
|
4
|
+
data.tar.gz: 8b1be04f2a755078caa2d95bd70e34ba798065a0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cf44e64920b4a009cf8ffc41ebd7f5ca2be7e8eae2de5617c71285773cfdc4557b3a96d027d13b7a46c57ab6d2448e0f9d0c474c60f69d662974168ffb6b55f7
|
|
7
|
+
data.tar.gz: c00feeb0ee230fab0cf1de8ac0f63667560c702ea4bb81572f9ea116829ee8751971ad60ddecacb3857bbb49f531429f6b4ce328400f79aab6db78214df549d6
|
data/Gemfile
CHANGED
|
@@ -52,7 +52,7 @@ group(:omnibus_package) do
|
|
|
52
52
|
gem "chef-provisioning-vagrant", ">= 0.11.0"
|
|
53
53
|
gem "chef-vault"
|
|
54
54
|
# The chef version is pinned by "rake dependencies", which grabs the current version from omnibus.
|
|
55
|
-
gem "chef", github: "chef/chef", branch: "v12.
|
|
55
|
+
gem "chef", github: "chef/chef", branch: "v12.17.44"
|
|
56
56
|
gem "cheffish", ">= 4.0"
|
|
57
57
|
gem "chefspec"
|
|
58
58
|
gem "fauxhai"
|
|
@@ -67,7 +67,7 @@ group(:omnibus_package) do
|
|
|
67
67
|
gem "ohai", ">= 8.13.0"
|
|
68
68
|
gem "test-kitchen"
|
|
69
69
|
gem "listen"
|
|
70
|
-
gem "
|
|
70
|
+
gem "dco"
|
|
71
71
|
|
|
72
72
|
# For Delivery build node
|
|
73
73
|
gem "chef-sugar"
|
|
@@ -98,6 +98,13 @@ group(:linux, :bsd, :mac_os_x, :solaris) do
|
|
|
98
98
|
gem "ruby-shadow", platform: :ruby
|
|
99
99
|
end
|
|
100
100
|
|
|
101
|
+
group(:changelog) do
|
|
102
|
+
gem "github_changelog_generator", git: "https://github.com/tduffield/github-changelog-generator", branch: "adjust-tag-section-mapping"
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# mixlib-install is used by two groups
|
|
106
|
+
gem 'mixlib-install', :group => [:changelog, :omnibus_package]
|
|
107
|
+
|
|
101
108
|
# TODO delete this when we figure out how to include the pushy windows dependencies
|
|
102
109
|
# correctly
|
|
103
110
|
platforms :mswin, :mingw do
|
data/Gemfile.lock
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
GIT
|
|
2
2
|
remote: git://github.com/chef/appbundler.git
|
|
3
|
-
revision:
|
|
3
|
+
revision: 6582b68884453b5ca5c962458a0c08046c719558
|
|
4
4
|
specs:
|
|
5
|
-
appbundler (0.
|
|
5
|
+
appbundler (0.10.0)
|
|
6
6
|
mixlib-cli (~> 1.4)
|
|
7
7
|
|
|
8
8
|
GIT
|
|
9
9
|
remote: git://github.com/chef/chef.git
|
|
10
|
-
revision:
|
|
11
|
-
branch: v12.
|
|
10
|
+
revision: 066935169905ad96b553520160b3678497c0284b
|
|
11
|
+
branch: v12.17.44
|
|
12
12
|
specs:
|
|
13
|
-
chef (12.
|
|
13
|
+
chef (12.17.44)
|
|
14
14
|
addressable
|
|
15
15
|
bundler (>= 1.10)
|
|
16
|
-
chef-config (= 12.
|
|
16
|
+
chef-config (= 12.17.44)
|
|
17
17
|
chef-zero (>= 4.8)
|
|
18
18
|
diff-lcs (~> 1.2, >= 1.2.4)
|
|
19
19
|
erubis (~> 2.7)
|
|
@@ -39,10 +39,10 @@ GIT
|
|
|
39
39
|
specinfra (~> 2.10)
|
|
40
40
|
syslog-logger (~> 1.6)
|
|
41
41
|
uuidtools (~> 2.1.5)
|
|
42
|
-
chef (12.
|
|
42
|
+
chef (12.17.44-universal-mingw32)
|
|
43
43
|
addressable
|
|
44
44
|
bundler (>= 1.10)
|
|
45
|
-
chef-config (= 12.
|
|
45
|
+
chef-config (= 12.17.44)
|
|
46
46
|
chef-zero (>= 4.8)
|
|
47
47
|
diff-lcs (~> 1.2, >= 1.2.4)
|
|
48
48
|
erubis (~> 2.7)
|
|
@@ -79,7 +79,7 @@ GIT
|
|
|
79
79
|
win32-service (~> 0.8.7)
|
|
80
80
|
windows-api (~> 0.4.4)
|
|
81
81
|
wmi-lite (~> 1.0)
|
|
82
|
-
chef-config (12.
|
|
82
|
+
chef-config (12.17.44)
|
|
83
83
|
addressable
|
|
84
84
|
fuzzyurl
|
|
85
85
|
mixlib-config (~> 2.0)
|
|
@@ -96,10 +96,24 @@ GIT
|
|
|
96
96
|
ohai
|
|
97
97
|
uuidtools
|
|
98
98
|
|
|
99
|
+
GIT
|
|
100
|
+
remote: https://github.com/tduffield/github-changelog-generator
|
|
101
|
+
revision: 8effcdd6988617b453669965fedc1280aa84bd7a
|
|
102
|
+
branch: adjust-tag-section-mapping
|
|
103
|
+
specs:
|
|
104
|
+
github_changelog_generator (1.14.2)
|
|
105
|
+
activesupport
|
|
106
|
+
faraday-http-cache
|
|
107
|
+
multi_json
|
|
108
|
+
octokit (~> 4.6)
|
|
109
|
+
rainbow (>= 2.1)
|
|
110
|
+
rake (>= 10.0)
|
|
111
|
+
retriable (>= 1.4)
|
|
112
|
+
|
|
99
113
|
PATH
|
|
100
114
|
remote: .
|
|
101
115
|
specs:
|
|
102
|
-
chef-dk (1.
|
|
116
|
+
chef-dk (1.1.16)
|
|
103
117
|
chef (~> 12.5)
|
|
104
118
|
chef-provisioning (~> 2.0)
|
|
105
119
|
cookbook-omnifetch (~> 0.2, >= 0.2.2)
|
|
@@ -114,7 +128,7 @@ PATH
|
|
|
114
128
|
GEM
|
|
115
129
|
remote: https://rubygems.org/
|
|
116
130
|
specs:
|
|
117
|
-
CFPropertyList (2.3.
|
|
131
|
+
CFPropertyList (2.3.4)
|
|
118
132
|
activesupport (4.2.7.1)
|
|
119
133
|
i18n (~> 0.7)
|
|
120
134
|
json (~> 1.7, >= 1.7.7)
|
|
@@ -130,15 +144,17 @@ GEM
|
|
|
130
144
|
addressable (>= 2.3.1)
|
|
131
145
|
extlib (>= 0.9.15)
|
|
132
146
|
multi_json (>= 1.0.0)
|
|
133
|
-
aws-sdk (2.6.
|
|
134
|
-
aws-sdk-resources (= 2.6.
|
|
135
|
-
aws-sdk-core (2.6.
|
|
147
|
+
aws-sdk (2.6.35)
|
|
148
|
+
aws-sdk-resources (= 2.6.35)
|
|
149
|
+
aws-sdk-core (2.6.35)
|
|
150
|
+
aws-sigv4 (~> 1.0)
|
|
136
151
|
jmespath (~> 1.0)
|
|
137
|
-
aws-sdk-resources (2.6.
|
|
138
|
-
aws-sdk-core (= 2.6.
|
|
152
|
+
aws-sdk-resources (2.6.35)
|
|
153
|
+
aws-sdk-core (= 2.6.35)
|
|
139
154
|
aws-sdk-v1 (1.66.0)
|
|
140
155
|
json (~> 1.4)
|
|
141
156
|
nokogiri (>= 1.4.4)
|
|
157
|
+
aws-sigv4 (1.0.0)
|
|
142
158
|
backports (3.6.8)
|
|
143
159
|
berkshelf (5.2.0)
|
|
144
160
|
addressable (~> 2.3, >= 2.3.4)
|
|
@@ -185,10 +201,10 @@ GEM
|
|
|
185
201
|
net-ssh (>= 2.9, < 4.0)
|
|
186
202
|
net-ssh-gateway (~> 1.2.0)
|
|
187
203
|
winrm-fs (~> 1.0)
|
|
188
|
-
chef-provisioning-aws (2.
|
|
204
|
+
chef-provisioning-aws (2.1.0)
|
|
189
205
|
aws-sdk (>= 2.1.26, < 3.0)
|
|
190
206
|
aws-sdk-v1 (>= 1.59.0)
|
|
191
|
-
chef-provisioning (
|
|
207
|
+
chef-provisioning (>= 1.0, < 3.0)
|
|
192
208
|
retryable (~> 2.0, >= 2.0.1)
|
|
193
209
|
ubuntu_ami (~> 0.4, >= 0.4.1)
|
|
194
210
|
chef-provisioning-azure (0.6.0)
|
|
@@ -222,8 +238,8 @@ GEM
|
|
|
222
238
|
coderay (1.1.1)
|
|
223
239
|
cookbook-omnifetch (0.2.3)
|
|
224
240
|
minitar (~> 0.5.4)
|
|
225
|
-
cookstyle (
|
|
226
|
-
rubocop (= 0.
|
|
241
|
+
cookstyle (1.1.0)
|
|
242
|
+
rubocop (= 0.46.0)
|
|
227
243
|
cucumber (2.4.0)
|
|
228
244
|
builder (>= 2.1.2)
|
|
229
245
|
cucumber-core (~> 1.5.0)
|
|
@@ -235,6 +251,9 @@ GEM
|
|
|
235
251
|
cucumber-core (1.5.0)
|
|
236
252
|
gherkin (~> 4.0)
|
|
237
253
|
cucumber-wire (0.0.1)
|
|
254
|
+
dco (1.0.1)
|
|
255
|
+
git (~> 1.3)
|
|
256
|
+
thor (~> 0.19)
|
|
238
257
|
debug_inspector (0.0.2)
|
|
239
258
|
dep-selector-libgecode (1.3.1)
|
|
240
259
|
dep_selector (1.0.4)
|
|
@@ -242,7 +261,7 @@ GEM
|
|
|
242
261
|
ffi (~> 1.9)
|
|
243
262
|
diff-lcs (1.2.5)
|
|
244
263
|
diffy (3.1.0)
|
|
245
|
-
docker-api (1.
|
|
264
|
+
docker-api (1.33.0)
|
|
246
265
|
excon (>= 0.38.0)
|
|
247
266
|
json
|
|
248
267
|
erubis (2.7.0)
|
|
@@ -250,6 +269,8 @@ GEM
|
|
|
250
269
|
extlib (0.9.16)
|
|
251
270
|
faraday (0.9.2)
|
|
252
271
|
multipart-post (>= 1.2, < 3)
|
|
272
|
+
faraday-http-cache (2.0.0)
|
|
273
|
+
faraday (~> 0.8)
|
|
253
274
|
fauxhai (3.10.0)
|
|
254
275
|
net-ssh
|
|
255
276
|
ffi (1.9.14)
|
|
@@ -301,7 +322,7 @@ GEM
|
|
|
301
322
|
fog-atmos (0.1.0)
|
|
302
323
|
fog-core
|
|
303
324
|
fog-xml
|
|
304
|
-
fog-aws (0.
|
|
325
|
+
fog-aws (1.0.0)
|
|
305
326
|
fog-core (~> 1.38)
|
|
306
327
|
fog-json (~> 1.0)
|
|
307
328
|
fog-xml (~> 0.1)
|
|
@@ -340,7 +361,7 @@ GEM
|
|
|
340
361
|
multi_json (~> 1.10)
|
|
341
362
|
fog-local (0.3.1)
|
|
342
363
|
fog-core (~> 1.27)
|
|
343
|
-
fog-openstack (0.1.
|
|
364
|
+
fog-openstack (0.1.18)
|
|
344
365
|
fog-core (>= 1.40)
|
|
345
366
|
fog-json (>= 1.0)
|
|
346
367
|
ipaddress (>= 0.8)
|
|
@@ -385,7 +406,7 @@ GEM
|
|
|
385
406
|
fog-voxel (0.1.0)
|
|
386
407
|
fog-core
|
|
387
408
|
fog-xml
|
|
388
|
-
fog-vsphere (1.5.
|
|
409
|
+
fog-vsphere (1.5.2)
|
|
389
410
|
fog-core
|
|
390
411
|
rbvmomi (~> 1.9)
|
|
391
412
|
fog-xenserver (0.2.3)
|
|
@@ -442,12 +463,12 @@ GEM
|
|
|
442
463
|
highline (1.7.8)
|
|
443
464
|
hitimes (1.2.4)
|
|
444
465
|
hitimes (1.2.4-x86-mingw32)
|
|
445
|
-
httpclient (2.8.
|
|
466
|
+
httpclient (2.8.3)
|
|
446
467
|
i18n (0.7.0)
|
|
447
468
|
inflecto (0.0.2)
|
|
448
469
|
inifile (3.0.0)
|
|
449
470
|
iniparse (1.4.2)
|
|
450
|
-
inspec (1.
|
|
471
|
+
inspec (1.7.2)
|
|
451
472
|
hashie (~> 3.4)
|
|
452
473
|
json (>= 1.8, < 3.0)
|
|
453
474
|
method_source (~> 0.8)
|
|
@@ -457,38 +478,39 @@ GEM
|
|
|
457
478
|
rainbow (~> 2)
|
|
458
479
|
rspec (~> 3)
|
|
459
480
|
rspec-its (~> 1.2)
|
|
481
|
+
rspec_junit_formatter (~> 0.2.3)
|
|
460
482
|
rubyzip (~> 1.1)
|
|
461
483
|
sslshake (~> 1)
|
|
462
484
|
thor (~> 0.19)
|
|
463
|
-
train (>= 0.
|
|
485
|
+
train (>= 0.22.0, < 1.0)
|
|
464
486
|
ipaddress (0.8.3)
|
|
465
487
|
jmespath (1.3.1)
|
|
466
488
|
json (1.8.3)
|
|
467
489
|
jwt (1.5.6)
|
|
468
|
-
kitchen-dokken (1.0.
|
|
469
|
-
docker-api (~> 1.
|
|
470
|
-
test-kitchen (~> 1.
|
|
490
|
+
kitchen-dokken (1.0.9)
|
|
491
|
+
docker-api (~> 1.32)
|
|
492
|
+
test-kitchen (~> 1.13)
|
|
471
493
|
kitchen-ec2 (1.2.0)
|
|
472
494
|
aws-sdk (~> 2)
|
|
473
495
|
excon
|
|
474
496
|
multi_json
|
|
475
497
|
retryable (~> 2.0)
|
|
476
498
|
test-kitchen (~> 1.4, >= 1.4.1)
|
|
477
|
-
kitchen-inspec (0.
|
|
499
|
+
kitchen-inspec (0.17.0)
|
|
478
500
|
hashie (~> 3.4)
|
|
479
501
|
inspec (>= 0.34.0, < 2.0.0)
|
|
480
502
|
test-kitchen (~> 1.6)
|
|
481
|
-
kitchen-vagrant (0.
|
|
503
|
+
kitchen-vagrant (0.21.1)
|
|
482
504
|
test-kitchen (~> 1.4)
|
|
483
505
|
knife-opc (0.3.2)
|
|
484
506
|
knife-push (1.0.2)
|
|
485
507
|
chef (>= 12.7.2)
|
|
486
|
-
knife-spork (1.6.
|
|
508
|
+
knife-spork (1.6.3)
|
|
487
509
|
app_conf (>= 0.4.0)
|
|
488
510
|
chef (>= 11.0.0)
|
|
489
511
|
diffy (>= 3.0.1)
|
|
490
512
|
git (>= 1.2.5)
|
|
491
|
-
knife-windows (1.7.
|
|
513
|
+
knife-windows (1.7.1)
|
|
492
514
|
winrm (~> 2.1)
|
|
493
515
|
winrm-elevated (~> 1.0)
|
|
494
516
|
launchy (2.4.3)
|
|
@@ -512,14 +534,14 @@ GEM
|
|
|
512
534
|
mime-types-data (3.2016.0521)
|
|
513
535
|
mini_portile2 (2.1.0)
|
|
514
536
|
minitar (0.5.4)
|
|
515
|
-
minitest (5.
|
|
537
|
+
minitest (5.10.1)
|
|
516
538
|
mixlib-archive (0.2.0)
|
|
517
539
|
mixlib-log
|
|
518
540
|
mixlib-authentication (1.4.1)
|
|
519
541
|
mixlib-log
|
|
520
542
|
mixlib-cli (1.7.0)
|
|
521
543
|
mixlib-config (2.2.4)
|
|
522
|
-
mixlib-install (2.1.
|
|
544
|
+
mixlib-install (2.1.9)
|
|
523
545
|
artifactory
|
|
524
546
|
mixlib-shellout
|
|
525
547
|
mixlib-versioning
|
|
@@ -555,9 +577,9 @@ GEM
|
|
|
555
577
|
notiffany (0.1.1)
|
|
556
578
|
nenv (~> 0.1)
|
|
557
579
|
shellany (~> 0.0)
|
|
558
|
-
octokit (4.6.
|
|
580
|
+
octokit (4.6.2)
|
|
559
581
|
sawyer (~> 0.8.0, >= 0.5.3)
|
|
560
|
-
ohai (8.
|
|
582
|
+
ohai (8.22.1)
|
|
561
583
|
chef-config (>= 12.5.0.alpha.1, < 13)
|
|
562
584
|
ffi (~> 1.9)
|
|
563
585
|
ffi-yajl (~> 2.2)
|
|
@@ -571,8 +593,8 @@ GEM
|
|
|
571
593
|
wmi-lite (~> 1.0)
|
|
572
594
|
os (0.9.6)
|
|
573
595
|
paint (1.0.1)
|
|
574
|
-
parallel (1.
|
|
575
|
-
parser (2.3.1
|
|
596
|
+
parallel (1.10.0)
|
|
597
|
+
parser (2.3.3.1)
|
|
576
598
|
ast (~> 2.2)
|
|
577
599
|
plist (3.2.0)
|
|
578
600
|
polyglot (0.3.5)
|
|
@@ -582,7 +604,7 @@ GEM
|
|
|
582
604
|
coderay (~> 1.1.0)
|
|
583
605
|
method_source (~> 0.8.1)
|
|
584
606
|
slop (~> 3.4)
|
|
585
|
-
pry-byebug (3.4.
|
|
607
|
+
pry-byebug (3.4.2)
|
|
586
608
|
byebug (~> 9.0)
|
|
587
609
|
pry (~> 0.10)
|
|
588
610
|
pry-remote (0.1.8)
|
|
@@ -594,7 +616,7 @@ GEM
|
|
|
594
616
|
public_suffix (2.0.4)
|
|
595
617
|
rack (2.0.1)
|
|
596
618
|
rainbow (2.1.0)
|
|
597
|
-
rake (
|
|
619
|
+
rake (12.0.0)
|
|
598
620
|
rb-fsevent (0.9.8)
|
|
599
621
|
rb-inotify (0.9.7)
|
|
600
622
|
ffi (>= 0.5.0)
|
|
@@ -645,8 +667,8 @@ GEM
|
|
|
645
667
|
rspec_junit_formatter (0.2.3)
|
|
646
668
|
builder (< 4)
|
|
647
669
|
rspec-core (>= 2, < 4, != 2.12.0)
|
|
648
|
-
rubocop (0.
|
|
649
|
-
parser (>= 2.3.
|
|
670
|
+
rubocop (0.46.0)
|
|
671
|
+
parser (>= 2.3.1.1, < 3.0)
|
|
650
672
|
powerpack (~> 0.1)
|
|
651
673
|
rainbow (>= 1.99.1, < 3.0)
|
|
652
674
|
ruby-progressbar (~> 1.7)
|
|
@@ -659,9 +681,9 @@ GEM
|
|
|
659
681
|
rubyzip (1.2.0)
|
|
660
682
|
rufus-lru (1.1.0)
|
|
661
683
|
safe_yaml (1.0.4)
|
|
662
|
-
sawyer (0.8.
|
|
684
|
+
sawyer (0.8.1)
|
|
663
685
|
addressable (>= 2.3.5, < 2.6)
|
|
664
|
-
faraday (~> 0.8, < 0
|
|
686
|
+
faraday (~> 0.8, < 1.0)
|
|
665
687
|
semverse (2.0.0)
|
|
666
688
|
serverspec (2.37.2)
|
|
667
689
|
multi_json
|
|
@@ -676,10 +698,10 @@ GEM
|
|
|
676
698
|
jwt (~> 1.5)
|
|
677
699
|
multi_json (~> 1.10)
|
|
678
700
|
slop (3.6.0)
|
|
679
|
-
solve (3.0
|
|
680
|
-
molinillo (
|
|
701
|
+
solve (3.1.0)
|
|
702
|
+
molinillo (>= 0.5)
|
|
681
703
|
semverse (>= 1.1, < 3.0)
|
|
682
|
-
specinfra (2.66.
|
|
704
|
+
specinfra (2.66.2)
|
|
683
705
|
net-scp
|
|
684
706
|
net-ssh (>= 2.7, < 4.0)
|
|
685
707
|
net-telnet
|
|
@@ -693,7 +715,7 @@ GEM
|
|
|
693
715
|
uuid (~> 2.0)
|
|
694
716
|
syslog-logger (1.6.8)
|
|
695
717
|
systemu (2.6.5)
|
|
696
|
-
test-kitchen (1.
|
|
718
|
+
test-kitchen (1.14.2)
|
|
697
719
|
mixlib-install (>= 1.2, < 3.0)
|
|
698
720
|
mixlib-shellout (>= 1.2, < 3.0)
|
|
699
721
|
net-scp (~> 1.1)
|
|
@@ -701,11 +723,11 @@ GEM
|
|
|
701
723
|
net-ssh-gateway (~> 1.2.0)
|
|
702
724
|
safe_yaml (~> 1.0)
|
|
703
725
|
thor (~> 0.18)
|
|
704
|
-
thor (0.19.
|
|
726
|
+
thor (0.19.4)
|
|
705
727
|
thread_safe (0.3.5)
|
|
706
728
|
timers (4.0.4)
|
|
707
729
|
hitimes
|
|
708
|
-
train (0.
|
|
730
|
+
train (0.22.0)
|
|
709
731
|
docker-api (~> 1.26)
|
|
710
732
|
json (>= 1.8, < 3.0)
|
|
711
733
|
mixlib-shellout (~> 2.0)
|
|
@@ -719,7 +741,7 @@ GEM
|
|
|
719
741
|
tzinfo (1.2.2)
|
|
720
742
|
thread_safe (~> 0.1)
|
|
721
743
|
ubuntu_ami (0.4.1)
|
|
722
|
-
unicode-display_width (1.1.
|
|
744
|
+
unicode-display_width (1.1.2)
|
|
723
745
|
uuid (2.3.8)
|
|
724
746
|
macaddr (~> 1.0)
|
|
725
747
|
uuidtools (2.1.5)
|
|
@@ -741,7 +763,7 @@ GEM
|
|
|
741
763
|
win32-ipc (>= 0.6.0)
|
|
742
764
|
win32-process (0.8.3)
|
|
743
765
|
ffi (>= 1.0.0)
|
|
744
|
-
win32-service (0.8.
|
|
766
|
+
win32-service (0.8.10)
|
|
745
767
|
ffi
|
|
746
768
|
ffi-win32-extensions
|
|
747
769
|
windows-api (0.4.4)
|
|
@@ -758,10 +780,10 @@ GEM
|
|
|
758
780
|
logging (>= 1.6.1, < 3.0)
|
|
759
781
|
nori (~> 2.0)
|
|
760
782
|
rubyntlm (~> 0.6.0, >= 0.6.1)
|
|
761
|
-
winrm-elevated (1.0
|
|
783
|
+
winrm-elevated (1.1.0)
|
|
762
784
|
winrm (~> 2.0)
|
|
763
785
|
winrm-fs (~> 1.0)
|
|
764
|
-
winrm-fs (1.0.
|
|
786
|
+
winrm-fs (1.0.1)
|
|
765
787
|
erubis (~> 2.7)
|
|
766
788
|
logging (>= 1.6.1, < 3.0)
|
|
767
789
|
rubyzip (~> 1.1)
|
|
@@ -792,12 +814,14 @@ DEPENDENCIES
|
|
|
792
814
|
chefspec
|
|
793
815
|
cookstyle
|
|
794
816
|
cucumber
|
|
817
|
+
dco
|
|
795
818
|
dep-selector-libgecode
|
|
796
819
|
dep_selector
|
|
797
820
|
fauxhai
|
|
798
821
|
ffi
|
|
799
822
|
ffi-rzmq-core
|
|
800
823
|
foodcritic (>= 8.0)
|
|
824
|
+
github_changelog_generator!
|
|
801
825
|
guard
|
|
802
826
|
inspec (>= 0.17.1)
|
|
803
827
|
kitchen-dokken
|
|
@@ -839,4 +863,4 @@ DEPENDENCIES
|
|
|
839
863
|
yard
|
|
840
864
|
|
|
841
865
|
BUNDLED WITH
|
|
842
|
-
1.
|
|
866
|
+
1.12.5
|
data/Rakefile
CHANGED
data/acceptance/Gemfile.lock
CHANGED
|
@@ -12,12 +12,14 @@ GEM
|
|
|
12
12
|
addressable (2.5.0)
|
|
13
13
|
public_suffix (~> 2.0, >= 2.0.2)
|
|
14
14
|
artifactory (2.5.1)
|
|
15
|
-
aws-sdk (2.6.
|
|
16
|
-
aws-sdk-resources (= 2.6.
|
|
17
|
-
aws-sdk-core (2.6.
|
|
15
|
+
aws-sdk (2.6.35)
|
|
16
|
+
aws-sdk-resources (= 2.6.35)
|
|
17
|
+
aws-sdk-core (2.6.35)
|
|
18
|
+
aws-sigv4 (~> 1.0)
|
|
18
19
|
jmespath (~> 1.0)
|
|
19
|
-
aws-sdk-resources (2.6.
|
|
20
|
-
aws-sdk-core (= 2.6.
|
|
20
|
+
aws-sdk-resources (2.6.35)
|
|
21
|
+
aws-sdk-core (= 2.6.35)
|
|
22
|
+
aws-sigv4 (1.0.0)
|
|
21
23
|
berkshelf (5.2.0)
|
|
22
24
|
addressable (~> 2.3, >= 2.3.4)
|
|
23
25
|
berkshelf-api-client (>= 2.0.2, < 4.0)
|
|
@@ -52,7 +54,7 @@ GEM
|
|
|
52
54
|
celluloid-io (0.16.2)
|
|
53
55
|
celluloid (>= 0.16.0)
|
|
54
56
|
nio4r (>= 1.1.0)
|
|
55
|
-
chef-config (12.
|
|
57
|
+
chef-config (12.17.44)
|
|
56
58
|
addressable
|
|
57
59
|
fuzzyurl
|
|
58
60
|
mixlib-config (~> 2.0)
|
|
@@ -60,7 +62,7 @@ GEM
|
|
|
60
62
|
cleanroom (1.0.0)
|
|
61
63
|
coderay (1.1.1)
|
|
62
64
|
diff-lcs (1.2.5)
|
|
63
|
-
docker-api (1.
|
|
65
|
+
docker-api (1.33.0)
|
|
64
66
|
excon (>= 0.38.0)
|
|
65
67
|
json
|
|
66
68
|
erubis (2.7.0)
|
|
@@ -75,8 +77,8 @@ GEM
|
|
|
75
77
|
builder (>= 2.1.2)
|
|
76
78
|
hashie (3.4.6)
|
|
77
79
|
hitimes (1.2.4)
|
|
78
|
-
httpclient (2.8.
|
|
79
|
-
inspec (1.
|
|
80
|
+
httpclient (2.8.3)
|
|
81
|
+
inspec (1.7.2)
|
|
80
82
|
hashie (~> 3.4)
|
|
81
83
|
json (>= 1.8, < 3.0)
|
|
82
84
|
method_source (~> 0.8)
|
|
@@ -86,10 +88,11 @@ GEM
|
|
|
86
88
|
rainbow (~> 2)
|
|
87
89
|
rspec (~> 3)
|
|
88
90
|
rspec-its (~> 1.2)
|
|
91
|
+
rspec_junit_formatter (~> 0.2.3)
|
|
89
92
|
rubyzip (~> 1.1)
|
|
90
93
|
sslshake (~> 1)
|
|
91
94
|
thor (~> 0.19)
|
|
92
|
-
train (>= 0.
|
|
95
|
+
train (>= 0.22.0, < 1.0)
|
|
93
96
|
jmespath (1.3.1)
|
|
94
97
|
json (2.0.2)
|
|
95
98
|
kitchen-ec2 (1.2.0)
|
|
@@ -98,11 +101,11 @@ GEM
|
|
|
98
101
|
multi_json
|
|
99
102
|
retryable (~> 2.0)
|
|
100
103
|
test-kitchen (~> 1.4, >= 1.4.1)
|
|
101
|
-
kitchen-inspec (0.
|
|
104
|
+
kitchen-inspec (0.17.0)
|
|
102
105
|
hashie (~> 3.4)
|
|
103
106
|
inspec (>= 0.34.0, < 2.0.0)
|
|
104
107
|
test-kitchen (~> 1.6)
|
|
105
|
-
kitchen-vagrant (0.
|
|
108
|
+
kitchen-vagrant (0.21.1)
|
|
106
109
|
test-kitchen (~> 1.4)
|
|
107
110
|
little-plugger (1.1.4)
|
|
108
111
|
logging (2.1.0)
|
|
@@ -132,9 +135,9 @@ GEM
|
|
|
132
135
|
net-ssh (>= 2.6.5)
|
|
133
136
|
nio4r (1.2.1)
|
|
134
137
|
nori (2.6.0)
|
|
135
|
-
octokit (4.6.
|
|
138
|
+
octokit (4.6.2)
|
|
136
139
|
sawyer (~> 0.8.0, >= 0.5.3)
|
|
137
|
-
parallel (1.
|
|
140
|
+
parallel (1.10.0)
|
|
138
141
|
pry (0.10.4)
|
|
139
142
|
coderay (~> 1.1.0)
|
|
140
143
|
method_source (~> 0.8.1)
|
|
@@ -176,19 +179,22 @@ GEM
|
|
|
176
179
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
177
180
|
rspec-support (~> 3.4.0)
|
|
178
181
|
rspec-support (3.4.1)
|
|
182
|
+
rspec_junit_formatter (0.2.3)
|
|
183
|
+
builder (< 4)
|
|
184
|
+
rspec-core (>= 2, < 4, != 2.12.0)
|
|
179
185
|
rubyntlm (0.6.1)
|
|
180
186
|
rubyzip (1.2.0)
|
|
181
187
|
safe_yaml (1.0.4)
|
|
182
|
-
sawyer (0.8.
|
|
188
|
+
sawyer (0.8.1)
|
|
183
189
|
addressable (>= 2.3.5, < 2.6)
|
|
184
|
-
faraday (~> 0.8, < 0
|
|
190
|
+
faraday (~> 0.8, < 1.0)
|
|
185
191
|
semverse (2.0.0)
|
|
186
192
|
slop (3.6.0)
|
|
187
|
-
solve (3.0
|
|
188
|
-
molinillo (
|
|
193
|
+
solve (3.1.0)
|
|
194
|
+
molinillo (>= 0.5)
|
|
189
195
|
semverse (>= 1.1, < 3.0)
|
|
190
196
|
sslshake (1.0.13)
|
|
191
|
-
test-kitchen (1.
|
|
197
|
+
test-kitchen (1.14.2)
|
|
192
198
|
mixlib-install (>= 1.2, < 3.0)
|
|
193
199
|
mixlib-shellout (>= 1.2, < 3.0)
|
|
194
200
|
net-scp (~> 1.1)
|
|
@@ -196,10 +202,10 @@ GEM
|
|
|
196
202
|
net-ssh-gateway (~> 1.2.0)
|
|
197
203
|
safe_yaml (~> 1.0)
|
|
198
204
|
thor (~> 0.18)
|
|
199
|
-
thor (0.19.
|
|
205
|
+
thor (0.19.4)
|
|
200
206
|
timers (4.0.4)
|
|
201
207
|
hitimes
|
|
202
|
-
train (0.
|
|
208
|
+
train (0.22.0)
|
|
203
209
|
docker-api (~> 1.26)
|
|
204
210
|
json (>= 1.8, < 3.0)
|
|
205
211
|
mixlib-shellout (~> 2.0)
|
|
@@ -221,10 +227,10 @@ GEM
|
|
|
221
227
|
logging (>= 1.6.1, < 3.0)
|
|
222
228
|
nori (~> 2.0)
|
|
223
229
|
rubyntlm (~> 0.6.0, >= 0.6.1)
|
|
224
|
-
winrm-elevated (1.0
|
|
230
|
+
winrm-elevated (1.1.0)
|
|
225
231
|
winrm (~> 2.0)
|
|
226
232
|
winrm-fs (~> 1.0)
|
|
227
|
-
winrm-fs (1.0.
|
|
233
|
+
winrm-fs (1.0.1)
|
|
228
234
|
erubis (~> 2.7)
|
|
229
235
|
logging (>= 1.6.1, < 3.0)
|
|
230
236
|
rubyzip (~> 1.1)
|
data/chef-dk.gemspec
CHANGED
|
@@ -50,7 +50,6 @@ Gem::Specification.new do |gem|
|
|
|
50
50
|
gem.add_dependency "paint", "~> 1.0"
|
|
51
51
|
gem.add_dependency "chef-provisioning", "~> 2.0"
|
|
52
52
|
|
|
53
|
-
gem.add_development_dependency "github_changelog_generator"
|
|
54
53
|
gem.add_development_dependency "rake"
|
|
55
54
|
|
|
56
55
|
%w(rspec-core rspec-expectations rspec-mocks).each do |dev_gem|
|
|
@@ -105,7 +105,7 @@ module ChefDK
|
|
|
105
105
|
msg("\nThere are several commands you can run to get started locally developing and testing your cookbook.")
|
|
106
106
|
msg("Type `delivery local --help` to see a full list.")
|
|
107
107
|
msg("\nWhy not start by writing a test? Tests for the default recipe are stored at:\n")
|
|
108
|
-
msg("test/
|
|
108
|
+
msg("test/smoke/default/default_test.rb")
|
|
109
109
|
msg("\nIf you'd prefer to dive right in, the default recipe can be found at:")
|
|
110
110
|
msg("\nrecipes/default.rb\n")
|
|
111
111
|
end
|
data/lib/chef-dk/generator.rb
CHANGED
|
@@ -73,10 +73,10 @@ module ChefDK
|
|
|
73
73
|
def license_description(comment=nil)
|
|
74
74
|
case license
|
|
75
75
|
when 'all_rights'
|
|
76
|
-
result = "Copyright
|
|
76
|
+
result = "Copyright:: #{year}, #{copyright_holder}, All Rights Reserved."
|
|
77
77
|
when 'apachev2'
|
|
78
78
|
result = <<-EOH
|
|
79
|
-
Copyright #{year} #{copyright_holder}
|
|
79
|
+
Copyright:: #{year}, #{copyright_holder}
|
|
80
80
|
|
|
81
81
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
82
82
|
you may not use this file except in compliance with the License.
|
|
@@ -94,7 +94,7 @@ EOH
|
|
|
94
94
|
result = <<-EOH
|
|
95
95
|
The MIT License (MIT)
|
|
96
96
|
|
|
97
|
-
Copyright
|
|
97
|
+
Copyright:: #{year}, #{copyright_holder}
|
|
98
98
|
|
|
99
99
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
100
100
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -116,7 +116,7 @@ THE SOFTWARE.
|
|
|
116
116
|
EOH
|
|
117
117
|
when 'gplv2'
|
|
118
118
|
result = <<-EOH
|
|
119
|
-
Copyright
|
|
119
|
+
Copyright:: #{year}, #{copyright_holder}
|
|
120
120
|
|
|
121
121
|
This program is free software; you can redistribute it and/or modify
|
|
122
122
|
it under the terms of the GNU General Public License as published by
|
|
@@ -134,7 +134,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|
|
134
134
|
EOH
|
|
135
135
|
when 'gplv3'
|
|
136
136
|
result = <<-EOH
|
|
137
|
-
Copyright
|
|
137
|
+
Copyright:: #{year}, #{copyright_holder}
|
|
138
138
|
|
|
139
139
|
This program is free software: you can redistribute it and/or modify
|
|
140
140
|
it under the terms of the GNU General Public License as published by
|
|
@@ -17,11 +17,11 @@ template "#{app_dir}/.kitchen.yml" do
|
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
# Inspec
|
|
20
|
-
directory "#{app_dir}/test/
|
|
20
|
+
directory "#{app_dir}/test/smoke/default" do
|
|
21
21
|
recursive true
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
template "#{app_dir}/test/
|
|
24
|
+
template "#{app_dir}/test/smoke/default/default_test.rb" do
|
|
25
25
|
source 'inspec_default_test.rb.erb'
|
|
26
26
|
helpers(ChefDK::Generator::TemplateHelper)
|
|
27
27
|
action :create_if_missing
|
|
@@ -55,11 +55,11 @@ template "#{cookbook_dir}/.kitchen.yml" do
|
|
|
55
55
|
end
|
|
56
56
|
|
|
57
57
|
# Inspec
|
|
58
|
-
directory "#{cookbook_dir}/test/
|
|
58
|
+
directory "#{cookbook_dir}/test/smoke/default" do
|
|
59
59
|
recursive true
|
|
60
60
|
end
|
|
61
61
|
|
|
62
|
-
template "#{cookbook_dir}/test/
|
|
62
|
+
template "#{cookbook_dir}/test/smoke/default/default_test.rb" do
|
|
63
63
|
source 'inspec_default_test.rb.erb'
|
|
64
64
|
helpers(ChefDK::Generator::TemplateHelper)
|
|
65
65
|
action :create_if_missing
|
|
@@ -3,11 +3,23 @@ context = ChefDK::Generator.context
|
|
|
3
3
|
cookbook_dir = File.join(context.cookbook_root, context.cookbook_name)
|
|
4
4
|
recipe_path = File.join(cookbook_dir, "recipes", "#{context.new_file_basename}.rb")
|
|
5
5
|
spec_helper_path = File.join(cookbook_dir, "spec", "spec_helper.rb")
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
spec_dir = File.join(cookbook_dir, "spec", "unit", "recipes")
|
|
7
|
+
spec_path = File.join(spec_dir, "#{context.new_file_basename}_spec.rb")
|
|
8
|
+
inspec_dir = File.join(cookbook_dir, "test", "smoke", "default")
|
|
9
|
+
inspec_path = File.join(inspec_dir, "#{context.new_file_basename}.rb")
|
|
10
|
+
|
|
11
|
+
if File.directory?(File.join(cookbook_dir, "test", "recipes"))
|
|
12
|
+
Chef::Log.deprecation <<-EOH
|
|
13
|
+
It appears that you have Inspec tests located at "test/recipes". This location can
|
|
14
|
+
cause issues with Foodcritic and has been deprecated in favor of "test/smoke/default".
|
|
15
|
+
Please move your existing Inspec tests to the newly created "test/smoke/default"
|
|
16
|
+
directory, and update the 'inspec_tests' value in your .kitchen.yml file(s) to
|
|
17
|
+
point to "test/smoke/default".
|
|
18
|
+
EOH
|
|
19
|
+
end
|
|
8
20
|
|
|
9
21
|
# Chefspec
|
|
10
|
-
directory
|
|
22
|
+
directory spec_dir do
|
|
11
23
|
recursive true
|
|
12
24
|
end
|
|
13
25
|
|
|
@@ -22,7 +34,7 @@ template spec_path do
|
|
|
22
34
|
end
|
|
23
35
|
|
|
24
36
|
# Inspec
|
|
25
|
-
directory
|
|
37
|
+
directory inspec_dir do
|
|
26
38
|
recursive true
|
|
27
39
|
end
|
|
28
40
|
|
|
@@ -37,4 +49,3 @@ template recipe_path do
|
|
|
37
49
|
source "recipe.rb.erb"
|
|
38
50
|
helpers(ChefDK::Generator::TemplateHelper)
|
|
39
51
|
end
|
|
40
|
-
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# Inspec test for recipe <%= cookbook_name %>::<%= recipe_name %>
|
|
4
4
|
|
|
5
5
|
# The Inspec reference, with examples and extensive documentation, can be
|
|
6
|
-
# found at
|
|
6
|
+
# found at http://inspec.io/docs/reference/resources/
|
|
7
7
|
|
|
8
8
|
unless os.windows?
|
|
9
9
|
describe user('root') do
|
|
@@ -6,10 +6,14 @@ description 'Installs/Configures <%= cookbook_name %>'
|
|
|
6
6
|
long_description 'Installs/Configures <%= cookbook_name %>'
|
|
7
7
|
version '0.1.0'
|
|
8
8
|
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# The `issues_url` points to the location where issues for this cookbook are
|
|
10
|
+
# tracked. A `View Issues` link will be displayed on this cookbook's page when
|
|
11
|
+
# uploaded to a Supermarket.
|
|
12
|
+
#
|
|
11
13
|
# issues_url 'https://github.com/<insert_org_here>/<%= cookbook_name %>/issues' if respond_to?(:issues_url)
|
|
12
14
|
|
|
13
|
-
#
|
|
14
|
-
#
|
|
15
|
+
# The `source_url` points to the development reposiory for this cookbook. A
|
|
16
|
+
# `View Source` link will be displayed on this cookbook's page when uploaded to
|
|
17
|
+
# a Supermarket.
|
|
18
|
+
#
|
|
15
19
|
# source_url 'https://github.com/<insert_org_here>/<%= cookbook_name %>' if respond_to?(:source_url)
|
data/lib/chef-dk/version.rb
CHANGED
|
@@ -31,8 +31,9 @@ describe ChefDK::Command::GeneratorCommands::App do
|
|
|
31
31
|
.gitignore
|
|
32
32
|
.kitchen.yml
|
|
33
33
|
test
|
|
34
|
-
test/
|
|
35
|
-
test/
|
|
34
|
+
test/smoke
|
|
35
|
+
test/smoke/default
|
|
36
|
+
test/smoke/default/default_test.rb
|
|
36
37
|
README.md
|
|
37
38
|
cookbooks/new_app/Berksfile
|
|
38
39
|
cookbooks/new_app/chefignore
|
|
@@ -128,8 +129,8 @@ describe ChefDK::Command::GeneratorCommands::App do
|
|
|
128
129
|
end
|
|
129
130
|
end
|
|
130
131
|
|
|
131
|
-
describe "test/
|
|
132
|
-
let(:file) { File.join(tempdir, "new_app", "test", "
|
|
132
|
+
describe "test/smoke/default/default_test.rb" do
|
|
133
|
+
let(:file) { File.join(tempdir, "new_app", "test", "smoke", "default", "default_test.rb") }
|
|
133
134
|
|
|
134
135
|
include_examples "a generated file", :cookbook_name do
|
|
135
136
|
let(:line) { "describe port" }
|
|
@@ -148,7 +149,7 @@ describe ChefDK::Command::GeneratorCommands::App do
|
|
|
148
149
|
let(:file) { File.join(tempdir, "new_app", "cookbooks", "new_app", "recipes", "default.rb") }
|
|
149
150
|
|
|
150
151
|
include_examples "a generated file", :cookbook_name do
|
|
151
|
-
let(:line) { "# Cookbook
|
|
152
|
+
let(:line) { "# Cookbook:: new_app" }
|
|
152
153
|
end
|
|
153
154
|
end
|
|
154
155
|
|
|
@@ -163,4 +164,3 @@ describe ChefDK::Command::GeneratorCommands::App do
|
|
|
163
164
|
end
|
|
164
165
|
end
|
|
165
166
|
end
|
|
166
|
-
|
|
@@ -34,8 +34,8 @@ describe ChefDK::Command::GeneratorCommands::Cookbook do
|
|
|
34
34
|
.gitignore
|
|
35
35
|
.kitchen.yml
|
|
36
36
|
test
|
|
37
|
-
test/
|
|
38
|
-
test/
|
|
37
|
+
test/smoke
|
|
38
|
+
test/smoke/default/default_test.rb
|
|
39
39
|
Berksfile
|
|
40
40
|
chefignore
|
|
41
41
|
metadata.rb
|
|
@@ -65,7 +65,7 @@ Type `delivery local --help` to see a full list.
|
|
|
65
65
|
|
|
66
66
|
Why not start by writing a test? Tests for the default recipe are stored at:
|
|
67
67
|
|
|
68
|
-
test/
|
|
68
|
+
test/smoke/default/default_test.rb
|
|
69
69
|
|
|
70
70
|
If you'd prefer to dive right in, the default recipe can be found at:
|
|
71
71
|
|
|
@@ -226,7 +226,9 @@ cleanup = "chef exec kitchen destroy"
|
|
|
226
226
|
"path": ".delivery/build_cookbook"
|
|
227
227
|
},
|
|
228
228
|
"skip_phases": [],
|
|
229
|
-
"
|
|
229
|
+
"job_dispatch": {
|
|
230
|
+
"version": "v2"
|
|
231
|
+
},
|
|
230
232
|
"dependencies": []
|
|
231
233
|
}
|
|
232
234
|
CONFIG_DOT_JSON
|
|
@@ -247,10 +249,10 @@ cleanup = "chef exec kitchen destroy"
|
|
|
247
249
|
let(:expected_content) do
|
|
248
250
|
<<-CONFIG_DOT_JSON
|
|
249
251
|
#
|
|
250
|
-
# Cookbook
|
|
252
|
+
# Cookbook:: build_cookbook
|
|
251
253
|
# Recipe:: publish
|
|
252
254
|
#
|
|
253
|
-
# Copyright
|
|
255
|
+
# Copyright:: 2016, The Authors, All Rights Reserved.
|
|
254
256
|
include_recipe 'delivery-truck::publish'
|
|
255
257
|
CONFIG_DOT_JSON
|
|
256
258
|
end
|
|
@@ -458,8 +460,8 @@ OUTPUT
|
|
|
458
460
|
|
|
459
461
|
end
|
|
460
462
|
|
|
461
|
-
describe "test/
|
|
462
|
-
let(:file) { File.join(tempdir, "new_cookbook", "test", "
|
|
463
|
+
describe "test/smoke/default/default_test.rb" do
|
|
464
|
+
let(:file) { File.join(tempdir, "new_cookbook", "test", "smoke", "default", "default_test.rb") }
|
|
463
465
|
|
|
464
466
|
include_examples "a generated file", :cookbook_name do
|
|
465
467
|
let(:line) { "describe port" }
|
|
@@ -568,7 +570,7 @@ suites:
|
|
|
568
570
|
- name: default
|
|
569
571
|
verifier:
|
|
570
572
|
inspec_tests:
|
|
571
|
-
- test/
|
|
573
|
+
- test/smoke/default
|
|
572
574
|
attributes:
|
|
573
575
|
KITCHEN_YML
|
|
574
576
|
end
|
|
@@ -645,7 +647,7 @@ suites:
|
|
|
645
647
|
- recipe[new_cookbook::default]
|
|
646
648
|
verifier:
|
|
647
649
|
inspec_tests:
|
|
648
|
-
- test/
|
|
650
|
+
- test/smoke/default
|
|
649
651
|
attributes:
|
|
650
652
|
KITCHEN_YML
|
|
651
653
|
end
|
|
@@ -677,7 +679,7 @@ SPEC_HELPER
|
|
|
677
679
|
let(:file) { File.join(tempdir, "new_cookbook", "recipes", "default.rb") }
|
|
678
680
|
|
|
679
681
|
include_examples "a generated file", :cookbook_name do
|
|
680
|
-
let(:line) { "# Cookbook
|
|
682
|
+
let(:line) { "# Cookbook:: new_cookbook" }
|
|
681
683
|
end
|
|
682
684
|
end
|
|
683
685
|
|
|
@@ -27,7 +27,7 @@ describe ChefDK::Command::GeneratorCommands::Recipe do
|
|
|
27
27
|
let(:generated_files) { [ "recipes/new_recipe.rb",
|
|
28
28
|
"spec/spec_helper.rb",
|
|
29
29
|
"spec/unit/recipes/new_recipe_spec.rb",
|
|
30
|
-
"test/
|
|
30
|
+
"test/smoke/default/new_recipe.rb"
|
|
31
31
|
] }
|
|
32
32
|
let(:new_file_name) { "new_recipe" }
|
|
33
33
|
|
data/spec/unit/generator_spec.rb
CHANGED
|
@@ -63,7 +63,7 @@ describe ChefDK::Generator::TemplateHelper do
|
|
|
63
63
|
let(:license) { "all_rights" }
|
|
64
64
|
context "all_rights" do
|
|
65
65
|
it "should match the license" do
|
|
66
|
-
expect(helper.license_description).to match(/^Copyright
|
|
66
|
+
expect(helper.license_description).to match(/^Copyright:: /)
|
|
67
67
|
end
|
|
68
68
|
|
|
69
69
|
it "should comment if requested" do
|
data/tasks/announce.rb
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
require "date"
|
|
19
|
+
require "erb"
|
|
20
|
+
|
|
21
|
+
class ReleaseAnnouncement
|
|
22
|
+
include ERB::Util
|
|
23
|
+
attr_accessor :type, :version, :maj_minor, :date, :release_notes
|
|
24
|
+
|
|
25
|
+
def initialize(version, date, type)
|
|
26
|
+
@version = version
|
|
27
|
+
@maj_minor = version.split(".")[0..1].join(".")
|
|
28
|
+
@date = Date.parse(date) unless date.nil?
|
|
29
|
+
@release_notes = release_notes_from_file
|
|
30
|
+
@type = type
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def render
|
|
34
|
+
puts "-" * 30
|
|
35
|
+
puts ERB.new(template_for(@type)).result(binding)
|
|
36
|
+
puts "-" * 30
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def template_for(type)
|
|
40
|
+
File.read("tasks/templates/#{type}.md.erb")
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def release_notes_from_file
|
|
44
|
+
File.read("RELEASE_NOTES.md").match(/^# ChefDK #{@maj_minor} Release notes\n\n(.*)/m)[1]
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
namespace :announce do
|
|
49
|
+
desc "Generate the Prerelease Announcement (version: X.Y.Z, release_date: YYYY-MM-DD)"
|
|
50
|
+
task :prerelease, :version, :release_date do |t, args|
|
|
51
|
+
ReleaseAnnouncement.new(args[:version], args[:release_date], "prerelease").render
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
desc "Generate the Release Announcement (version: X.Y.Z)"
|
|
55
|
+
task :release, :version do |t, args|
|
|
56
|
+
ReleaseAnnouncement.new(args[:version], nil, "release").render
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -17,17 +17,35 @@
|
|
|
17
17
|
|
|
18
18
|
begin
|
|
19
19
|
require "github_changelog_generator/task"
|
|
20
|
+
require "mixlib/install"
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
namespace :changelog do
|
|
23
|
+
# Fetch the latest version from mixlib-install
|
|
24
|
+
latest_stable_version = Mixlib::Install.available_versions("chefdk", "stable").last
|
|
25
|
+
|
|
26
|
+
# Take the changelog from the latest stable release and put it into history.
|
|
27
|
+
desc "Archive current CHANGELOG to HISTORY"
|
|
28
|
+
task :archive do
|
|
29
|
+
changelog = Net::HTTP.get(URI("https://raw.githubusercontent.com/chef/chef-dk/v#{latest_stable_version}/CHANGELOG.md")).chomp.split("\n")
|
|
30
|
+
File.open("HISTORY.md", "w+") { |f| f.write(changelog[2..-4].join("\n")) }
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Run this to just update the changelog for the current release. This will
|
|
34
|
+
# take what is in HISTORY and generate a changelog of PRs between the most
|
|
35
|
+
# recent stable version and HEAD.
|
|
36
|
+
GitHubChangelogGenerator::RakeTask.new :update do |config|
|
|
37
|
+
config.future_release = "v#{ChefDK::VERSION}"
|
|
38
|
+
config.between_tags = ["v#{latest_stable_version}", "v#{ChefDK::VERSION}"]
|
|
39
|
+
config.max_issues = 0
|
|
40
|
+
config.add_issues_wo_labels = false
|
|
41
|
+
config.enhancement_labels = "enhancement,Enhancement,New Feature,Feature".split(",")
|
|
42
|
+
config.bug_labels = "bug,Bug,Improvement,Upstream Bug".split(",")
|
|
43
|
+
config.exclude_labels = "duplicate,question,invalid,wontfix,no_changelog,Exclude From Changelog,Question,Discussion".split(",")
|
|
44
|
+
config.header = "This changelog reflects the current state of chef-dk's master branch on github and may not reflect the current released version of chef-dk, which is [](https://badge.fury.io/rb/chef-dk)."
|
|
45
|
+
end
|
|
30
46
|
end
|
|
47
|
+
|
|
48
|
+
task :changelog => "changelog:update"
|
|
31
49
|
rescue LoadError
|
|
32
50
|
puts "github_changelog_generator is not available. gem install github_changelog_generator to generate changelogs"
|
|
33
51
|
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
Ohai Chefs!
|
|
2
|
+
|
|
3
|
+
We have selected <%= @version %> as our ChefDK v<%= @maj_minor %> release candidate which is scheduled for release on <%= @date.strftime('%A %B %-d, %Y') %>.
|
|
4
|
+
|
|
5
|
+
# Release Highlights
|
|
6
|
+
|
|
7
|
+
<%= @release_notes %>
|
|
8
|
+
|
|
9
|
+
Please see the [CHANGELOG](https://github.com/chef/chef-dk/blob/master/CHANGELOG.md) for the complete list of changes.
|
|
10
|
+
|
|
11
|
+
# Get the Build
|
|
12
|
+
As always, you can download binaries directly from [downloads.chef.io](https://downloads.chef.io/chefdk/current/<%= @version %>) or by using the new `mixlib-install` command line utility available in ChefDK 0.19.6 or greater.
|
|
13
|
+
|
|
14
|
+
```shell
|
|
15
|
+
$ mixlib-install download chefdk -v <%= @version %> -c current
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Alternatively, you can install ChefDK using one of the following command options:
|
|
19
|
+
|
|
20
|
+
```shell
|
|
21
|
+
# In Shell
|
|
22
|
+
$ curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P chefdk -v <%= @version %> -c current
|
|
23
|
+
|
|
24
|
+
# In Windows Powershell
|
|
25
|
+
. { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install -project chefdk -version <%= @version %> -channel current
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
If you want to give this version a spin in Test Kitchen, create or add the following to a `.kitchen.local.yml` file:
|
|
29
|
+
|
|
30
|
+
```yaml
|
|
31
|
+
provisioner:
|
|
32
|
+
product_name: chefdk
|
|
33
|
+
channel: current
|
|
34
|
+
product_version: <%= @version %>
|
|
35
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
Ohai Chefs!
|
|
2
|
+
|
|
3
|
+
We're happy to announce the release of ChefDK v<%= @maj_minor %>!
|
|
4
|
+
|
|
5
|
+
# Release Highlights
|
|
6
|
+
|
|
7
|
+
<%= @release_notes %>
|
|
8
|
+
|
|
9
|
+
Please see the [CHANGELOG](https://github.com/chef/chef-dk/blob/master/CHANGELOG.md) for the complete list of changes.
|
|
10
|
+
|
|
11
|
+
# Get the Build
|
|
12
|
+
As always, you can download binaries directly from [downloads.chef.io](https://downloads.chef.io/chefdk/<%= @version %>) or by using the new `mixlib-install` command line utility available in ChefDK 0.19.6 or greater.
|
|
13
|
+
|
|
14
|
+
```shell
|
|
15
|
+
$ mixlib-install download chefdk -v <%= @version %>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Alternatively, you can install ChefDK using one of the following command options:
|
|
19
|
+
|
|
20
|
+
```shell
|
|
21
|
+
# In Shell
|
|
22
|
+
$ curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P chefdk -v <%= @version %>
|
|
23
|
+
|
|
24
|
+
# In Windows Powershell
|
|
25
|
+
. { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install -project chefdk -version <%= @version %>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
If you want to give this version a spin in Test Kitchen, create or add the following to a `.kitchen.local.yml` file:
|
|
29
|
+
|
|
30
|
+
```yaml
|
|
31
|
+
provisioner:
|
|
32
|
+
product_name: chefdk
|
|
33
|
+
product_version: <%= @version %>
|
|
34
|
+
```
|
data/tasks/version.rb
CHANGED
|
@@ -40,6 +40,10 @@ namespace :version do
|
|
|
40
40
|
File.expand_path("../../Gemfile.lock", __FILE__)
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
+
def release_notes_path
|
|
44
|
+
File.expand_path("../../RELEASE_NOTES.md", __FILE__)
|
|
45
|
+
end
|
|
46
|
+
|
|
43
47
|
# Add 1 to the current patch version in the VERSION file, and write it back out.
|
|
44
48
|
desc "Bump the patch version in lib/chef-dk/version.rb."
|
|
45
49
|
task :bump_patch do
|
|
@@ -63,6 +67,7 @@ namespace :version do
|
|
|
63
67
|
end
|
|
64
68
|
puts "Updating version in #{version_rb_path} from #{version} to #{new_version.chomp}"
|
|
65
69
|
IO.write(version_rb_path, new_version_file)
|
|
70
|
+
IO.write(release_notes_path, "# ChefDK #{$2}.#{$3.to_i + 1} Release Notes")
|
|
66
71
|
Rake::Task["version:update_gemfile_lock"].invoke
|
|
67
72
|
Rake::Task["bundle:install"].invoke
|
|
68
73
|
end
|
|
@@ -77,6 +82,7 @@ namespace :version do
|
|
|
77
82
|
end
|
|
78
83
|
puts "Updating version in #{version_rb_path} from #{version} to #{new_version.chomp}"
|
|
79
84
|
IO.write(version_rb_path, new_version_file)
|
|
85
|
+
IO.write(release_notes_path, "# ChefDK #{$2.to_i + 1}.0 Release Notes")
|
|
80
86
|
Rake::Task["version:update_gemfile_lock"].invoke
|
|
81
87
|
Rake::Task["bundle:install"].invoke
|
|
82
88
|
end
|
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: 1.
|
|
4
|
+
version: 1.1.16
|
|
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-12-15 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: mixlib-cli
|
|
@@ -164,20 +164,6 @@ dependencies:
|
|
|
164
164
|
- - "~>"
|
|
165
165
|
- !ruby/object:Gem::Version
|
|
166
166
|
version: '2.0'
|
|
167
|
-
- !ruby/object:Gem::Dependency
|
|
168
|
-
name: github_changelog_generator
|
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
|
170
|
-
requirements:
|
|
171
|
-
- - ">="
|
|
172
|
-
- !ruby/object:Gem::Version
|
|
173
|
-
version: '0'
|
|
174
|
-
type: :development
|
|
175
|
-
prerelease: false
|
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
177
|
-
requirements:
|
|
178
|
-
- - ">="
|
|
179
|
-
- !ruby/object:Gem::Version
|
|
180
|
-
version: '0'
|
|
181
167
|
- !ruby/object:Gem::Dependency
|
|
182
168
|
name: rake
|
|
183
169
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -603,6 +589,7 @@ files:
|
|
|
603
589
|
- spec/unit/service_exception_inspectors/http_spec.rb
|
|
604
590
|
- spec/unit/shell_out_spec.rb
|
|
605
591
|
- spec/unit/tasks/helpers_spec.rb
|
|
592
|
+
- tasks/announce.rb
|
|
606
593
|
- tasks/bin/bundle-platform
|
|
607
594
|
- tasks/bin/bundle-platform.bat
|
|
608
595
|
- tasks/bin/create-override-gemfile
|
|
@@ -612,6 +599,8 @@ files:
|
|
|
612
599
|
- tasks/gemfile_util.rb
|
|
613
600
|
- tasks/github_changelog_generator.rb
|
|
614
601
|
- tasks/helpers.rb
|
|
602
|
+
- tasks/templates/prerelease.md.erb
|
|
603
|
+
- tasks/templates/release.md.erb
|
|
615
604
|
- tasks/version.rb
|
|
616
605
|
- version_policy.rb
|
|
617
606
|
- warning.txt
|