chef-dk 1.0.3 → 1.1.16
Sign up to get free protection for your applications and to get access to all the features.
- 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 [![Gem Version](https://badge.fury.io/rb/chef-dk.svg)](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
|