kettle-dev 3.0.14 → 3.0.16

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: '039cd8bb8df2cc898259f53fb65be82bca84a516067e02c61a31295475f92f79'
4
- data.tar.gz: 6e0c274ac0c78a6e5960d076cd0cf63ad9639b806fb024a2712c4e81e2697856
3
+ metadata.gz: 48b3c836485ea5f578606d3a5582aa4877084c04b7c9d8b8a85151d8203288e2
4
+ data.tar.gz: 229c452a7a514cfad31324d5eacdd5d207efd5624c922c2afc20415cad5434e1
5
5
  SHA512:
6
- metadata.gz: c756231572b2f1e2d446b2011942937032e089b05218560a20b73b5d1f087de688919eb7b8056b0638926b2e1ea9c80023eca85dd402a3ce99b20f9f90e45173
7
- data.tar.gz: 87000a51e097e84a8d21ed9bf40e11792d2fd55937f728176c931df54715400ea5c07dfcdc76fce2979914dda7412b12b9287f68ec78e48f97cee255244f05b5
6
+ metadata.gz: 0526d9339e4f74739f332051beaa8e079d51e7f291754604ade207d25767e3458001501aaed9a84e9887ede43ebfe74125654df94410ce66903ab09cedbee752
7
+ data.tar.gz: 5301eaf6485588d958c780b0b0378d847cfa85097bf3819441a0139c8752807ade609509aad0ddbe425de46d8b3bfd7fb04f926a6c8d5e83dc9d8fa82193f83a
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,28 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [3.0.16] - 2026-08-28
34
+
35
+ - TAG: [v3.0.16][3.0.16t]
36
+ - COVERAGE: 91.20% -- 5807/6367 lines in 47 files
37
+ - BRANCH COVERAGE: 75.93% -- 2227/2933 branches in 47 files
38
+ - 51.10% documented
39
+
40
+ ### Fixed
41
+
42
+ - Retry release lockfile resets while newly published workspace gems propagate to the configured source.
43
+
44
+ ## [3.0.15] - 2026-08-28
45
+
46
+ - TAG: [v3.0.15][3.0.15t]
47
+ - COVERAGE: 91.24% -- 5804/6361 lines in 47 files
48
+ - BRANCH COVERAGE: 76.00% -- 2226/2929 branches in 47 files
49
+ - 51.10% documented
50
+
51
+ ### Fixed
52
+
53
+ - Correct Markdown reference validation after indented fenced code blocks in list items.
54
+
33
55
  ## [3.0.14] - 2026-08-28
34
56
 
35
57
  - TAG: [v3.0.14][3.0.14t]
@@ -3597,7 +3619,11 @@ Please file a bug if you notice a violation of semantic versioning.
3597
3619
  - Selecting will run the selected workflow via `act`
3598
3620
  - This may move to its own gem in the future.
3599
3621
 
3600
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.14...HEAD
3622
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.16...HEAD
3623
+ [3.0.16]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.15...v3.0.16
3624
+ [3.0.16t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.16
3625
+ [3.0.15]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.14...v3.0.15
3626
+ [3.0.15t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.15
3601
3627
  [3.0.14]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.13...v3.0.14
3602
3628
  [3.0.14t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.14
3603
3629
  [3.0.13]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.12...v3.0.13
data/README.md CHANGED
@@ -1033,7 +1033,7 @@ Thanks for RTFM. ☺️
1033
1033
  [📌gitmoji]: https://gitmoji.dev
1034
1034
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1035
1035
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1036
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.361-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1036
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.367-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1037
1037
  [🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
1038
1038
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1039
1039
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -7,15 +7,18 @@ module Kettle
7
7
  module Dev
8
8
  # Validates Markdown reference labels and local link destinations.
9
9
  #
10
- # This is intentionally a small source scanner rather than a second Markdown
11
- # rendering pipeline. The release gate needs reference integrity and local
12
- # anchor checks, while the existing Markdown merge/parser dependencies are
13
- # not runtime dependencies of kettle-dev.
10
+ # This deliberately validates only the small Markdown subset needed by the
11
+ # release gate. Available general-purpose parsers either reject reference
12
+ # layouts accepted by existing project changelogs or discard unresolved
13
+ # reference syntax, so they cannot provide these diagnostics. Keep the
14
+ # scanner bounded to reference definitions/usages, local destinations, and
15
+ # headings; it is not a general Markdown parser.
14
16
  class MarkdownReferenceValidator
15
17
  Issue = Struct.new(:path, :line, :message)
16
18
  Report = Struct.new(:file_count, :reference_count, :local_target_count, :issues)
17
19
 
18
- FENCE_RE = /\A\s*(`{3,}|~{3,})/.freeze
20
+ # CommonMark permits at most three leading spaces before a fenced block.
21
+ FENCE_RE = /\A {0,3}(`{3,}|~{3,})/.freeze
19
22
  IGNORED_PATH_PREFIXES = %w[tmp/ .git/ spec/ test/].freeze
20
23
  REFERENCE_DEFINITION_RE = /\A {0,3}\[([^\]]+)\]:\s*(?:<([^>]+)>|(\S+))/
21
24
  REFERENCE_USAGE_RE = /!?\[([^\]]*)\]\[([^\]]*)\]/
@@ -702,17 +702,24 @@ module Kettle
702
702
  rescue Kettle::Dev::Error => error
703
703
  raise unless error.message.start_with?("Reset #{Kettle::Dev::LockfileReset::RELEASE_LOCKFILES_TARGET} failed validation:")
704
704
 
705
- # Keep release-facing failures shaped like the lockfile validation
706
- # guard, even when the shared reset helper is the component that
707
- # detects the unrepaired lockfile.
705
+ retryable = retryable_release_lockfile_reset_error?(error) && attempt < attempts
708
706
  emit_release_lockfile_event(
709
707
  action: "reset",
710
- status: "blocked",
708
+ status: retryable ? "retrying" : "blocked",
711
709
  stage: stage,
712
710
  attempt: attempt,
713
711
  attempts: attempts,
714
712
  reason: error.message
715
713
  )
714
+ if retryable
715
+ puts "Release lockfile reset could not resolve a newly published workspace gem from #{RELEASE_VALIDATION_SOURCE}; waiting before retry #{attempt + 1}/#{attempts}."
716
+ sleep(release_availability_probe_interval)
717
+ next
718
+ end
719
+
720
+ # Keep non-transient release-facing failures shaped like the
721
+ # lockfile validation guard, even when the shared reset helper
722
+ # detects the unrepaired lockfile.
716
723
  break
717
724
  rescue => error
718
725
  retryable = retryable_release_lockfile_reset_error?(error) && attempt < attempts
@@ -755,7 +762,9 @@ module Kettle
755
762
  message = error.message.to_s
756
763
  message.include?("Bundler::GemNotFound") ||
757
764
  message.include?("Could not find gem") ||
758
- message.include?("can no longer be found in that source")
765
+ message.include?("can no longer be found in that source") ||
766
+ message.include?("locks local workspace gem") &&
767
+ message.include?("not resolvable from the configured gem source")
759
768
  end
760
769
 
761
770
  def validate_release_lockfiles!(stage:)
@@ -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.14"
8
+ VERSION = "3.0.16"
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.14
4
+ version: 3.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '2.0'
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
- version: 2.0.20
123
+ version: 2.0.21
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
@@ -130,7 +130,7 @@ dependencies:
130
130
  version: '2.0'
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
- version: 2.0.20
133
+ version: 2.0.21
134
134
  - !ruby/object:Gem::Dependency
135
135
  name: ruby-progressbar
136
136
  requirement: !ruby/object:Gem::Requirement
@@ -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.14
404
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.0.14/CHANGELOG.md
403
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.0.16
404
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.0.16/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.14
406
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.0.16
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