chef-dk 0.19.6 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e73775c8e2cac6a86727707afc6bc80b50859cc2
4
- data.tar.gz: bbe8b8972a707c50150b723378f3e9d25a4ddea3
3
+ metadata.gz: dd414e5ce801d69ed1f78241d2e99fc3ac0c5cac
4
+ data.tar.gz: fd8dc5a6813bab3ba2d66fd9dd3dd8189adb4489
5
5
  SHA512:
6
- metadata.gz: fc6a06a608ba5d3ebd18d223de394666af092e83bd0aae46306dca306b5f3f434ab094307bc0def7e92293d0ec3467edcedecbeafff47ca82ccd0729de8914e9
7
- data.tar.gz: c0cb4b65923b34eb37aa7dd1a4e7c8562a78353a291366ef811236e4e712f1b61edc3b33e1522f17a09cdb63308520191981a1cb061828b80aba0d2d90b990f6
6
+ metadata.gz: c1c9d70a61e82174c1f138676ef3ea6df575ee1f6e63e286fbe82639da5de7f9e5b682963022ae14875ca64a6853c3f411509771693a4d429acd97502561c41c
7
+ data.tar.gz: 0bb24e25cbe06011569745db1e6db2fa00ab748ed9c21da1b3cef9b274a0fd1a097172c1776c7101805178049ea1d69713759bd8274ad1b1ea1fb08035a8547c
data/Gemfile CHANGED
@@ -52,17 +52,18 @@ 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.15.19"
55
+ gem "chef", github: "chef/chef", branch: "v12.16.42"
56
56
  gem "cheffish", ">= 4.0"
57
57
  gem "chefspec"
58
58
  gem "fauxhai"
59
- gem "foodcritic", "< 8.0"
59
+ gem "foodcritic", ">= 8.0"
60
60
  gem "inspec", ">= 0.17.1"
61
61
  gem "kitchen-ec2"
62
62
  gem "kitchen-dokken"
63
63
  gem "kitchen-inspec"
64
64
  gem "kitchen-vagrant"
65
65
  gem "knife-windows"
66
+ gem "knife-opc", ">= 0.3.2"
66
67
  gem "ohai", ">= 8.13.0"
67
68
  gem "test-kitchen"
68
69
  gem "listen"
@@ -7,13 +7,13 @@ GIT
7
7
 
8
8
  GIT
9
9
  remote: git://github.com/chef/chef.git
10
- revision: e9dac28637133e7f4fb3403a65074165052de73f
11
- branch: v12.15.19
10
+ revision: fecaf2fc865e215c95154f353d5d9b3c81b2ff7c
11
+ branch: v12.16.42
12
12
  specs:
13
- chef (12.15.19)
13
+ chef (12.16.42)
14
14
  addressable
15
15
  bundler (>= 1.10)
16
- chef-config (= 12.15.19)
16
+ chef-config (= 12.16.42)
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.15.19-universal-mingw32)
42
+ chef (12.16.42-universal-mingw32)
43
43
  addressable
44
44
  bundler (>= 1.10)
45
- chef-config (= 12.15.19)
45
+ chef-config (= 12.16.42)
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.15.19)
82
+ chef-config (12.16.42)
83
83
  addressable
84
84
  fuzzyurl
85
85
  mixlib-config (~> 2.0)
@@ -99,7 +99,7 @@ GIT
99
99
  PATH
100
100
  remote: .
101
101
  specs:
102
- chef-dk (0.19.6)
102
+ chef-dk (1.0.3)
103
103
  chef (~> 12.5)
104
104
  chef-provisioning (~> 2.0)
105
105
  cookbook-omnifetch (~> 0.2, >= 0.2.2)
@@ -121,24 +121,26 @@ GEM
121
121
  minitest (~> 5.1)
122
122
  thread_safe (~> 0.3, >= 0.3.4)
123
123
  tzinfo (~> 1.1)
124
- addressable (2.4.0)
124
+ addressable (2.5.0)
125
+ public_suffix (~> 2.0, >= 2.0.2)
125
126
  app_conf (0.4.2)
126
- artifactory (2.5.0)
127
+ artifactory (2.5.1)
127
128
  ast (2.3.0)
128
129
  autoparse (0.3.3)
129
130
  addressable (>= 2.3.1)
130
131
  extlib (>= 0.9.15)
131
132
  multi_json (>= 1.0.0)
132
- aws-sdk (2.6.9)
133
- aws-sdk-resources (= 2.6.9)
134
- aws-sdk-core (2.6.9)
133
+ aws-sdk (2.6.19)
134
+ aws-sdk-resources (= 2.6.19)
135
+ aws-sdk-core (2.6.19)
135
136
  jmespath (~> 1.0)
136
- aws-sdk-resources (2.6.9)
137
- aws-sdk-core (= 2.6.9)
137
+ aws-sdk-resources (2.6.19)
138
+ aws-sdk-core (= 2.6.19)
138
139
  aws-sdk-v1 (1.66.0)
139
140
  json (~> 1.4)
140
141
  nokogiri (>= 1.4.4)
141
- berkshelf (5.1.0)
142
+ backports (3.6.8)
143
+ berkshelf (5.2.0)
142
144
  addressable (~> 2.3, >= 2.3.4)
143
145
  berkshelf-api-client (>= 2.0.2, < 4.0)
144
146
  buff-config (~> 2.0)
@@ -212,7 +214,7 @@ GEM
212
214
  cheffish (4.0.0)
213
215
  chef-zero (~> 5.0)
214
216
  net-ssh
215
- chefspec (5.2.0)
217
+ chefspec (5.3.0)
216
218
  chef (>= 12.0)
217
219
  fauxhai (~> 3.6)
218
220
  rspec (~> 3.0)
@@ -244,11 +246,11 @@ GEM
244
246
  excon (>= 0.38.0)
245
247
  json
246
248
  erubis (2.7.0)
247
- excon (0.53.0)
249
+ excon (0.54.0)
248
250
  extlib (0.9.16)
249
251
  faraday (0.9.2)
250
252
  multipart-post (>= 1.2, < 3)
251
- fauxhai (3.9.0)
253
+ fauxhai (3.10.0)
252
254
  net-ssh
253
255
  ffi (1.9.14)
254
256
  ffi (1.9.14-x86-mingw32)
@@ -336,9 +338,9 @@ GEM
336
338
  fog-json (1.0.2)
337
339
  fog-core (~> 1.0)
338
340
  multi_json (~> 1.10)
339
- fog-local (0.3.0)
341
+ fog-local (0.3.1)
340
342
  fog-core (~> 1.27)
341
- fog-openstack (0.1.15)
343
+ fog-openstack (0.1.17)
342
344
  fog-core (>= 1.40)
343
345
  fog-json (>= 1.0)
344
346
  ipaddress (>= 0.8)
@@ -346,10 +348,10 @@ GEM
346
348
  fog-core (~> 1.27)
347
349
  fog-json (~> 1.0)
348
350
  fog-xml (~> 0.1)
349
- fog-profitbricks (2.0.1)
351
+ fog-profitbricks (3.0.0)
350
352
  fog-core (~> 1.42)
351
353
  fog-json (~> 1.0)
352
- fog-rackspace (0.1.1)
354
+ fog-rackspace (0.1.2)
353
355
  fog-core (>= 1.35)
354
356
  fog-json (>= 1.0)
355
357
  fog-xml (>= 0.1)
@@ -383,16 +385,16 @@ GEM
383
385
  fog-voxel (0.1.0)
384
386
  fog-core
385
387
  fog-xml
386
- fog-vsphere (1.2.1)
388
+ fog-vsphere (1.5.1)
387
389
  fog-core
388
- rbvmomi (~> 1.8.0)
390
+ rbvmomi (~> 1.9)
389
391
  fog-xenserver (0.2.3)
390
392
  fog-core
391
393
  fog-xml
392
394
  fog-xml (0.1.2)
393
395
  fog-core
394
396
  nokogiri (~> 1.5, >= 1.5.11)
395
- foodcritic (7.1.0)
397
+ foodcritic (8.1.0)
396
398
  cucumber-core (>= 1.3)
397
399
  erubis
398
400
  nokogiri (>= 1.5, < 2.0)
@@ -445,7 +447,7 @@ GEM
445
447
  inflecto (0.0.2)
446
448
  inifile (3.0.0)
447
449
  iniparse (1.4.2)
448
- inspec (1.2.0)
450
+ inspec (1.4.1)
449
451
  hashie (~> 3.4)
450
452
  json (>= 1.8, < 3.0)
451
453
  method_source (~> 0.8)
@@ -458,12 +460,12 @@ GEM
458
460
  rubyzip (~> 1.1)
459
461
  sslshake (~> 1)
460
462
  thor (~> 0.19)
461
- train (>= 0.19.1, < 1.0)
463
+ train (>= 0.20.1, < 1.0)
462
464
  ipaddress (0.8.3)
463
465
  jmespath (1.3.1)
464
466
  json (1.8.3)
465
467
  jwt (1.5.6)
466
- kitchen-dokken (1.0.3)
468
+ kitchen-dokken (1.0.4)
467
469
  docker-api (~> 1.29)
468
470
  test-kitchen (~> 1.5)
469
471
  kitchen-ec2 (1.2.0)
@@ -472,13 +474,15 @@ GEM
472
474
  multi_json
473
475
  retryable (~> 2.0)
474
476
  test-kitchen (~> 1.4, >= 1.4.1)
475
- kitchen-inspec (0.15.2)
476
- inspec (>= 0.22.0, < 2.0.0)
477
+ kitchen-inspec (0.16.1)
478
+ hashie (~> 3.4)
479
+ inspec (>= 0.34.0, < 2.0.0)
477
480
  test-kitchen (~> 1.6)
478
481
  kitchen-vagrant (0.20.0)
479
482
  test-kitchen (~> 1.4)
480
- knife-push (1.0.1)
481
- chef (>= 11.10.4)
483
+ knife-opc (0.3.2)
484
+ knife-push (1.0.2)
485
+ chef (>= 12.7.2)
482
486
  knife-spork (1.6.2)
483
487
  app_conf (>= 0.4.0)
484
488
  chef (>= 11.0.0)
@@ -515,7 +519,7 @@ GEM
515
519
  mixlib-log
516
520
  mixlib-cli (1.7.0)
517
521
  mixlib-config (2.2.4)
518
- mixlib-install (2.1.1)
522
+ mixlib-install (2.1.6)
519
523
  artifactory
520
524
  mixlib-shellout
521
525
  mixlib-versioning
@@ -526,7 +530,7 @@ GEM
526
530
  win32-process (~> 0.8.2)
527
531
  wmi-lite (~> 1.0)
528
532
  mixlib-versioning (1.1.0)
529
- molinillo (0.5.1)
533
+ molinillo (0.5.4)
530
534
  multi_json (1.12.1)
531
535
  multi_test (0.1.2)
532
536
  multipart-post (2.0.0)
@@ -551,9 +555,9 @@ GEM
551
555
  notiffany (0.1.1)
552
556
  nenv (~> 0.1)
553
557
  shellany (~> 0.0)
554
- octokit (4.3.0)
555
- sawyer (~> 0.7.0, >= 0.5.3)
556
- ohai (8.20.0)
558
+ octokit (4.6.0)
559
+ sawyer (~> 0.8.0, >= 0.5.3)
560
+ ohai (8.21.0)
557
561
  chef-config (>= 12.5.0.alpha.1, < 13)
558
562
  ffi (~> 1.9)
559
563
  ffi-yajl (~> 2.2)
@@ -587,19 +591,20 @@ GEM
587
591
  pry-stack_explorer (0.4.9.2)
588
592
  binding_of_caller (>= 0.7)
589
593
  pry (>= 0.9.11)
594
+ public_suffix (2.0.4)
590
595
  rack (2.0.1)
591
596
  rainbow (2.1.0)
592
597
  rake (11.3.0)
593
- rb-fsevent (0.9.7)
598
+ rb-fsevent (0.9.8)
594
599
  rb-inotify (0.9.7)
595
600
  ffi (>= 0.5.0)
596
601
  rb-readline (0.5.3)
597
- rbvmomi (1.8.2)
598
- builder
599
- nokogiri (>= 1.4.1)
600
- trollop
601
- rdoc (4.2.2)
602
- json (~> 1.4)
602
+ rbvmomi (1.9.4)
603
+ builder (~> 3.2)
604
+ json (>= 1.8)
605
+ nokogiri (~> 1.5)
606
+ trollop (~> 2.1)
607
+ rdoc (5.0.0)
603
608
  rdp-ruby-wmi (0.3.1)
604
609
  retriable (1.4.1)
605
610
  retryable (2.0.4)
@@ -654,8 +659,8 @@ GEM
654
659
  rubyzip (1.2.0)
655
660
  rufus-lru (1.1.0)
656
661
  safe_yaml (1.0.4)
657
- sawyer (0.7.0)
658
- addressable (>= 2.3.5, < 2.5)
662
+ sawyer (0.8.0)
663
+ addressable (>= 2.3.5, < 2.6)
659
664
  faraday (~> 0.8, < 0.10)
660
665
  semverse (2.0.0)
661
666
  serverspec (2.37.2)
@@ -674,12 +679,12 @@ GEM
674
679
  solve (3.0.1)
675
680
  molinillo (~> 0.4)
676
681
  semverse (>= 1.1, < 3.0)
677
- specinfra (2.63.3)
682
+ specinfra (2.66.0)
678
683
  net-scp
679
684
  net-ssh (>= 2.7, < 4.0)
680
685
  net-telnet
681
686
  sfl
682
- sslshake (1.0.12)
687
+ sslshake (1.0.13)
683
688
  stuartpreston-azure-sdk-for-ruby (0.7.2)
684
689
  json (~> 1.8)
685
690
  mime-types (> 1, < 4)
@@ -700,7 +705,7 @@ GEM
700
705
  thread_safe (0.3.5)
701
706
  timers (4.0.4)
702
707
  hitimes
703
- train (0.20.0)
708
+ train (0.21.1)
704
709
  docker-api (~> 1.26)
705
710
  json (>= 1.8, < 3.0)
706
711
  mixlib-shellout (~> 2.0)
@@ -763,7 +768,7 @@ GEM
763
768
  winrm (~> 2.0)
764
769
  wmi-lite (1.0.0)
765
770
  xml-simple (1.1.5)
766
- yajl-ruby (1.2.1)
771
+ yajl-ruby (1.3.0)
767
772
  yard (0.9.5)
768
773
 
769
774
  PLATFORMS
@@ -792,13 +797,14 @@ DEPENDENCIES
792
797
  fauxhai
793
798
  ffi
794
799
  ffi-rzmq-core
795
- foodcritic (< 8.0)
800
+ foodcritic (>= 8.0)
796
801
  guard
797
802
  inspec (>= 0.17.1)
798
803
  kitchen-dokken
799
804
  kitchen-ec2
800
805
  kitchen-inspec
801
806
  kitchen-vagrant
807
+ knife-opc (>= 0.3.2)
802
808
  knife-push
803
809
  knife-spork
804
810
  knife-windows
@@ -833,4 +839,4 @@ DEPENDENCIES
833
839
  yard
834
840
 
835
841
  BUNDLED WITH
836
- 1.12.5
842
+ 1.13.3
data/README.md CHANGED
@@ -306,6 +306,10 @@ dpkg --list | grep chefdk # or dpkg --status chefdk
306
306
  dpkg -P chefdk
307
307
  ```
308
308
 
309
+ ## Contributing
310
+
311
+ For information on contributing to this project see <https://github.com/chef/chef/blob/master/CONTRIBUTING.md>
312
+
309
313
  # For ChefDK Developers
310
314
 
311
315
  See the [Development Guide](DEVELOPMENT.md) for how to get started with
@@ -9,15 +9,16 @@ GIT
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- addressable (2.4.0)
13
- artifactory (2.5.0)
14
- aws-sdk (2.6.5)
15
- aws-sdk-resources (= 2.6.5)
16
- aws-sdk-core (2.6.5)
12
+ addressable (2.5.0)
13
+ public_suffix (~> 2.0, >= 2.0.2)
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)
17
18
  jmespath (~> 1.0)
18
- aws-sdk-resources (2.6.5)
19
- aws-sdk-core (= 2.6.5)
20
- berkshelf (5.1.0)
19
+ aws-sdk-resources (2.6.19)
20
+ aws-sdk-core (= 2.6.19)
21
+ berkshelf (5.2.0)
21
22
  addressable (~> 2.3, >= 2.3.4)
22
23
  berkshelf-api-client (>= 2.0.2, < 4.0)
23
24
  buff-config (~> 2.0)
@@ -51,7 +52,7 @@ GEM
51
52
  celluloid-io (0.16.2)
52
53
  celluloid (>= 0.16.0)
53
54
  nio4r (>= 1.1.0)
54
- chef-config (12.14.89)
55
+ chef-config (12.16.42)
55
56
  addressable
56
57
  fuzzyurl
57
58
  mixlib-config (~> 2.0)
@@ -63,7 +64,7 @@ GEM
63
64
  excon (>= 0.38.0)
64
65
  json
65
66
  erubis (2.7.0)
66
- excon (0.53.0)
67
+ excon (0.54.0)
67
68
  faraday (0.9.2)
68
69
  multipart-post (>= 1.2, < 3)
69
70
  ffi (1.9.14)
@@ -75,7 +76,7 @@ GEM
75
76
  hashie (3.4.6)
76
77
  hitimes (1.2.4)
77
78
  httpclient (2.8.2.4)
78
- inspec (1.1.0)
79
+ inspec (1.4.1)
79
80
  hashie (~> 3.4)
80
81
  json (>= 1.8, < 3.0)
81
82
  method_source (~> 0.8)
@@ -88,7 +89,7 @@ GEM
88
89
  rubyzip (~> 1.1)
89
90
  sslshake (~> 1)
90
91
  thor (~> 0.19)
91
- train (>= 0.19.1, < 1.0)
92
+ train (>= 0.20.1, < 1.0)
92
93
  jmespath (1.3.1)
93
94
  json (2.0.2)
94
95
  kitchen-ec2 (1.2.0)
@@ -97,8 +98,9 @@ GEM
97
98
  multi_json
98
99
  retryable (~> 2.0)
99
100
  test-kitchen (~> 1.4, >= 1.4.1)
100
- kitchen-inspec (0.15.2)
101
- inspec (>= 0.22.0, < 2.0.0)
101
+ kitchen-inspec (0.16.1)
102
+ hashie (~> 3.4)
103
+ inspec (>= 0.34.0, < 2.0.0)
102
104
  test-kitchen (~> 1.6)
103
105
  kitchen-vagrant (0.20.0)
104
106
  test-kitchen (~> 1.4)
@@ -120,7 +122,7 @@ GEM
120
122
  mixlib-log (1.7.1)
121
123
  mixlib-shellout (2.2.7)
122
124
  mixlib-versioning (1.1.0)
123
- molinillo (0.5.1)
125
+ molinillo (0.5.4)
124
126
  multi_json (1.12.1)
125
127
  multipart-post (2.0.0)
126
128
  net-scp (1.2.1)
@@ -130,13 +132,14 @@ GEM
130
132
  net-ssh (>= 2.6.5)
131
133
  nio4r (1.2.1)
132
134
  nori (2.6.0)
133
- octokit (4.3.0)
134
- sawyer (~> 0.7.0, >= 0.5.3)
135
+ octokit (4.6.0)
136
+ sawyer (~> 0.8.0, >= 0.5.3)
135
137
  parallel (1.9.0)
136
138
  pry (0.10.4)
137
139
  coderay (~> 1.1.0)
138
140
  method_source (~> 0.8.1)
139
141
  slop (~> 3.4)
142
+ public_suffix (2.0.4)
140
143
  rainbow (2.1.0)
141
144
  retryable (2.0.4)
142
145
  ridley (5.1.0)
@@ -176,15 +179,15 @@ GEM
176
179
  rubyntlm (0.6.1)
177
180
  rubyzip (1.2.0)
178
181
  safe_yaml (1.0.4)
179
- sawyer (0.7.0)
180
- addressable (>= 2.3.5, < 2.5)
182
+ sawyer (0.8.0)
183
+ addressable (>= 2.3.5, < 2.6)
181
184
  faraday (~> 0.8, < 0.10)
182
185
  semverse (2.0.0)
183
186
  slop (3.6.0)
184
187
  solve (3.0.1)
185
188
  molinillo (~> 0.4)
186
189
  semverse (>= 1.1, < 3.0)
187
- sslshake (1.0.12)
190
+ sslshake (1.0.13)
188
191
  test-kitchen (1.13.2)
189
192
  mixlib-install (>= 1.2, < 3.0)
190
193
  mixlib-shellout (>= 1.2, < 3.0)
@@ -196,7 +199,7 @@ GEM
196
199
  thor (0.19.1)
197
200
  timers (4.0.4)
198
201
  hitimes
199
- train (0.20.0)
202
+ train (0.21.1)
200
203
  docker-api (~> 1.26)
201
204
  json (>= 1.8, < 3.0)
202
205
  mixlib-shellout (~> 2.0)
@@ -209,7 +212,7 @@ GEM
209
212
  hashie (>= 2.0.2, < 4.0.0)
210
213
  windows_chef_zero (2.0.0)
211
214
  test-kitchen (>= 1.2.1)
212
- winrm (2.0.3)
215
+ winrm (2.1.0)
213
216
  builder (>= 2.1.2)
214
217
  erubis (~> 2.7)
215
218
  gssapi (~> 1.2)
@@ -30,7 +30,7 @@ Gem::Specification.new do |gem|
30
30
 
31
31
  gem.required_ruby_version = '>= 2.2'
32
32
 
33
- gem.files = %w{Rakefile LICENSE README.md CONTRIBUTING.md warning.txt} +
33
+ gem.files = %w{Rakefile LICENSE README.md warning.txt} +
34
34
  %w{version_policy.rb omnibus_overrides.rb} +
35
35
  Dir.glob("Gemfile*") + # Includes Gemfile and locks
36
36
  Dir.glob("*.gemspec") +
@@ -85,7 +85,13 @@ module ChefDK
85
85
  def have_git?
86
86
  path = ENV["PATH"] || ""
87
87
  paths = path.split(File::PATH_SEPARATOR)
88
- paths.any? {|bin_path| File.exist?(File.join(bin_path, "git#{RbConfig::CONFIG['EXEEXT']}"))}
88
+ exts = [RbConfig::CONFIG['EXEEXT']]
89
+ exts.concat(ENV["PATHEXT"].split(";")) unless ENV["PATHEXT"].nil?
90
+ paths.any? do |bin_path|
91
+ exts.any? do |ext|
92
+ File.exist?(File.join(bin_path, "git#{ext}"))
93
+ end
94
+ end
89
95
  end
90
96
 
91
97
  private
@@ -387,6 +387,7 @@ end
387
387
 
388
388
  sh!("#{usr_bin_path("ohai")} -v")
389
389
  sh!("#{usr_bin_path("foodcritic")} -V")
390
+ sh!("#{usr_bin_path("inspec")} version")
390
391
  end
391
392
 
392
393
  # Test blocks are expected to return a Mixlib::ShellOut compatible
@@ -14,10 +14,11 @@
14
14
  [local_phases]
15
15
  unit = "rspec spec/"
16
16
  lint = "cookstyle"
17
- # Foodcritic expects an `issues_url` and `source_url` in the metadata.rb
18
- # We turn this off by default because only cookbooks uploaded to the
19
- # Supermarket will have these added.
20
- syntax = "foodcritic . --exclude spec -f any -t \"~FC064\" -t \"~FC065\""
17
+ # Foodcritic includes rules only appropriate for community cookbooks
18
+ # uploaded to Supermarket. We turn off any rules tagged "supermarket"
19
+ # by default. If you plan to share this cookbook you should remove
20
+ # '-t ~supermarket' below to enable supermarket rules.
21
+ syntax = "foodcritic . --exclude spec -f any -t ~supermarket"
21
22
  provision = "chef exec kitchen create"
22
23
  deploy = "chef exec kitchen converge"
23
24
  smoke = "chef exec kitchen verify"
@@ -1,5 +1,4 @@
1
1
  .vagrant
2
- Berksfile.lock
3
2
  *~
4
3
  *#
5
4
  .#*
@@ -12,5 +11,11 @@ Gemfile.lock
12
11
  bin/*
13
12
  .bundle/*
14
13
 
14
+ # test kitchen
15
15
  .kitchen/
16
16
  .kitchen.local.yml
17
+
18
+ # Chef
19
+ Berksfile.lock
20
+ .zero-knife.rb
21
+ Policyfile.lock.json
@@ -16,5 +16,5 @@
16
16
  #
17
17
 
18
18
  module ChefDK
19
- VERSION = "0.19.6"
19
+ VERSION = "1.0.3"
20
20
  end
@@ -133,4 +133,49 @@ describe ChefDK::Command::GeneratorCommands::Base do
133
133
  end
134
134
  end
135
135
  end
136
+
137
+ describe '#have_git?' do
138
+ let(:cmd) { described_class.new([]) }
139
+ let(:path) { 'bin_path' }
140
+
141
+ before do
142
+ allow(File).to receive(:exist?)
143
+ allow(ENV).to receive(:[]).with('PATH').and_return(path)
144
+ allow(ENV).to receive(:[]).with('PATHEXT').and_return(nil)
145
+ allow(RbConfig::CONFIG).to receive(:[]).with('EXEEXT').and_return('')
146
+ end
147
+
148
+ describe 'when git executable exists' do
149
+ it 'returns true' do
150
+ allow(File).to receive(:exist?).and_return(true)
151
+ expect(cmd.have_git?).to eq(true)
152
+ end
153
+ end
154
+
155
+ describe 'when git executable does not exist' do
156
+ it 'returns false' do
157
+ allow(File).to receive(:exist?).and_return(false)
158
+ expect(cmd.have_git?).to eq(false)
159
+ end
160
+ end
161
+
162
+ it 'checks PATH for git executable' do
163
+ expect(File).to receive(:exist?).with(File.join(path, 'git'))
164
+ cmd.have_git?
165
+ end
166
+
167
+ describe 'when on Windows' do
168
+ before do
169
+ allow(ENV).to receive(:[]).with('PATHEXT').and_return('.com;.exe;.bat')
170
+ allow(RbConfig::CONFIG).to receive(:[]).with('EXEEXT').and_return('.exe')
171
+ end
172
+
173
+ it 'checks PATH for git executable with an extension found in PATHEXT' do
174
+ expect(File).to receive(:exist?).with(File.join(path, 'git.com'))
175
+ expect(File).to receive(:exist?).with(File.join(path, 'git.exe'))
176
+ expect(File).to receive(:exist?).with(File.join(path, 'git.bat'))
177
+ cmd.have_git?
178
+ end
179
+ end
180
+ end
136
181
  end
@@ -195,10 +195,11 @@ EOF
195
195
  [local_phases]
196
196
  unit = "rspec spec/"
197
197
  lint = "cookstyle"
198
- # Foodcritic expects an `issues_url` and `source_url` in the metadata.rb
199
- # We turn this off by default because only cookbooks uploaded to the
200
- # Supermarket will have these added.
201
- syntax = "foodcritic . --exclude spec -f any -t \\\"~FC064\\\" -t \\\"~FC065\\\""
198
+ # Foodcritic includes rules only appropriate for community cookbooks
199
+ # uploaded to Supermarket. We turn off any rules tagged "supermarket"
200
+ # by default. If you plan to share this cookbook you should remove
201
+ # '-t ~supermarket' below to enable supermarket rules.
202
+ syntax = "foodcritic . --exclude spec -f any -t ~supermarket"
202
203
  provision = "chef exec kitchen create"
203
204
  deploy = "chef exec kitchen converge"
204
205
  smoke = "chef exec kitchen verify"
@@ -53,6 +53,34 @@ namespace :version do
53
53
  IO.write(version_rb_path, new_version_file)
54
54
  end
55
55
 
56
+ desc "Bump the minor version in lib/chef-dk/version.rb"
57
+ task :bump_minor do
58
+ current_version_file = IO.read(version_rb_path)
59
+ new_version = nil
60
+ new_version_file = current_version_file.sub(/^(\s*VERSION\s*=\s*")(\d+)\.(\d+)\.(\d+)/) do
61
+ new_version = "#{$2}.#{$3.to_i + 1}.0"
62
+ "#{$1}#{new_version}"
63
+ end
64
+ puts "Updating version in #{version_rb_path} from #{version} to #{new_version.chomp}"
65
+ IO.write(version_rb_path, new_version_file)
66
+ Rake::Task["version:update_gemfile_lock"].invoke
67
+ Rake::Task["bundle:install"].invoke
68
+ end
69
+
70
+ desc "Bump the major version in lib/chef-dk/version.rb"
71
+ task :bump_major do
72
+ current_version_file = IO.read(version_rb_path)
73
+ new_version = nil
74
+ new_version_file = current_version_file.sub(/^(\s*VERSION\s*=\s*")(\d+)\.(\d+)\.(\d+)/) do
75
+ new_version = "#{$2.to_i + 1}.0.0"
76
+ "#{$1}#{new_version}"
77
+ end
78
+ puts "Updating version in #{version_rb_path} from #{version} to #{new_version.chomp}"
79
+ IO.write(version_rb_path, new_version_file)
80
+ Rake::Task["version:update_gemfile_lock"].invoke
81
+ Rake::Task["bundle:install"].invoke
82
+ end
83
+
56
84
  desc "Update the Gemfile.lock to include the current chef-dk version"
57
85
  task :update_gemfile_lock do
58
86
  if File.exist?(gemfile_lock_path)
@@ -65,5 +93,4 @@ namespace :version do
65
93
  end
66
94
  end
67
95
 
68
-
69
96
  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: 0.19.6
4
+ version: 1.0.3
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-10-17 00:00:00.000000000 Z
13
+ date: 2016-11-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: mixlib-cli
@@ -244,7 +244,6 @@ executables:
244
244
  extensions: []
245
245
  extra_rdoc_files: []
246
246
  files:
247
- - CONTRIBUTING.md
248
247
  - Gemfile
249
248
  - Gemfile.lock
250
249
  - LICENSE
@@ -644,7 +643,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
644
643
  version: '0'
645
644
  requirements: []
646
645
  rubyforge_project:
647
- rubygems_version: 2.6.7
646
+ rubygems_version: 2.6.8
648
647
  signing_key:
649
648
  specification_version: 4
650
649
  summary: A streamlined development and deployment workflow for Chef platform.
@@ -1,161 +0,0 @@
1
- # Contributing to Chef
2
-
3
- We are glad you want to contribute to Chef!
4
-
5
- We utilize **Github Issues** for issue tracking and contributions. You can contribute in two ways:
6
-
7
- 1. Reporting an issue or making a feature request [here](#issues).
8
- 2. Adding features or fixing bugs yourself and contributing your code to Chef.
9
-
10
- ## Contribution Process
11
-
12
- We have a 3 step process that utilizes **Github Issues**:
13
-
14
- 1. Sign or be added to an existing [Contributor License Agreement (CLA)](https://supermarket.chef.io/become-a-contributor).
15
- 2. Create a Github Pull Request.
16
- 3. Do [Code Review](#cr) with the **Chef Engineering Team** or **Chef Core Committers** on the pull request.
17
-
18
- ### <a name="pulls"></a> Chef Pull Requests
19
-
20
- Chef is built to last. We strive to ensure high quality throughout the Chef experience. In order to ensure
21
- this, we require a couple of things for all pull requests to Chef:
22
-
23
- 1. **Tests:** To ensure high quality code and protect against future regressions, we require all the
24
- code in Chef to have at least unit test coverage. Run ```bundle exec rspec``` from the project root
25
- to execute the tests.
26
- 2. **Green Travis Run:** We use [Travis CI](https://travis-ci.org/) in order to run our tests
27
- continuously on all the pull requests. We require the Travis runs to succeed on every pull
28
- request before being merged.
29
-
30
-
31
- ### <a name="cr"></a> Chef Code Review Process
32
-
33
- The Chef Code Review process happens on Github pull requests. See
34
- [this article](https://help.github.com/articles/using-pull-requests) if you're not
35
- familiar with Github Pull Requests.
36
-
37
- Once you a pull request, the **Chef Engineering Team** or **Chef Core Committers** will review your code
38
- and respond to you with any feedback they might have. The process at this point is as follows:
39
-
40
- 1. 2 thumbs-ups are required from the **Chef Engineering Team** or **Chef Core Committers** for all merges.
41
- 2. When ready, your pull request will be tagged with label `Ready For Merge`.
42
- 3. Your patch will be merged into `master` including necessary documentation updates
43
- and you will be included in `CHANGELOG.md`. Our goal is to have patches merged in 2 weeks
44
- after they are marked to be merged.
45
-
46
- If you would like to learn about when your code will be available in a release of Chef, read more about
47
- [Chef Release Process](#release).
48
-
49
-
50
- ### Contributor License Agreement (CLA)
51
- Licensing is very important to open source projects. It helps ensure the
52
- software continues to be available under the terms that the author desired.
53
-
54
- Chef uses [the Apache 2.0 license](https://github.com/chef/chef/blob/master/LICENSE)
55
- to strike a balance between open contribution and allowing you to use the
56
- software however you would like to.
57
-
58
- The license tells you what rights you have that are provided by the copyright holder.
59
- It is important that the contributor fully understands what rights they are
60
- licensing and agrees to them. Sometimes the copyright holder isn't the contributor,
61
- such as when the contributor is doing work for a company.
62
-
63
- To make a good faith effort to ensure these criteria are met, Chef requires an Individual CLA
64
- or a Corporate CLA for contributions. This agreement helps ensure you are aware of the
65
- terms of the license you are contributing your copyrighted works under, which helps to
66
- prevent the inclusion of works in the projects that the contributor does not hold the rights
67
- to share.
68
-
69
- It only takes a few minutes to complete a CLA, and you retain the copyright to your contribution.
70
-
71
- You can complete our
72
- [Individual CLA](https://supermarket.chef.io/icla-signatures/new) online.
73
- If you're contributing on behalf of your employer and they retain the copyright for your works,
74
- have your employer fill out our
75
- [Corporate CLA](https://supermarket.chef.io/ccla-signatures/new) instead.
76
-
77
- ### Chef Obvious Fix Policy
78
-
79
- Small contributions such as fixing spelling errors, where the content is small enough
80
- to not be considered intellectual property, can be submitted by a contributor as a patch,
81
- without a CLA.
82
-
83
- As a rule of thumb, changes are obvious fixes if they do not introduce any new functionality
84
- or creative thinking. As long as the change does not affect functionality, some likely
85
- examples include the following:
86
-
87
- * Spelling / grammar fixes
88
- * Typo correction, white space and formatting changes
89
- * Comment clean up
90
- * Bug fixes that change default return values or error codes stored in constants
91
- * Adding logging messages or debugging output
92
- * Changes to ‘metadata’ files like Gemfile, .gitignore, build scripts, etc.
93
- * Moving source files from one directory or package to another
94
-
95
- **Whenever you invoke the “obvious fix” rule, please say so in your commit message:**
96
-
97
- ```
98
- ------------------------------------------------------------------------
99
- commit 370adb3f82d55d912b0cf9c1d1e99b132a8ed3b5
100
- Author: danielsdeleo <dan@chef.io>
101
- Date: Wed Sep 18 11:44:40 2013 -0700
102
-
103
- Fix typo in config file docs.
104
-
105
- Obvious fix.
106
-
107
- ------------------------------------------------------------------------
108
- ```
109
-
110
- ## <a name="issues"></a> Chef Issue Tracking
111
-
112
- Chef Issue Tracking is handled using Github Issues.
113
-
114
- If you are familiar with Chef and know the component that is causing you a problem or if you
115
- have a feature request on a specific component you can file an issue in the corresponding
116
- Github project. All of our Open Source Software can be found in our
117
- [Github organization](https://github.com/chef/).
118
-
119
- Otherwise you can file your issue in the [Chef project](https://github.com/chef/chef/issues)
120
- and we will make sure it gets filed against the appropriate project.
121
-
122
-
123
- ## <a name="release"></a> Chef Release Cycles
124
-
125
- Our primary shipping vehicle is operating system specific packages that includes
126
- all the requirements of Chef. We call these [Omnibus packages](https://github.com/chef/omnibus)
127
-
128
- We also release our software as gems to [Rubygems](https://rubygems.org/) but we strongly
129
- recommend using Chef packages since they are the only combination of native libraries &
130
- gems required by Chef that we test throughly.
131
-
132
- Our version numbering closely follows [Semantic Versioning](http://semver.org/) standard. Our
133
- standard version numbers look like X.Y.Z which mean:
134
-
135
- * X is a major release, which may not be fully compatible with prior major releases
136
- * Y is a minor release, which adds both new features and bug fixes
137
- * Z is a patch release, which adds just bug fixes
138
-
139
- We frequently make `alpha` and `beta` releases with version numbers that look like
140
- `X.Y.Z.alpha.0` or `X.Y.Z.beta.1`. These releases are still well tested but not as
141
- throughly as **Minor** or **Patch** releases.
142
-
143
- We do a `Minor` release approximately every 3 months and `Patch` releases on a when-needed
144
- basis for regressions, significant bugs, and security issues.
145
-
146
- Announcements of releases are available on [Chef Blog](https://www.chef.io/blog/) when they are
147
- available.
148
-
149
- ## Chef Community
150
-
151
- Chef is made possible by a strong community of developers and system administrators. If you have
152
- any questions or if you would like to get involved in the Chef community you can check out:
153
-
154
- * [chef](https://discourse.chef.io/) and [chef-dev](https://discourse.chef.io/c/dev) mailing lists and mailing list [FAQ](https://discourse.chef.io/t/welcome-to-the-chef-mailing-list/7070)
155
- * [\#chef](https://botbot.me/freenode/chef) and [\#chef-hacking](https://botbot.me/freenode/chef-hacking) IRC channels on irc.freenode.net
156
-
157
- Also here are some additional pointers to some awesome Chef content:
158
-
159
- * [Chef Docs](https://docs.chef.io/)
160
- * [Learn Chef](https://learn.chef.io/)
161
- * [Chef Inc](https://www.chef.io/)