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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -2
  3. data/Gemfile.lock +81 -57
  4. data/Rakefile +1 -0
  5. data/acceptance/Gemfile.lock +29 -23
  6. data/chef-dk.gemspec +0 -1
  7. data/lib/chef-dk/command/generator_commands/cookbook.rb +1 -1
  8. data/lib/chef-dk/generator.rb +5 -5
  9. data/lib/chef-dk/skeletons/code_generator/files/default/delivery-config.json +3 -1
  10. data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +2 -2
  11. data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +2 -2
  12. data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +16 -5
  13. data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/recipe.rb.erb +1 -1
  14. data/lib/chef-dk/skeletons/code_generator/templates/default/inspec_default_test.rb.erb +1 -1
  15. data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb +1 -1
  16. data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +1 -1
  17. data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +8 -4
  18. data/lib/chef-dk/skeletons/code_generator/templates/default/recipe.rb.erb +1 -1
  19. data/lib/chef-dk/skeletons/code_generator/templates/default/recipe_spec.rb.erb +1 -1
  20. data/lib/chef-dk/version.rb +1 -1
  21. data/spec/unit/command/generator_commands/app_spec.rb +6 -6
  22. data/spec/unit/command/generator_commands/cookbook_spec.rb +13 -11
  23. data/spec/unit/command/generator_commands/recipe_spec.rb +1 -1
  24. data/spec/unit/generator_spec.rb +1 -1
  25. data/tasks/announce.rb +58 -0
  26. data/tasks/github_changelog_generator.rb +27 -9
  27. data/tasks/templates/prerelease.md.erb +35 -0
  28. data/tasks/templates/release.md.erb +34 -0
  29. data/tasks/version.rb +6 -0
  30. metadata +5 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dd414e5ce801d69ed1f78241d2e99fc3ac0c5cac
4
- data.tar.gz: fd8dc5a6813bab3ba2d66fd9dd3dd8189adb4489
3
+ metadata.gz: afccc47a23300a0cb2b6e842e38d27f15360586c
4
+ data.tar.gz: 8b1be04f2a755078caa2d95bd70e34ba798065a0
5
5
  SHA512:
6
- metadata.gz: c1c9d70a61e82174c1f138676ef3ea6df575ee1f6e63e286fbe82639da5de7f9e5b682963022ae14875ca64a6853c3f411509771693a4d429acd97502561c41c
7
- data.tar.gz: 0bb24e25cbe06011569745db1e6db2fa00ab748ed9c21da1b3cef9b274a0fd1a097172c1776c7101805178049ea1d69713759bd8274ad1b1ea1fb08035a8547c
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.16.42"
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 "mixlib-install"
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
@@ -1,19 +1,19 @@
1
1
  GIT
2
2
  remote: git://github.com/chef/appbundler.git
3
- revision: 76cb17280186ba314d31cd5751e674025ec93c79
3
+ revision: 6582b68884453b5ca5c962458a0c08046c719558
4
4
  specs:
5
- appbundler (0.9.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: fecaf2fc865e215c95154f353d5d9b3c81b2ff7c
11
- branch: v12.16.42
10
+ revision: 066935169905ad96b553520160b3678497c0284b
11
+ branch: v12.17.44
12
12
  specs:
13
- chef (12.16.42)
13
+ chef (12.17.44)
14
14
  addressable
15
15
  bundler (>= 1.10)
16
- chef-config (= 12.16.42)
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.16.42-universal-mingw32)
42
+ chef (12.17.44-universal-mingw32)
43
43
  addressable
44
44
  bundler (>= 1.10)
45
- chef-config (= 12.16.42)
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.16.42)
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.0.3)
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.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.19)
134
- aws-sdk-resources (= 2.6.19)
135
- aws-sdk-core (2.6.19)
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.19)
138
- aws-sdk-core (= 2.6.19)
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.0.0)
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 (~> 2.0)
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 (0.0.1)
226
- rubocop (= 0.39.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.32.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.12.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.17)
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.1)
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.2.4)
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.4.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.20.1, < 1.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.4)
469
- docker-api (~> 1.29)
470
- test-kitchen (~> 1.5)
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.16.1)
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.20.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.2)
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.0)
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.9.1)
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.6)
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.0)
580
+ octokit (4.6.2)
559
581
  sawyer (~> 0.8.0, >= 0.5.3)
560
- ohai (8.21.0)
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.9.0)
575
- parser (2.3.1.4)
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.0)
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 (11.3.0)
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.39.0)
649
- parser (>= 2.3.0.7, < 3.0)
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.0)
684
+ sawyer (0.8.1)
663
685
  addressable (>= 2.3.5, < 2.6)
664
- faraday (~> 0.8, < 0.10)
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.1)
680
- molinillo (~> 0.4)
701
+ solve (3.1.0)
702
+ molinillo (>= 0.5)
681
703
  semverse (>= 1.1, < 3.0)
682
- specinfra (2.66.0)
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.13.2)
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.1)
726
+ thor (0.19.4)
705
727
  thread_safe (0.3.5)
706
728
  timers (4.0.4)
707
729
  hitimes
708
- train (0.21.1)
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.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.9)
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.1)
783
+ winrm-elevated (1.1.0)
762
784
  winrm (~> 2.0)
763
785
  winrm-fs (~> 1.0)
764
- winrm-fs (1.0.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.13.3
866
+ 1.12.5
data/Rakefile CHANGED
@@ -20,3 +20,4 @@ require_relative "tasks/version"
20
20
  require_relative "tasks/bundle"
21
21
  require_relative "tasks/dependencies"
22
22
  require_relative "tasks/github_changelog_generator"
23
+ require_relative "tasks/announce"
@@ -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.19)
16
- aws-sdk-resources (= 2.6.19)
17
- aws-sdk-core (2.6.19)
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.19)
20
- aws-sdk-core (= 2.6.19)
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.16.42)
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.32.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.2.4)
79
- inspec (1.4.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.20.1, < 1.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.16.1)
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.20.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.0)
138
+ octokit (4.6.2)
136
139
  sawyer (~> 0.8.0, >= 0.5.3)
137
- parallel (1.9.0)
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.0)
188
+ sawyer (0.8.1)
183
189
  addressable (>= 2.3.5, < 2.6)
184
- faraday (~> 0.8, < 0.10)
190
+ faraday (~> 0.8, < 1.0)
185
191
  semverse (2.0.0)
186
192
  slop (3.6.0)
187
- solve (3.0.1)
188
- molinillo (~> 0.4)
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.13.2)
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.1)
205
+ thor (0.19.4)
200
206
  timers (4.0.4)
201
207
  hitimes
202
- train (0.21.1)
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.1)
230
+ winrm-elevated (1.1.0)
225
231
  winrm (~> 2.0)
226
232
  winrm-fs (~> 1.0)
227
- winrm-fs (1.0.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)
@@ -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/recipes/default_test.rb")
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
@@ -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 (c) #{year} #{copyright_holder}, All Rights Reserved."
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 (c) #{year} #{copyright_holder}
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 (C) #{year} #{copyright_holder}
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 (C) #{year} #{copyright_holder}
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
@@ -5,6 +5,8 @@
5
5
  "path": ".delivery/build_cookbook"
6
6
  },
7
7
  "skip_phases": [],
8
- "build_nodes": {},
8
+ "job_dispatch": {
9
+ "version": "v2"
10
+ },
9
11
  "dependencies": []
10
12
  }
@@ -17,11 +17,11 @@ template "#{app_dir}/.kitchen.yml" do
17
17
  end
18
18
 
19
19
  # Inspec
20
- directory "#{app_dir}/test/recipes" do
20
+ directory "#{app_dir}/test/smoke/default" do
21
21
  recursive true
22
22
  end
23
23
 
24
- template "#{app_dir}/test/recipes/default_test.rb" do
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/recipes" do
58
+ directory "#{cookbook_dir}/test/smoke/default" do
59
59
  recursive true
60
60
  end
61
61
 
62
- template "#{cookbook_dir}/test/recipes/default_test.rb" do
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
- spec_path = File.join(cookbook_dir, "spec", "unit", "recipes", "#{context.new_file_basename}_spec.rb")
7
- inspec_path = File.join(cookbook_dir, "test", "recipes", "#{context.new_file_basename}.rb")
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 "#{cookbook_dir}/spec/unit/recipes" do
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 "#{cookbook_dir}/test/recipes" do
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
-
@@ -1,5 +1,5 @@
1
1
  #
2
- # Cookbook Name:: build_cookbook
2
+ # Cookbook:: build_cookbook
3
3
  # Recipe:: <%= @phase %>
4
4
  #
5
5
  <%= license_description('#') %>
@@ -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 https://docs.chef.io/inspec_reference.html
6
+ # found at http://inspec.io/docs/reference/resources/
7
7
 
8
8
  unless os.windows?
9
9
  describe user('root') do
@@ -22,5 +22,5 @@ suites:
22
22
  - recipe[<%= cookbook_name %>::default]
23
23
  verifier:
24
24
  inspec_tests:
25
- - test/recipes
25
+ - test/smoke/default
26
26
  attributes:
@@ -29,5 +29,5 @@ suites:
29
29
  - name: default
30
30
  verifier:
31
31
  inspec_tests:
32
- - test/recipes
32
+ - test/smoke/default
33
33
  attributes:
@@ -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
- # If you upload to Supermarket you should set this so your cookbook
10
- # gets a `View Issues` link
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
- # If you upload to Supermarket you should set this so your cookbook
14
- # gets a `View Source` link
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)
@@ -1,5 +1,5 @@
1
1
  #
2
- # Cookbook Name:: <%= cookbook_name %>
2
+ # Cookbook:: <%= cookbook_name %>
3
3
  # Recipe:: <%= recipe_name %>
4
4
  #
5
5
  <%= license_description('#') %>
@@ -1,5 +1,5 @@
1
1
  #
2
- # Cookbook Name:: <%= cookbook_name %>
2
+ # Cookbook:: <%= cookbook_name %>
3
3
  # Spec:: default
4
4
  #
5
5
  <%= license_description('#') %>
@@ -16,5 +16,5 @@
16
16
  #
17
17
 
18
18
  module ChefDK
19
- VERSION = "1.0.3"
19
+ VERSION = "1.1.16"
20
20
  end
@@ -31,8 +31,9 @@ describe ChefDK::Command::GeneratorCommands::App do
31
31
  .gitignore
32
32
  .kitchen.yml
33
33
  test
34
- test/recipes
35
- test/recipes/default_test.rb
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/recipes/default_test.rb" do
132
- let(:file) { File.join(tempdir, "new_app", "test", "recipes", "default_test.rb") }
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 Name:: new_app" }
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/recipes
38
- test/recipes/default_test.rb
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/recipes/default_test.rb
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
- "build_nodes": {},
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 Name:: build_cookbook
252
+ # Cookbook:: build_cookbook
251
253
  # Recipe:: publish
252
254
  #
253
- # Copyright (c) 2016 The Authors, All Rights Reserved.
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/recipes/default_test.rb" do
462
- let(:file) { File.join(tempdir, "new_cookbook", "test", "recipes", "default_test.rb") }
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/recipes
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/recipes
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 Name:: new_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/recipes/new_recipe.rb"
30
+ "test/smoke/default/new_recipe.rb"
31
31
  ] }
32
32
  let(:new_file_name) { "new_recipe" }
33
33
 
@@ -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 \(c\)/)
66
+ expect(helper.license_description).to match(/^Copyright:: /)
67
67
  end
68
68
 
69
69
  it "should comment if requested" do
@@ -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
- 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
- # Makes life easier by only generating changelogs between said tags.
29
- # config.between_tags = "v0.15.15,v0.16.28".split(",")
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
+ ```
@@ -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.0.3
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-11-14 00:00:00.000000000 Z
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