pdk 3.3.0 → 3.4.0

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
  SHA256:
3
- metadata.gz: 7ea7fd13c13423022b2ef3e28275d98860b34b9afe9d4b5ccac56c06a0a29346
4
- data.tar.gz: 5025806f00ad6d9b36bb0957d8da65765cc46cd335c11ef75cf3b82f88a61e79
3
+ metadata.gz: b8d097ab722c6b85e1a3f6bd87790a9d41c3a6de0efef08dbea9d9661ced6275
4
+ data.tar.gz: de41ce5f8860c34521f4001b4c882f4424b427fb6d85398332eba1b9ef8e324c
5
5
  SHA512:
6
- metadata.gz: a3b2866a2a221d87d7c87ecc15231b0a97b00bce150cdd97fd6a6a1ee99f36d9ead2fcee2aef644360aaef84e499f1adff1cdb8de9a10ec084ac302743255a6a
7
- data.tar.gz: e4fbd9517b238b85d55c59df0a838f831ac1033e84ec2daa96487470f91e1c5954bf96208b223311ab8c8e4c00bc3150570094017576d7e1ffb105c57f2f2eff
6
+ metadata.gz: 89b14fb73fb9122d4ce879f9260028ea8bc67a50f0e81c9b96a223c2087ed8493051eca0dde8d708ac37ffd984d88a0f19e950e1864395d6db0313364871df4d
7
+ data.tar.gz: 9d94174c163ebca1f7b16b0da7a51bb0767de7a2c5868cdb7d291f2c8f086dbc12a4ed7f90180c8ccd7c1f44f321119c78cf62e43155ee327d29508e70463b82
data/CHANGELOG.md CHANGED
@@ -5,21 +5,44 @@ All notable changes to this project will be documented in this file.
5
5
 
6
6
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org).
7
7
 
8
- ## [v3.3.0](https://github.com/puppetlabs/pdk/tree/v3.3.0) - 2024-09-10
8
+ ## [v3.4.0](https://github.com/puppetlabs/pdk/tree/v3.4.0) - 2024-11-25
9
+
10
+ [Full Changelog](https://github.com/puppetlabs/pdk/compare/v3.3.0...v3.4.0)
11
+
12
+ ### Added
13
+
14
+ - (CAT-2141) Update `json-schema` dependency [#1412](https://github.com/puppetlabs/pdk/pull/1412) ([david22swan](https://github.com/david22swan))
15
+ - (CAT-643) Add forge gem upload functionality [#1403](https://github.com/puppetlabs/pdk/pull/1403) ([danadoherty639](https://github.com/danadoherty639))
16
+
17
+ ### Fixed
18
+
19
+ - (CAT-2162) Remove support for SLES 12 [#1418](https://github.com/puppetlabs/pdk/pull/1418) ([david22swan](https://github.com/david22swan))
20
+ - (CAT-2155) Remove metadata_syntax_validator parser swap to `JSON::Pure` [#1415](https://github.com/puppetlabs/pdk/pull/1415) ([david22swan](https://github.com/david22swan))
21
+ - (CAT-2128) Remove `json_pure` dependency [#1411](https://github.com/puppetlabs/pdk/pull/1411) ([david22swan](https://github.com/david22swan))
22
+ - (maint) Fix Gem::Platform.match() deprecation warning [#1408](https://github.com/puppetlabs/pdk/pull/1408) ([jhbuchanan45](https://github.com/jhbuchanan45))
23
+ - (CAT-2007) Update http setting cert to setting ca_file [#1398](https://github.com/puppetlabs/pdk/pull/1398) ([david22swan](https://github.com/david22swan))
24
+ - (CAT-2007) Use vendored cert files and VERIFY_PEER wth NET::HTTP on Windows [#1396](https://github.com/puppetlabs/pdk/pull/1396) ([david22swan](https://github.com/david22swan))
25
+ - (CAT-2040) pdk spinner inconsistent on windows [#1394](https://github.com/puppetlabs/pdk/pull/1394) ([alex501212](https://github.com/alex501212))
26
+
27
+ ## [v3.3.0](https://github.com/puppetlabs/pdk/tree/v3.3.0) - 2024-09-11
9
28
 
10
29
  [Full Changelog](https://github.com/puppetlabs/pdk/compare/v3.2.0...v3.3.0)
11
30
 
12
- ## Added
31
+ ### Added
13
32
 
33
+ - (CAT-1928) Update Supported OS on new module to match what is expected [#1381](https://github.com/puppetlabs/pdk/pull/1381) ([david22swan](https://github.com/david22swan))
34
+ - (CAT-1896) - Use puppet-modulebuilder for `PDK build` [#1374](https://github.com/puppetlabs/pdk/pull/1374) ([jordanbreen28](https://github.com/jordanbreen28))
14
35
  - Skip 'name' validation when in a controlrepo context [#1352](https://github.com/puppetlabs/pdk/pull/1352) ([garrettrowell](https://github.com/garrettrowell))
15
- - (CAT-1896) - Use puppet-modulebuilder for PDK build [#1374](https://github.com/puppetlabs/pdk/pull/1374) ([jordanbreen28](https://github.com/jordanbreen28))
16
36
 
17
37
  ### Fixed
18
38
 
39
+ - (CAT-2026) Update how `pdk test unit --list` detects an error [#1388](https://github.com/puppetlabs/pdk/pull/1388) ([david22swan](https://github.com/david22swan))
40
+ - Support executable templates on filesystems mounted with `noexec` [#1383](https://github.com/puppetlabs/pdk/pull/1383) ([nabertrand](https://github.com/nabertrand))
41
+ - (CAT-1786) Remove Fedora 36 from the and add Fedora 40 to the PDK README [#1379](https://github.com/puppetlabs/pdk/pull/1379) ([LukasAud](https://github.com/LukasAud))
42
+ - (CAT-648) - Mark release*.rb files as non-executable [#1378](https://github.com/puppetlabs/pdk/pull/1378) ([jordanbreen28](https://github.com/jordanbreen28))
19
43
  - (CAT-1643) Update childprocess and remove patch [#1356](https://github.com/puppetlabs/pdk/pull/1356) ([david22swan](https://github.com/david22swan))
20
- - (CAT-2026) Update how pdk test unit --list detects an error [#1388](https://github.com/puppetlabs/pdk/pull/1388) ([david22swan](https://github.com/david22swan))
21
44
 
22
- ## [v3.2.0](https://github.com/puppetlabs/pdk/tree/v3.2.0) - 2024-05-02
45
+ ## [v3.2.0](https://github.com/puppetlabs/pdk/tree/v3.2.0) - 2024-05-08
23
46
 
24
47
  [Full Changelog](https://github.com/puppetlabs/pdk/compare/v3.1.0...v3.2.0)
25
48
 
@@ -57,6 +80,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
57
80
  [Full Changelog](https://github.com/puppetlabs/pdk/compare/v2.7.1...v3.0.0)
58
81
 
59
82
  ### Changed
83
+
60
84
  - (CONT-1134) Bump PDK Templates REF [#1264](https://github.com/puppetlabs/pdk/pull/1264) ([chelnak](https://github.com/chelnak))
61
85
  - (CONT-1154) Disable console command [#1263](https://github.com/puppetlabs/pdk/pull/1263) ([chelnak](https://github.com/chelnak))
62
86
  - (CONT-1130) Bump PDK gem version [#1260](https://github.com/puppetlabs/pdk/pull/1260) ([chelnak](https://github.com/chelnak))
@@ -80,7 +80,7 @@ module PDK
80
80
 
81
81
  require 'pdk/cli/util/spinner'
82
82
 
83
- @spinner = TTY::Spinner.new("[:spinner] #{message}", opts.merge(PDK::CLI::Util.spinner_opts_for_platform))
83
+ @spinner = TTY::Spinner.new("[:spinner] #{message}")
84
84
  end
85
85
 
86
86
  def update_environment(additional_env)
data/lib/pdk/cli/util.rb CHANGED
@@ -28,18 +28,6 @@ module PDK
28
28
  end
29
29
  module_function :ensure_in_module!
30
30
 
31
- def spinner_opts_for_platform
32
- windows_opts = {
33
- success_mark: '*',
34
- error_mark: 'X'
35
- }
36
-
37
- return windows_opts if Gem.win_platform?
38
-
39
- {}
40
- end
41
- module_function :spinner_opts_for_platform
42
-
43
31
  def prompt_for_yes(question_text, opts = {})
44
32
  require 'tty/prompt'
45
33
 
@@ -147,28 +147,16 @@ module PDK
147
147
  validate_publish_options!
148
148
  raise PDK::CLI::ExitWithError, format('Module tarball %{tarball_path} does not exist', tarball_path: tarball_path) unless PDK::Util::Filesystem.file?(tarball_path)
149
149
 
150
- # TODO: Replace this code when the upload functionality is added to the forge ruby gem
151
- require 'base64'
152
- file_data = Base64.encode64(PDK::Util::Filesystem.read_file(tarball_path, open_args: 'rb'))
153
-
154
150
  PDK.logger.info 'Uploading tarball to puppet forge...'
155
- uri = URI(forge_upload_url)
156
- require 'net/http'
157
- request = Net::HTTP::Post.new(uri.path)
158
- request['Authorization'] = "Bearer #{forge_token}"
159
- request['Content-Type'] = 'application/json'
160
- data = { file: file_data }
161
-
162
- request.body = data.to_json
163
-
164
- require 'openssl'
165
- use_ssl = uri.instance_of?(URI::HTTPS)
166
- response = Net::HTTP.start(uri.host, uri.port, use_ssl: use_ssl) do |http|
167
- http.request(request)
151
+ begin
152
+ require 'puppet_forge'
153
+ PuppetForge.host = forge_upload_url
154
+ PuppetForge::Connection.authorization = forge_token
155
+ PuppetForge::V3::Release.upload(tarball_path)
156
+ rescue StandardError => e
157
+ raise PDK::CLI::ExitWithError, format('Error uploading to Puppet Forge: %{result}', result: e.message)
168
158
  end
169
159
 
170
- raise PDK::CLI::ExitWithError, format('Error uploading to Puppet Forge: %{result}', result: response.body) unless response.is_a?(Net::HTTPSuccess)
171
-
172
160
  PDK.logger.info 'Publish to Forge was successful'
173
161
  end
174
162
 
@@ -182,7 +182,7 @@ module PDK
182
182
  @rubygems_puppet_versions ||= begin
183
183
  fetcher = Gem::SpecFetcher.fetcher
184
184
  puppet_tuples = fetcher.detect(:released) do |spec_tuple|
185
- spec_tuple.name == 'puppet' && Gem::Platform.match(spec_tuple.platform)
185
+ spec_tuple.name == 'puppet' && Gem::Platform.match_spec?(spec_tuple)
186
186
  end
187
187
  puppet_versions = puppet_tuples.map { |name, _| name.version }.uniq
188
188
  puppet_versions.sort.reverse
@@ -51,8 +51,10 @@ module PDK
51
51
  uri = URI.parse(url)
52
52
  http = Net::HTTP.new(uri.host, uri.port)
53
53
  http.use_ssl = true
54
- # TODO: Get rid of this
55
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE if Gem.win_platform?
54
+ if Gem.win_platform?
55
+ http.ca_file = 'C:/Program Files/Puppet Labs/DevelopmentKit/ssl/cert.pem'
56
+ http.verify_mode = OpenSSL::SSL::VERIFY_PEER
57
+ end
56
58
  request = Net::HTTP::Get.new(uri.request_uri)
57
59
  response = http.request(request)
58
60
 
@@ -161,9 +161,9 @@ module PDK
161
161
  if parent_validator.nil? || parent_validator.spinner.nil? || !parent_validator.spinner.is_a?(TTY::Spinner::Multi)
162
162
  c.add_spinner(spinner_text_for_targets(invokation_targets))
163
163
  else
164
- spinner = TTY::Spinner.new("[:spinner] #{spinner_text_for_targets(invokation_targets)}", PDK::CLI::Util.spinner_opts_for_platform)
164
+ spinner = TTY::Spinner.new("[:spinner] #{spinner_text_for_targets(invokation_targets)}")
165
165
  parent_validator.spinner.register(spinner)
166
- c.register_spinner(spinner, PDK::CLI::Util.spinner_opts_for_platform)
166
+ c.register_spinner(spinner)
167
167
  end
168
168
  end
169
169
  end
@@ -138,7 +138,7 @@ module PDK
138
138
 
139
139
  require 'pdk/cli/util/spinner'
140
140
 
141
- @spinner = TTY::Spinner.new("[:spinner] #{spinner_text}", PDK::CLI::Util.spinner_opts_for_platform)
141
+ @spinner = TTY::Spinner.new("[:spinner] #{spinner_text}")
142
142
  end
143
143
 
144
144
  # Process any targets that were skipped by the validator and add the events to the validation report
@@ -22,15 +22,6 @@ module PDK
22
22
  JSON.parser = JSON::Ext::Parser if defined?(JSON::Ext::Parser)
23
23
  end
24
24
 
25
- def before_validation
26
- # The pure ruby JSON parser gives much nicer parse error messages than
27
- # the C extension at the cost of slightly slower parsing. We require it
28
- # here and restore the C extension at the end of the method (if it was
29
- # being used).
30
- require 'json/pure'
31
- JSON.parser = JSON::Pure::Parser
32
- end
33
-
34
25
  def validate_target(report, target)
35
26
  unless PDK::Util::Filesystem.readable?(target)
36
27
  report.add_event(
@@ -56,9 +47,7 @@ module PDK
56
47
  rescue JSON::ParserError => e
57
48
  # Because the message contains a raw segment of the file, we use
58
49
  # String#dump here to unescape any escape characters like newlines.
59
- # We then strip out the surrounding quotes and the exclaimation
60
- # point that json_pure likes to put in exception messages.
61
- sane_message = e.message.dump[/\A"(.+?)!?"\Z/, 1]
50
+ sane_message = e.message.dump
62
51
 
63
52
  report.add_event(
64
53
  file: target,
@@ -42,7 +42,7 @@ module PDK
42
42
 
43
43
  require 'pdk/cli/util/spinner'
44
44
 
45
- @spinner = TTY::Spinner::Multi.new("[:spinner] #{spinner_text}", PDK::CLI::Util.spinner_opts_for_platform)
45
+ @spinner = TTY::Spinner::Multi.new("[:spinner] #{spinner_text}")
46
46
 
47
47
  # Register the child spinners
48
48
  validator_instances.each do |instance|
data/lib/pdk/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module PDK
2
- VERSION = '3.3.0'.freeze
3
- TEMPLATE_REF = '3.3.0'.freeze
2
+ VERSION = '3.4.0'.freeze
3
+ TEMPLATE_REF = '3.4.0'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-10 00:00:00.000000000 Z
11
+ date: 2024-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -154,14 +154,14 @@ dependencies:
154
154
  requirements:
155
155
  - - "~>"
156
156
  - !ruby/object:Gem::Version
157
- version: '4.0'
157
+ version: '5.0'
158
158
  type: :runtime
159
159
  prerelease: false
160
160
  version_requirements: !ruby/object:Gem::Requirement
161
161
  requirements:
162
162
  - - "~>"
163
163
  - !ruby/object:Gem::Version
164
- version: '4.0'
164
+ version: '5.0'
165
165
  - !ruby/object:Gem::Dependency
166
166
  name: puppet-modulebuilder
167
167
  requirement: !ruby/object:Gem::Requirement
@@ -205,33 +205,33 @@ dependencies:
205
205
  - !ruby/object:Gem::Version
206
206
  version: 1.5.0
207
207
  - !ruby/object:Gem::Dependency
208
- name: json_pure
208
+ name: pathspec
209
209
  requirement: !ruby/object:Gem::Requirement
210
210
  requirements:
211
211
  - - "~>"
212
212
  - !ruby/object:Gem::Version
213
- version: 2.6.3
213
+ version: '1.1'
214
214
  type: :runtime
215
215
  prerelease: false
216
216
  version_requirements: !ruby/object:Gem::Requirement
217
217
  requirements:
218
218
  - - "~>"
219
219
  - !ruby/object:Gem::Version
220
- version: 2.6.3
220
+ version: '1.1'
221
221
  - !ruby/object:Gem::Dependency
222
- name: pathspec
222
+ name: puppet_forge
223
223
  requirement: !ruby/object:Gem::Requirement
224
224
  requirements:
225
225
  - - "~>"
226
226
  - !ruby/object:Gem::Version
227
- version: '1.1'
227
+ version: '5.0'
228
228
  type: :runtime
229
229
  prerelease: false
230
230
  version_requirements: !ruby/object:Gem::Requirement
231
231
  requirements:
232
232
  - - "~>"
233
233
  - !ruby/object:Gem::Version
234
- version: '1.1'
234
+ version: '5.0'
235
235
  description: A CLI to facilitate easy, unified development workflows for Puppet modules.
236
236
  email:
237
237
  - pdk-maintainers@puppet.com
@@ -383,7 +383,7 @@ homepage: https://github.com/puppetlabs/pdk
383
383
  licenses: []
384
384
  metadata:
385
385
  rubygems_mfa_required: 'true'
386
- post_install_message:
386
+ post_install_message:
387
387
  rdoc_options: []
388
388
  require_paths:
389
389
  - lib
@@ -398,8 +398,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
398
398
  - !ruby/object:Gem::Version
399
399
  version: '0'
400
400
  requirements: []
401
- rubygems_version: 3.5.17
402
- signing_key:
401
+ rubygems_version: 3.1.6
402
+ signing_key:
403
403
  specification_version: 4
404
404
  summary: A key part of the Puppet Development Kit, the shortest path to better modules
405
405
  test_files: []