kettle-drift 1.0.8 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87b1b42017a9d4112bd40eff487d4ab927c777acaafe913c1d000eaf6ed3479d
4
- data.tar.gz: dfa567d6f832de7adbc7a8f68f4916ce7454e515bb850f94f7245be510ee183e
3
+ metadata.gz: 684aad34d3fdec821a8e1339369a926dc315ab9262c00a8144dce54458ca302a
4
+ data.tar.gz: 2a847d02c0d006a015623f2873b4577878ef2c0f17c9719f12d6cf7059c1d53d
5
5
  SHA512:
6
- metadata.gz: 2c105246dbfca2521baf84153a5fdb17fe588a0a4135f4ea990586dcddb0a7729f066cde9bb01ea19f0f4a2e69a2f4eed3856faa8a2c9bfd726a9da07172c7d9
7
- data.tar.gz: 478cbed465b10f451620a14247dc0117f7f74fbabb795a53f2c1adc6c4f35d73d4c7112635d0ea350d28bddc861e1782a38fc604799bff1568a8891b5886d764
6
+ metadata.gz: 4ed977dac9385cee067d5d710cb2cf4517b5440a0aafd3d0ff65e8e4ed8a4471488d7eba7439bb4f9db27639f1fa0943646d7ea73991fd4003d5ff0df16720ab
7
+ data.tar.gz: 852879532e628ae3f7f81f4e40bcb1edb5714c79398e2a8b73ff448343833512c822c4bccb5a2c2d4b6b5338dd613da5e1ed980c5a16e70ae8d8ea8e432452e8
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,67 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.0.10] - 2026-08-01
34
+
35
+ - TAG: [v1.0.10][1.0.10t]
36
+ - COVERAGE: 81.41% -- 438/538 lines in 14 files
37
+ - BRANCH COVERAGE: 66.82% -- 143/214 branches in 14 files
38
+ - 36.19% documented
39
+
40
+ ### Changed
41
+
42
+ - kettle-jem-template-20260801-001 - Generated README gem dashboard links now
43
+ use ClickGems instead of BestGems.
44
+
45
+ ### Fixed
46
+
47
+ - kettle-jem-template-20260801-002 - Generated RSpec helpers now normalize
48
+ managed configuration block bindings structurally, preventing mixed block
49
+ parameter names from producing invalid configuration after a merge.
50
+ - kettle-jem-template-20260801-003 - Generated project metadata and
51
+ documentation now normalize configured underscore hostnames to valid
52
+ hyphenated hostnames.
53
+ - kettle-jem-template-20260801-004 - Generated organization README logos now
54
+ use GitHub's stable organization avatar endpoint instead of assuming a
55
+ matching Galtzo-hosted asset exists.
56
+
57
+ - Duplicate-drift checks now ignore repeated generated CI matrix fields and Dependabot schedules while continuing to report duplicated workflow steps.
58
+
59
+ ## [1.0.9] - 2026-07-31
60
+
61
+ - TAG: [v1.0.9][1.0.9t]
62
+ - COVERAGE: 81.02% -- 427/527 lines in 14 files
63
+ - BRANCH COVERAGE: 65.84% -- 133/202 branches in 14 files
64
+ - 34.95% documented
65
+
66
+ ### Added
67
+
68
+ - kettle-jem-template-20260729-005 - Gemspec metadata now publishes this
69
+ project's RubyForum tag as `mailing_list_uri`, and support docs link to the
70
+ tagged RubyForum community alongside Discord.
71
+
72
+ ### Fixed
73
+
74
+ - kettle-jem-template-20260728-004 - Generated dep-heads workflows now use the
75
+ setup-ruby Bundler install path for direct appraisal Gemfiles, avoiding rv
76
+ lockfile parser failures on Git and path dependencies.
77
+ - kettle-jem-template-20260728-005 - VersionGem bootstrap now creates the
78
+ missing canonical version spec when a project only has shim namespace version
79
+ specs.
80
+ - kettle-jem-template-20260729-001 - Generated JRuby 9.4 workflows now use the
81
+ legacy manual bundle install path, avoiding setup-time Bundler full-index
82
+ failures against `gem.coop`.
83
+ - kettle-jem-template-20260729-002 - VersionGem bootstrap now preserves
84
+ and templates dedicated `version_gem.rb` entrypoints even when the gemspec
85
+ dependency is intentionally omitted, and generated anonymous-loader specs
86
+ cover both `version.rb` and `version_gem.rb`.
87
+ - kettle-jem-template-20260729-003 - Old-Ruby gems below the VersionGem runtime
88
+ floor now get managed minimal `version.rb` files and anonymous-loader version
89
+ specs without adding `version_gem`.
90
+ - kettle-jem-template-20260730-001 - Gemspec package file enumeration now runs
91
+ relative to the gemspec directory, so release package contents stay correct
92
+ even when the gemspec is loaded from another working directory.
93
+
33
94
  ## [1.0.8] - 2026-07-28
34
95
 
35
96
  - TAG: [v1.0.8][1.0.8t]
@@ -206,7 +267,11 @@ Please file a bug if you notice a violation of semantic versioning.
206
267
 
207
268
  - Initial release
208
269
 
209
- [Unreleased]: https://github.com/kettle-dev/kettle-drift/compare/v1.0.8...HEAD
270
+ [Unreleased]: https://github.com/kettle-dev/kettle-drift/compare/v1.0.10...HEAD
271
+ [1.0.10]: https://github.com/kettle-dev/kettle-drift/compare/v1.0.9...v1.0.10
272
+ [1.0.10t]: https://github.com/kettle-dev/kettle-drift/releases/tag/v1.0.10
273
+ [1.0.9]: https://github.com/kettle-dev/kettle-drift/compare/v1.0.8...v1.0.9
274
+ [1.0.9t]: https://github.com/kettle-dev/kettle-drift/releases/tag/v1.0.9
210
275
  [1.0.8]: https://github.com/kettle-dev/kettle-drift/compare/v1.0.7...v1.0.8
211
276
  [1.0.8t]: https://github.com/kettle-dev/kettle-drift/releases/tag/v1.0.8
212
277
  [1.0.7]: https://github.com/kettle-dev/kettle-drift/compare/v1.0.6...v1.0.7
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
- <a href="https://github.com/kettle-dev"><img alt="kettle-dev Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/avatar-128px.svg" width="12%" align="right"/></a> <a href="https://github.com/kettle-dev/kettle-drift"><img alt="kettle-drift Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/kettle-drift/avatar-128px.svg" width="12%" align="right"/></a>
1
+ <a href="https://github.com/kettle-dev"><img alt="kettle-dev Logo by GitHub" src="https://github.com/kettle-dev.png?size=192" width="12%" align="right"/></a> <a href="https://github.com/kettle-dev/kettle-drift"><img alt="kettle-drift Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/kettle-drift/avatar-128px.svg" width="12%" align="right"/></a>
2
2
 
3
3
  # 🍲 Kettle::Drift
4
4
 
5
- [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: AGPL-3.0-only][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf]
5
+ [![Version][👽versioni]][👽version] [![Ruby Users Forum][✉️ruby-forum-top-img]][✉️ruby-forum] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: AGPL-3.0-only][📄license-img]][📄license] [![Total downloads][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf]
6
6
 
7
- `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].
7
+ `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know on Discord][✉️discord-invite] or [RubyForum][✉️ruby-forum], as I may have missed the notification.
8
8
 
9
9
  ---
10
10
 
@@ -58,16 +58,16 @@ The _amazing_ test matrix is powered by the kettle-dev stack.
58
58
  <details markdown="1">
59
59
  <summary>How kettle-dev manages complexity in tests</summary>
60
60
 
61
- | Gem | Source | Role | Daily download rank |
61
+ | Gem | Source | Role | Total downloads |
62
62
  |-----|--------|------|---------------------|
63
- | [appraisal2](https://bestgems.org/gems/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [![Daily download rank for appraisal2](https://img.shields.io/gem/rd/appraisal2.svg?style=flat-square)](https://bestgems.org/gems/appraisal2) |
64
- | [appraisal2-rubocop](https://bestgems.org/gems/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [![Daily download rank for appraisal2-rubocop](https://img.shields.io/gem/rd/appraisal2-rubocop.svg?style=flat-square)](https://bestgems.org/gems/appraisal2-rubocop) |
65
- | [kettle-dev](https://bestgems.org/gems/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [![Daily download rank for kettle-dev](https://img.shields.io/gem/rd/kettle-dev.svg?style=flat-square)](https://bestgems.org/gems/kettle-dev) |
66
- | [kettle-jem](https://bestgems.org/gems/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [![Daily download rank for kettle-jem](https://img.shields.io/gem/rd/kettle-jem.svg?style=flat-square)](https://bestgems.org/gems/kettle-jem) |
67
- | [kettle-soup-cover](https://bestgems.org/gems/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [![Daily download rank for kettle-soup-cover](https://img.shields.io/gem/rd/kettle-soup-cover.svg?style=flat-square)](https://bestgems.org/gems/kettle-soup-cover) |
68
- | [kettle-test](https://bestgems.org/gems/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [![Daily download rank for kettle-test](https://img.shields.io/gem/rd/kettle-test.svg?style=flat-square)](https://bestgems.org/gems/kettle-test) |
69
- | [rubocop-lts](https://bestgems.org/gems/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [![Daily download rank for rubocop-lts](https://img.shields.io/gem/rd/rubocop-lts.svg?style=flat-square)](https://bestgems.org/gems/rubocop-lts) |
70
- | [turbo_tests2](https://bestgems.org/gems/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [![Daily download rank for turbo_tests2](https://img.shields.io/gem/rd/turbo_tests2.svg?style=flat-square)](https://bestgems.org/gems/turbo_tests2) |
63
+ | [appraisal2](https://clickgems.clickhouse.com/dashboard/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [![Total downloads for appraisal2](https://img.shields.io/gem/dt/appraisal2.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/appraisal2) |
64
+ | [appraisal2-rubocop](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [![Total downloads for appraisal2-rubocop](https://img.shields.io/gem/dt/appraisal2-rubocop.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) |
65
+ | [kettle-dev](https://clickgems.clickhouse.com/dashboard/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [![Total downloads for kettle-dev](https://img.shields.io/gem/dt/kettle-dev.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-dev) |
66
+ | [kettle-jem](https://clickgems.clickhouse.com/dashboard/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [![Total downloads for kettle-jem](https://img.shields.io/gem/dt/kettle-jem.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-jem) |
67
+ | [kettle-soup-cover](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [![Total downloads for kettle-soup-cover](https://img.shields.io/gem/dt/kettle-soup-cover.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) |
68
+ | [kettle-test](https://clickgems.clickhouse.com/dashboard/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [![Total downloads for kettle-test](https://img.shields.io/gem/dt/kettle-test.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-test) |
69
+ | [rubocop-lts](https://clickgems.clickhouse.com/dashboard/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [![Total downloads for rubocop-lts](https://img.shields.io/gem/dt/rubocop-lts.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/rubocop-lts) |
70
+ | [turbo_tests2](https://clickgems.clickhouse.com/dashboard/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [![Total downloads for turbo_tests2](https://img.shields.io/gem/dt/turbo_tests2.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/turbo_tests2) |
71
71
 
72
72
  </details>
73
73
 
@@ -76,17 +76,14 @@ The _amazing_ test matrix is powered by the kettle-dev stack.
76
76
  <details markdown="1">
77
77
  <summary>Find this repo on federated forges (Coming soon!)</summary>
78
78
 
79
- | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
80
- |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
81
- | 🧪 [kettle-dev/kettle-drift on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
82
- | 🧊 [kettle-dev/kettle-drift on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
83
- | 🐙 [kettle-dev/kettle-drift on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
84
- | 🎮️ [Discord Server][✉️discord-invite] | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |
79
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI |
80
+ |-------------------------------------------------|-------------------------------------------|-------------------|------------------|-----------------|----------------|
81
+ | 🧪 [kettle-dev/kettle-drift on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix |
82
+ | 🧊 [kettle-dev/kettle-drift on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix |
83
+ | 🐙 [kettle-dev/kettle-drift on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix |
85
84
 
86
85
  </details>
87
86
 
88
- [gh-discussions]: https://github.com/kettle-dev/kettle-drift/discussions
89
-
90
87
  ### Enterprise Support [![Tidelift](https://tidelift.com/badges/package/rubygems/kettle-drift)](https://tidelift.com/subscription/pkg/rubygems-kettle-drift?utm_source=rubygems-kettle-drift&utm_medium=referral&utm_campaign=readme)
91
88
 
92
89
  Available as part of the Tidelift Subscription.
@@ -104,6 +101,7 @@ The maintainers of this and thousands of other packages are working with Tidelif
104
101
 
105
102
  Alternatively:
106
103
 
104
+ - [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
107
105
  - [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
108
106
  - [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]
109
107
  - [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]
@@ -281,11 +279,12 @@ I'm hoping to be able to pay for my kids' health insurance this month,
281
279
  so if you value the work I am doing, I need your support.
282
280
  Please consider sponsoring me or the project.
283
281
 
284
- To join the community or get help 👇️ Join the Discord.
282
+ To join the community or get help, use the RubyForum or Discord.
285
283
 
284
+ [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
286
285
  [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
287
286
 
288
- To say "thanks!" ☝️ Join the Discord or 👇️ send money.
287
+ To say "thanks!" ☝️ Join the community or 👇️ send money.
289
288
 
290
289
  [![Sponsor kettle-dev/kettle-drift on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
291
290
 
@@ -326,13 +325,14 @@ Thanks for RTFM. ☺️
326
325
  [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
327
326
  [✉️ruby-friends-img]: https://img.shields.io/badge/daily.dev-%F0%9F%92%8E_Ruby_Friends-0A0A0A?style=for-the-badge&logo=dailydotdev&logoColor=white
328
327
  [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
329
- [✉️ruby-forum-img]: https://img.shields.io/badge/RubyForum-Help-CC342D?style=for-the-badge&logo=ruby&logoColor=white
330
- [✉️ruby-forum]: https://www.rubyforum.org/c/help/8
328
+ [✉️ruby-forum-top-img]: https://img.shields.io/discourse/topics?server=https%3A%2F%2Fwww.rubyforum.org&style=flat&logo=discourse&label=Ruby%20Users%20Forum
329
+ [✉️ruby-forum-img]: https://img.shields.io/discourse/topics?server=https%3A%2F%2Fwww.rubyforum.org&style=for-the-badge&logo=discourse&label=Ruby%20Users%20Forum
330
+ [✉️ruby-forum]: https://www.rubyforum.org/tag/kettle-dev
331
331
 
332
332
  [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
333
333
  [⛳️gem-namespace]: https://github.com/kettle-dev/kettle-drift
334
334
  [⛳️namespace-img]: https://img.shields.io/badge/namespace-Kettle::Drift-3C2D2D.svg?style=square&logo=ruby&logoColor=white
335
- [⛳️gem-name]: https://bestgems.org/gems/kettle-drift
335
+ [⛳️gem-name]: https://clickgems.clickhouse.com/dashboard/kettle-drift
336
336
  [⛳️name-img]: https://img.shields.io/badge/name-kettle--drift-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
337
337
  [⛳️tag-img]: https://img.shields.io/github/tag/kettle-dev/kettle-drift.svg
338
338
  [⛳️tag]: https://github.com/kettle-dev/kettle-drift/releases
@@ -381,9 +381,9 @@ Thanks for RTFM. ☺️
381
381
  [📜gh-wiki]: https://github.com/kettle-dev/kettle-drift/wiki
382
382
  [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
383
383
  [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
384
- [👽dl-rank]: https://bestgems.org/gems/kettle-drift
385
- [👽dl-ranki]: https://img.shields.io/gem/rd/kettle-drift.svg
386
- [👽version]: https://bestgems.org/gems/kettle-drift
384
+ [👽dl-rank]: https://clickgems.clickhouse.com/dashboard/kettle-drift
385
+ [👽dl-ranki]: https://img.shields.io/gem/dt/kettle-drift.svg
386
+ [👽version]: https://clickgems.clickhouse.com/dashboard/kettle-drift
387
387
  [👽versioni]: https://img.shields.io/gem/v/kettle-drift.svg
388
388
  [🏀qlty-mnt]: https://qlty.sh/gh/kettle-dev/projects/kettle-drift
389
389
  [🏀qlty-mnti]: https://qlty.sh/gh/kettle-dev/projects/kettle-drift/maintainability.svg
@@ -457,7 +457,7 @@ Thanks for RTFM. ☺️
457
457
  [📌gitmoji]: https://gitmoji.dev
458
458
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
459
459
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
460
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.527-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
460
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.538-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
461
461
  [🔐security]: https://github.com/kettle-dev/kettle-drift/blob/main/SECURITY.md
462
462
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
463
463
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -92,6 +92,9 @@ module Kettle
92
92
  def ignored_duplicate_chunk?(path, line1, line2)
93
93
  basename = File.basename(path.to_s)
94
94
 
95
+ return true if generated_workflow_matrix_chunk?(path, line1, line2)
96
+ return true if dependabot_schedule_chunk?(path, line1, line2)
97
+
95
98
  if basename == "Appraisals"
96
99
  return true if APPRAISALS_DEP_LINE_RE.match?(line1) && APPRAISALS_DEP_LINE_RE.match?(line2)
97
100
  return true if line1.start_with?("#") && APPRAISALS_DEP_LINE_RE.match?(line2)
@@ -106,6 +109,28 @@ module Kettle
106
109
  false
107
110
  end
108
111
 
112
+ # These generated workflows repeat the same matrix-field pairs once for
113
+ # every Ruby/engine job. Limit the exemption to those exact pairs so a
114
+ # duplicated step or an unrelated workflow regression is still reported.
115
+ def generated_workflow_matrix_chunk?(path, line1, line2)
116
+ return false unless %w[dep-heads.yml heads.yml].include?(File.basename(path.to_s))
117
+ return false unless File.dirname(path.to_s).end_with?(".github/workflows")
118
+
119
+ matrix_key = line1.delete_prefix("- ")
120
+ return true if matrix_key.start_with?("appraisal: ") && line2.start_with?("exec_cmd: ")
121
+ return true if line1.start_with?("exec_cmd: ") && (line2.start_with?("rubygems: ", "# Run directly from the generated appraisal Gemfile"))
122
+
123
+ line1 == "if: ${{ !env.ACT }}" && line2.start_with?("uses: appraisal-rb/setup-ruby-flash@")
124
+ end
125
+
126
+ # Dependabot intentionally has one schedule mapping per ecosystem entry.
127
+ # This exact pair has no independent behavior to de-duplicate.
128
+ def dependabot_schedule_chunk?(path, line1, line2)
129
+ File.basename(path.to_s) == "dependabot.yml" &&
130
+ File.dirname(path.to_s).end_with?(".github") &&
131
+ line1.delete_prefix("- ") == "schedule:" && line2.start_with?("interval:")
132
+ end
133
+
109
134
  def compute_fence_lines(content)
110
135
  in_fence = false
111
136
  fence_marker = nil
@@ -5,7 +5,7 @@ module Kettle
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = "1.0.8"
8
+ VERSION = "1.0.10"
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-drift
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -63,20 +63,20 @@ dependencies:
63
63
  requirements:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
- version: '2.3'
66
+ version: '2.5'
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 2.3.7
69
+ version: 2.5.16
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '2.3'
76
+ version: '2.5'
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: 2.3.7
79
+ version: 2.5.16
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: bundler-audit
82
82
  requirement: !ruby/object:Gem::Requirement
@@ -174,7 +174,7 @@ dependencies:
174
174
  version: '2.0'
175
175
  - - ">="
176
176
  - !ruby/object:Gem::Version
177
- version: 2.0.16
177
+ version: 2.0.18
178
178
  type: :development
179
179
  prerelease: false
180
180
  version_requirements: !ruby/object:Gem::Requirement
@@ -184,7 +184,7 @@ dependencies:
184
184
  version: '2.0'
185
185
  - - ">="
186
186
  - !ruby/object:Gem::Version
187
- version: 2.0.16
187
+ version: 2.0.18
188
188
  - !ruby/object:Gem::Dependency
189
189
  name: turbo_tests2
190
190
  requirement: !ruby/object:Gem::Requirement
@@ -194,7 +194,7 @@ dependencies:
194
194
  version: '3.2'
195
195
  - - ">="
196
196
  - !ruby/object:Gem::Version
197
- version: 3.2.3
197
+ version: 3.2.4
198
198
  type: :development
199
199
  prerelease: false
200
200
  version_requirements: !ruby/object:Gem::Requirement
@@ -204,7 +204,7 @@ dependencies:
204
204
  version: '3.2'
205
205
  - - ">="
206
206
  - !ruby/object:Gem::Version
207
- version: 3.2.3
207
+ version: 3.2.4
208
208
  - !ruby/object:Gem::Dependency
209
209
  name: ruby-progressbar
210
210
  requirement: !ruby/object:Gem::Requirement
@@ -228,7 +228,7 @@ dependencies:
228
228
  version: '1.0'
229
229
  - - ">="
230
230
  - !ruby/object:Gem::Version
231
- version: 1.0.7
231
+ version: 1.0.8
232
232
  type: :development
233
233
  prerelease: false
234
234
  version_requirements: !ruby/object:Gem::Requirement
@@ -238,7 +238,7 @@ dependencies:
238
238
  version: '1.0'
239
239
  - - ">="
240
240
  - !ruby/object:Gem::Version
241
- version: 1.0.7
241
+ version: 1.0.8
242
242
  - !ruby/object:Gem::Dependency
243
243
  name: gitmoji-regex
244
244
  requirement: !ruby/object:Gem::Requirement
@@ -248,7 +248,7 @@ dependencies:
248
248
  version: '2.0'
249
249
  - - ">="
250
250
  - !ruby/object:Gem::Version
251
- version: 2.0.6
251
+ version: 2.0.11
252
252
  type: :development
253
253
  prerelease: false
254
254
  version_requirements: !ruby/object:Gem::Requirement
@@ -258,7 +258,7 @@ dependencies:
258
258
  version: '2.0'
259
259
  - - ">="
260
260
  - !ruby/object:Gem::Version
261
- version: 2.0.6
261
+ version: 2.0.11
262
262
  description: "\U0001F372 Kettle::Drift tracks repeated adjacent-line chunks that usually
263
263
  signal template drift or copy/paste corruption."
264
264
  email:
@@ -292,14 +292,15 @@ licenses:
292
292
  - AGPL-3.0-only
293
293
  metadata:
294
294
  homepage_uri: https://kettle-drift.galtzo.com
295
- source_code_uri: https://github.com/kettle-dev/kettle-drift/tree/v1.0.8
296
- changelog_uri: https://github.com/kettle-dev/kettle-drift/blob/v1.0.8/CHANGELOG.md
295
+ source_code_uri: https://github.com/kettle-dev/kettle-drift/tree/v1.0.10
296
+ changelog_uri: https://github.com/kettle-dev/kettle-drift/blob/v1.0.10/CHANGELOG.md
297
297
  bug_tracker_uri: https://github.com/kettle-dev/kettle-drift/issues
298
- documentation_uri: https://www.rubydoc.info/gems/kettle-drift/1.0.8
298
+ documentation_uri: https://www.rubydoc.info/gems/kettle-drift/1.0.10
299
299
  funding_uri: https://github.com/sponsors/pboling
300
300
  wiki_uri: https://github.com/kettle-dev/kettle-drift/wiki
301
301
  news_uri: https://www.railsbling.com/tags/kettle-drift
302
302
  discord_uri: https://discord.gg/3qme4XHNKN
303
+ mailing_list_uri: https://www.rubyforum.org/tag/kettle-dev
303
304
  rubygems_mfa_required: 'true'
304
305
  rdoc_options:
305
306
  - "--title"
metadata.gz.sig CHANGED
Binary file