kettle-dev 3.0.25 → 3.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2cd8d91c81ccdd9583d9891fca16e33847e99c5f27d7730c7d10f45cd4964c8f
4
- data.tar.gz: 71bfd99738051fb53d744386489a866a90c9477613d1af2a82921bb7a4a51523
3
+ metadata.gz: 1582fd7f0bbd245a22585ae5194634a4196eba3a8f4fab15f7b021b07f26d369
4
+ data.tar.gz: d2797c4e806c11031b7c981f5110b4d3b5e9ba06bed4b285ee383c16c9c60eec
5
5
  SHA512:
6
- metadata.gz: 350321f82985a5dc9fd911e2e0fb11c9c5441cbc3abe8d43d64a550bab64c5a9f5a327700780eb191eeb11dbb7d5215492f5c2150f37f46618a7440d493fefb1
7
- data.tar.gz: 45f92406c0e64bd0d16252bb14099746aac35b7a346309497ef3e8fc3d9b30adaf2497ced7b93aca7535406cecb7d6e9e840b85f2171b72ddfef18e9b3947e27
6
+ metadata.gz: 561944e1c04ad428df2cf80c4bbd86ae65330b1a15f0ce749502a94ad788fa529602200a1db82df57e07ea8f003fb918da69661c2ff91d28b5598b12f7b6a3c5
7
+ data.tar.gz: ad54887f5ca42fb2f494ab7545aa1adfb5804e3dfe8a37ca3ead4097580f29330ee68773f5a8c0fc37640770113a6af9073fcd45cef2611871e5d75e6ec1fa67
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,17 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [3.0.26] - 2026-08-31
34
+
35
+ - TAG: [v3.0.26][3.0.26t]
36
+ - COVERAGE: 91.60% -- 5967/6514 lines in 47 files
37
+ - BRANCH COVERAGE: 76.17% -- 2286/3001 branches in 47 files
38
+ - 50.47% documented
39
+
40
+ ### Fixed
41
+
42
+ - Refresh existing GitHub Release notes while backfilling missing assets.
43
+
33
44
  ## [3.0.25] - 2026-08-31
34
45
 
35
46
  - TAG: [v3.0.25][3.0.25t]
@@ -3736,7 +3747,9 @@ Please file a bug if you notice a violation of semantic versioning.
3736
3747
  - Selecting will run the selected workflow via `act`
3737
3748
  - This may move to its own gem in the future.
3738
3749
 
3739
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.25...HEAD
3750
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.26...HEAD
3751
+ [3.0.26]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.25...v3.0.26
3752
+ [3.0.26t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.26
3740
3753
  [3.0.25]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.24...v3.0.25
3741
3754
  [3.0.25t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.25
3742
3755
  [3.0.24]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.23...v3.0.24
data/README.md CHANGED
@@ -1066,7 +1066,7 @@ Thanks for RTFM. ☺️
1066
1066
  [📌gitmoji]: https://gitmoji.dev
1067
1067
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1068
1068
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1069
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.516-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1069
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.514-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1070
1070
  [🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
1071
1071
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1072
1072
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -3069,11 +3069,13 @@ module Kettle
3069
3069
  if res.code.to_s == "422" && res.body.to_s.include?("already_exists")
3070
3070
  return [true, "already exists"] if Array(assets).empty?
3071
3071
 
3072
- upload_missing_github_release_assets(
3072
+ update_existing_github_release_with_assets(
3073
3073
  owner: owner,
3074
3074
  repo: repo,
3075
3075
  token: token,
3076
3076
  tag: tag,
3077
+ title: title,
3078
+ body: body,
3077
3079
  assets: assets
3078
3080
  )
3079
3081
  else
@@ -3084,20 +3086,30 @@ module Kettle
3084
3086
  [false, "#{e.class}: #{e.message}"]
3085
3087
  end
3086
3088
 
3087
- def upload_missing_github_release_assets(owner:, repo:, token:, tag:, assets:)
3089
+ def update_existing_github_release_with_assets(owner:, repo:, token:, tag:, title:, body:, assets:)
3088
3090
  release, error = github_release_for_tag(owner: owner, repo: repo, token: token, tag: tag)
3089
3091
  return [false, error] unless release
3090
3092
 
3093
+ updated, error = github_update_release_by_id(
3094
+ release.fetch("id"),
3095
+ owner: owner,
3096
+ repo: repo,
3097
+ token: token,
3098
+ title: title,
3099
+ body: body
3100
+ )
3101
+ return [false, error] unless updated
3102
+
3091
3103
  existing_names = Array(release["assets"]).filter_map { |asset| asset["name"] }.to_set
3092
3104
  missing_assets = Array(assets).reject { |asset| existing_names.include?(File.basename(asset)) }
3093
- return [true, "already exists with all assets present"] if missing_assets.empty?
3105
+ return [true, "updated existing release with all assets present"] if missing_assets.empty?
3094
3106
 
3095
3107
  asset_messages = missing_assets.map do |asset|
3096
3108
  github_upload_release_asset(release.fetch("id"), owner: owner, repo: repo, token: token, path: asset)
3097
3109
  end
3098
3110
  failed_asset = asset_messages.find { |ok, _message| !ok }
3099
3111
  asset_noun = asset_messages.one? ? "asset" : "assets"
3100
- failed_asset || [true, "already exists with #{asset_messages.length} #{asset_noun} uploaded"]
3112
+ failed_asset || [true, "updated existing release with #{asset_messages.length} #{asset_noun} uploaded"]
3101
3113
  end
3102
3114
 
3103
3115
  def github_release_for_tag(owner:, repo:, token:, tag:)
@@ -3135,15 +3147,13 @@ module Kettle
3135
3147
  end
3136
3148
 
3137
3149
  def github_update_release(owner:, repo:, token:, tag:, title:, body:)
3138
- lookup = URI("https://api.github.com/repos/#{owner}/#{repo}/releases/tags/#{tag}")
3139
- get = Net::HTTP::Get.new(lookup)
3140
- get["Accept"] = "application/vnd.github+json"
3141
- get["Authorization"] = "token #{token}"
3142
- get["User-Agent"] = "kettle-dev-release-cli"
3143
- release = Net::HTTP.start(lookup.host, lookup.port, use_ssl: true) { |http| http.request(get) }
3144
- return [false, "release #{tag} was not found (HTTP #{release.code})"] unless release.is_a?(Net::HTTPSuccess)
3145
-
3146
- id = JSON.parse(release.body).fetch("id")
3150
+ release, error = github_release_for_tag(owner: owner, repo: repo, token: token, tag: tag)
3151
+ return [false, error] unless release
3152
+
3153
+ github_update_release_by_id(release.fetch("id"), owner: owner, repo: repo, token: token, title: title, body: body)
3154
+ end
3155
+
3156
+ def github_update_release_by_id(id, owner:, repo:, token:, title:, body:)
3147
3157
  uri = URI("https://api.github.com/repos/#{owner}/#{repo}/releases/#{id}")
3148
3158
  request = Net::HTTP::Patch.new(uri)
3149
3159
  request["Accept"] = "application/vnd.github+json"
@@ -5,7 +5,7 @@ module Kettle
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = "3.0.25"
8
+ VERSION = "3.0.26"
9
9
  end
10
10
  # Current gem version exposed at the traditional constant location.
11
11
  VERSION = Version::VERSION # Traditional Constant Location
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kettle-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.25
4
+ version: 3.0.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -400,10 +400,10 @@ licenses:
400
400
  - AGPL-3.0-only
401
401
  metadata:
402
402
  homepage_uri: https://kettle-dev.galtzo.com
403
- source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.0.25
404
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.0.25/CHANGELOG.md
403
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.0.26
404
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.0.26/CHANGELOG.md
405
405
  bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
406
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.0.25
406
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.0.26
407
407
  funding_uri: https://github.com/sponsors/pboling
408
408
  wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
409
409
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file