kettle-dev 3.0.24 → 3.0.25
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +14 -1
- data/README.md +1 -1
- data/lib/kettle/dev/release_cli.rb +39 -2
- data/lib/kettle/dev/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +4 -4
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2cd8d91c81ccdd9583d9891fca16e33847e99c5f27d7730c7d10f45cd4964c8f
|
|
4
|
+
data.tar.gz: 71bfd99738051fb53d744386489a866a90c9477613d1af2a82921bb7a4a51523
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 350321f82985a5dc9fd911e2e0fb11c9c5441cbc3abe8d43d64a550bab64c5a9f5a327700780eb191eeb11dbb7d5215492f5c2150f37f46618a7440d493fefb1
|
|
7
|
+
data.tar.gz: 45f92406c0e64bd0d16252bb14099746aac35b7a346309497ef3e8fc3d9b30adaf2497ced7b93aca7535406cecb7d6e9e840b85f2171b72ddfef18e9b3947e27
|
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.25] - 2026-08-31
|
|
34
|
+
|
|
35
|
+
- TAG: [v3.0.25][3.0.25t]
|
|
36
|
+
- COVERAGE: 91.30% -- 5949/6516 lines in 47 files
|
|
37
|
+
- BRANCH COVERAGE: 76.09% -- 2282/2999 branches in 47 files
|
|
38
|
+
- 50.47% documented
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- Attach missing assets when recovering an existing GitHub Release.
|
|
43
|
+
|
|
33
44
|
## [3.0.24] - 2026-08-31
|
|
34
45
|
|
|
35
46
|
- TAG: [v3.0.24][3.0.24t]
|
|
@@ -3725,7 +3736,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
3725
3736
|
- Selecting will run the selected workflow via `act`
|
|
3726
3737
|
- This may move to its own gem in the future.
|
|
3727
3738
|
|
|
3728
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.
|
|
3739
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.25...HEAD
|
|
3740
|
+
[3.0.25]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.24...v3.0.25
|
|
3741
|
+
[3.0.25t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.25
|
|
3729
3742
|
[3.0.24]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.23...v3.0.24
|
|
3730
3743
|
[3.0.24t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.24
|
|
3731
3744
|
[3.0.23]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.22...v3.0.23
|
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.
|
|
1069
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-6.516-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
|
|
@@ -3066,9 +3066,16 @@ module Kettle
|
|
|
3066
3066
|
failed_asset = asset_messages.find { |ok, _message| !ok }
|
|
3067
3067
|
failed_asset || [true, "created with #{asset_messages.length} assets"]
|
|
3068
3068
|
else
|
|
3069
|
-
# If release already exists, treat as non-fatal
|
|
3070
3069
|
if res.code.to_s == "422" && res.body.to_s.include?("already_exists")
|
|
3071
|
-
[true, "already exists"]
|
|
3070
|
+
return [true, "already exists"] if Array(assets).empty?
|
|
3071
|
+
|
|
3072
|
+
upload_missing_github_release_assets(
|
|
3073
|
+
owner: owner,
|
|
3074
|
+
repo: repo,
|
|
3075
|
+
token: token,
|
|
3076
|
+
tag: tag,
|
|
3077
|
+
assets: assets
|
|
3078
|
+
)
|
|
3072
3079
|
else
|
|
3073
3080
|
[false, "HTTP #{res.code}: #{res.body}"]
|
|
3074
3081
|
end
|
|
@@ -3077,6 +3084,36 @@ module Kettle
|
|
|
3077
3084
|
[false, "#{e.class}: #{e.message}"]
|
|
3078
3085
|
end
|
|
3079
3086
|
|
|
3087
|
+
def upload_missing_github_release_assets(owner:, repo:, token:, tag:, assets:)
|
|
3088
|
+
release, error = github_release_for_tag(owner: owner, repo: repo, token: token, tag: tag)
|
|
3089
|
+
return [false, error] unless release
|
|
3090
|
+
|
|
3091
|
+
existing_names = Array(release["assets"]).filter_map { |asset| asset["name"] }.to_set
|
|
3092
|
+
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?
|
|
3094
|
+
|
|
3095
|
+
asset_messages = missing_assets.map do |asset|
|
|
3096
|
+
github_upload_release_asset(release.fetch("id"), owner: owner, repo: repo, token: token, path: asset)
|
|
3097
|
+
end
|
|
3098
|
+
failed_asset = asset_messages.find { |ok, _message| !ok }
|
|
3099
|
+
asset_noun = asset_messages.one? ? "asset" : "assets"
|
|
3100
|
+
failed_asset || [true, "already exists with #{asset_messages.length} #{asset_noun} uploaded"]
|
|
3101
|
+
end
|
|
3102
|
+
|
|
3103
|
+
def github_release_for_tag(owner:, repo:, token:, tag:)
|
|
3104
|
+
uri = URI("https://api.github.com/repos/#{owner}/#{repo}/releases/tags/#{tag}")
|
|
3105
|
+
request = Net::HTTP::Get.new(uri)
|
|
3106
|
+
request["Accept"] = "application/vnd.github+json"
|
|
3107
|
+
request["Authorization"] = "token #{token}"
|
|
3108
|
+
request["User-Agent"] = "kettle-dev-release-cli"
|
|
3109
|
+
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(request) }
|
|
3110
|
+
return [JSON.parse(response.body), nil] if response.is_a?(Net::HTTPSuccess)
|
|
3111
|
+
|
|
3112
|
+
[nil, "release #{tag} was not found (HTTP #{response.code})"]
|
|
3113
|
+
rescue => e
|
|
3114
|
+
[nil, "#{e.class}: #{e.message}"]
|
|
3115
|
+
end
|
|
3116
|
+
|
|
3080
3117
|
def github_upload_release_asset(release_id, owner:, repo:, token:, path:)
|
|
3081
3118
|
path = File.expand_path(path)
|
|
3082
3119
|
return [false, "asset does not exist: #{path}"] unless File.file?(path)
|
data/lib/kettle/dev/version.rb
CHANGED
|
@@ -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.
|
|
8
|
+
VERSION = "3.0.25"
|
|
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.
|
|
4
|
+
version: 3.0.25
|
|
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.
|
|
404
|
-
changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.0.
|
|
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
|
|
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.
|
|
406
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.0.25
|
|
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
|