kettle-dev 2.3.8 → 2.3.10

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.
@@ -344,6 +344,7 @@ module Kettle
344
344
  else
345
345
  puts "Running release (you may be prompted for signing key password and RubyGems MFA OTP)..."
346
346
  run_cmd!("bundle exec rake release")
347
+ mark_gem_coop_release_cache_bust(version || detect_version)
347
348
  end
348
349
  end
349
350
 
@@ -954,6 +955,7 @@ module Kettle
954
955
 
955
956
  puts "Publishing #{File.basename(gem_path)} to RubyGems without pushing git refs..."
956
957
  run_cmd!("gem push #{Shellwords.escape(gem_path)}")
958
+ mark_gem_coop_release_cache_bust(version, gem_name: gem_name_from_gem_path(gem_path, version))
957
959
  end
958
960
 
959
961
  def detect_version
@@ -971,11 +973,9 @@ module Kettle
971
973
  end
972
974
 
973
975
  def latest_released_versions(gem_name, current_version)
974
- uri = URI("https://gem.coop/api/v1/versions/#{gem_name}.json")
975
- res = Net::HTTP.get_response(uri)
976
- return [nil, nil] unless res.is_a?(Net::HTTPSuccess)
976
+ data = Kettle::Dev::GemCoopVersions.fetch(gem_name, version_hint: current_version)
977
+ return [nil, nil] unless data.is_a?(Array)
977
978
 
978
- data = JSON.parse(res.body)
979
979
  versions = data.map { |h| h["number"] }.compact
980
980
  versions.reject! { |v| v.to_s.include?("-pre") || v.to_s.include?(".pre") || /[a-zA-Z]/.match?(v.to_s) }
981
981
  gversions = versions.map { |s| Gem::Version.new(s) }.sort
@@ -991,6 +991,18 @@ module Kettle
991
991
  [nil, nil]
992
992
  end
993
993
 
994
+ def mark_gem_coop_release_cache_bust(version, gem_name: nil)
995
+ gem_name ||= detect_gem_name
996
+ Kettle::Dev::GemCoopVersions.mark_released(gem_name, version)
997
+ rescue => error
998
+ warn("[kettle-release] could not mark gem.coop cache-bust for release-state: #{error.class}: #{error.message}") if Kettle::Dev::DEBUGGING
999
+ end
1000
+
1001
+ def gem_name_from_gem_path(gem_path, version)
1002
+ basename = File.basename(gem_path, ".gem")
1003
+ basename.delete_suffix("-#{version}")
1004
+ end
1005
+
994
1006
  def commit_release_prep!(version)
995
1007
  msg = "🔖 Prepare release v#{version}"
996
1008
  # Stage all changes (including new/untracked files) prior to committing
@@ -3,7 +3,7 @@
3
3
  module Kettle
4
4
  module Dev
5
5
  module Version
6
- VERSION = "2.3.8"
6
+ VERSION = "2.3.10"
7
7
  end
8
8
  VERSION = Version::VERSION # Traditional Constant Location
9
9
  end
data/lib/kettle/dev.rb CHANGED
@@ -5,6 +5,7 @@ require_relative "dev/version"
5
5
  if Gem.ruby_version < Gem::Version.new("2.7")
6
6
  begin
7
7
  require "backports/2.7.0/enumerable/filter_map"
8
+ require "backports/2.5.0/string/delete_suffix"
8
9
  rescue LoadError => error
9
10
  message = "kettle-dev on Ruby <= 2.6 requires the backports gem; " \
10
11
  "add `gem \"backports\", \">= 3.25\"` to your Gemfile (#{error.message})"
@@ -33,6 +34,7 @@ module Kettle
33
34
  autoload :CommitMsg, "kettle/dev/commit_msg"
34
35
  autoload :DvcsCLI, "kettle/dev/dvcs_cli"
35
36
  autoload :ExitAdapter, "kettle/dev/exit_adapter"
37
+ autoload :GemCoopVersions, "kettle/dev/gem_coop_versions"
36
38
  autoload :GemSpecReader, "kettle/dev/gem_spec_reader"
37
39
  autoload :GitAdapter, "kettle/dev/git_adapter"
38
40
  autoload :GitCommitFooter, "kettle/dev/git_commit_footer"
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: 2.3.8
4
+ version: 2.3.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -51,6 +51,26 @@ dependencies:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
53
  version: '15.0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: kettle-gha-pins
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '0.2'
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 0.2.1
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '0.2'
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 0.2.1
54
74
  - !ruby/object:Gem::Dependency
55
75
  name: kettle-rb
56
76
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +100,7 @@ dependencies:
80
100
  version: '2.0'
81
101
  - - ">="
82
102
  - !ruby/object:Gem::Version
83
- version: 2.0.4
103
+ version: 2.0.12
84
104
  type: :runtime
85
105
  prerelease: false
86
106
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,7 +110,7 @@ dependencies:
90
110
  version: '2.0'
91
111
  - - ">="
92
112
  - !ruby/object:Gem::Version
93
- version: 2.0.4
113
+ version: 2.0.12
94
114
  - !ruby/object:Gem::Dependency
95
115
  name: ruby-progressbar
96
116
  requirement: !ruby/object:Gem::Requirement
@@ -282,6 +302,7 @@ files:
282
302
  - lib/kettle/dev/commit_msg.rb
283
303
  - lib/kettle/dev/dvcs_cli.rb
284
304
  - lib/kettle/dev/exit_adapter.rb
305
+ - lib/kettle/dev/gem_coop_versions.rb
285
306
  - lib/kettle/dev/gem_spec_reader.rb
286
307
  - lib/kettle/dev/gha_sha_pins_cli.rb
287
308
  - lib/kettle/dev/git_adapter.rb
@@ -313,10 +334,10 @@ licenses:
313
334
  - AGPL-3.0-only
314
335
  metadata:
315
336
  homepage_uri: https://kettle-dev.galtzo.com
316
- source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.3.8
317
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.3.8/CHANGELOG.md
337
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.3.10
338
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.3.10/CHANGELOG.md
318
339
  bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
319
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.3.8
340
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.3.10
320
341
  funding_uri: https://github.com/sponsors/pboling
321
342
  wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
322
343
  news_uri: https://www.railsbling.com/tags/kettle-dev
@@ -345,7 +366,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
345
366
  - !ruby/object:Gem::Version
346
367
  version: '0'
347
368
  requirements: []
348
- rubygems_version: 4.0.16
369
+ rubygems_version: 4.0.17
349
370
  specification_version: 4
350
371
  summary: "\U0001F372 A kettle-dev meta tool to streamline development and testing"
351
372
  test_files: []
metadata.gz.sig CHANGED
Binary file