kettle-dev 2.2.0 → 2.2.2

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: e8a1375214aa3c53580a46da791cc0813ab2303a56bf08d32c3928bb6773425a
4
- data.tar.gz: 293ad0c152819ca21f1bf9a63cbf4f21078cff641d680ce7b955608c309d5d24
3
+ metadata.gz: 95ca53a704f80768d0bc13fd9eb4603bb4823638fd66f0a427139ee28a1b6835
4
+ data.tar.gz: aea475e448ac97b3992474cf3d13b8912bcdf38d5dd5a4472256ce5dc7b4ecce
5
5
  SHA512:
6
- metadata.gz: 24dce616ec2536f3f3afd7dc6b16cffe9442aa7d81f86a25dcc2867166a10c55cc6e1285ea1e91261f4f176fc309435cd8240dca7e8eaf94bbff6efdaa0ea4c2
7
- data.tar.gz: b4fe9b7736463c18bb8e97f2c91d55257c281502b6ccfb40e51e698b5616141dac2c48d6513262b97ee810fcec1e267c31908a0d02bfbe606d21427a0684cd0e
6
+ metadata.gz: 9862a2300bfcf03533a4f8bc48e58081f8676de927de77fe5623c2192e9b9a9c5a5909b02a264317cacfc313e25f1b60e9e34ddcf87450837f56cf1ee3afe244
7
+ data.tar.gz: 23f33da7772e128ba221b35fecf4f2e0e110343c4087dc9572c3841496c617d04c040f761c29f1ae4816acf17e3837aa9478beb6c245d5a3419c0a0ce1cabe11
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,39 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [2.2.2] - 2026-06-09
34
+
35
+ - TAG: [v2.2.2][2.2.2t]
36
+ - COVERAGE: 92.04% -- 3758/4083 lines in 28 files
37
+ - BRANCH COVERAGE: 72.95% -- 1478/2026 branches in 28 files
38
+ - 66.83% documented
39
+
40
+ ### Changed
41
+
42
+ - `kettle-gha-sha-pins` now scans only the selected workflow directory,
43
+ defaulting to `.github/workflows`, instead of recursively searching every
44
+ nested `.github/workflows` directory under the project root.
45
+
46
+ ### Fixed
47
+
48
+ - Updated generated project metadata links to use the migrated `kettle-dev`
49
+ GitHub organization, including README QLTY badge URLs.
50
+
51
+ ## [2.2.1] - 2026-06-09
52
+
53
+ - TAG: [v2.2.1][2.2.1t]
54
+ - COVERAGE: 91.61% -- 3736/4078 lines in 28 files
55
+ - BRANCH COVERAGE: 72.78% -- 1473/2024 branches in 28 files
56
+ - 66.83% documented
57
+
58
+ ### Fixed
59
+
60
+ - `Kettle::Dev::GemSpecReader` now falls back to the migrated `kettle-dev`
61
+ GitHub organization when no forge org can be derived.
62
+ - `kettle-gha-sha-pins` now persists live ref-to-SHA lookup results in its action
63
+ cache so a dry run followed by `--write` does not repeat the same API calls.
64
+ - Restored `docs/CNAME` so the generated documentation site keeps its custom domain.
65
+
33
66
  ## [2.2.0] - 2026-06-08
34
67
 
35
68
  - TAG: [v2.2.0][2.2.0t]
@@ -1977,7 +2010,11 @@ Please file a bug if you notice a violation of semantic versioning.
1977
2010
  - Selecting will run the selected workflow via `act`
1978
2011
  - This may move to its own gem in the future.
1979
2012
 
1980
- [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v2.2.0...HEAD
2013
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.2...HEAD
2014
+ [2.2.2]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.1...v2.2.2
2015
+ [2.2.2t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.2.2
2016
+ [2.2.1]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.0...v2.2.1
2017
+ [2.2.1t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.2.1
1981
2018
  [2.2.0]: https://github.com/kettle-rb/kettle-dev/compare/v2.1.1...v2.2.0
1982
2019
  [2.2.0t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v2.2.0
1983
2020
  [2.1.1]: https://github.com/kettle-rb/kettle-dev/compare/v2.1.0...v2.1.1
data/CITATION.cff CHANGED
@@ -12,9 +12,9 @@ authors:
12
12
  orcid: 'https://orcid.org/0009-0008-8519-441X'
13
13
  identifiers:
14
14
  - type: url
15
- value: 'https://github.com/kettle-rb/kettle-dev'
15
+ value: 'https://github.com/kettle-dev/kettle-dev'
16
16
  description: "kettle-dev"
17
- repository-code: 'https://github.com/kettle-rb/kettle-dev'
17
+ repository-code: 'https://github.com/kettle-dev/kettle-dev'
18
18
  abstract: >-
19
19
  kettle-dev
20
20
  license: See license file
data/CONTRIBUTING.md CHANGED
@@ -198,7 +198,7 @@ Your picture could be here!
198
198
 
199
199
  Made with [contributors-img][🖐contrib-rocks].
200
200
 
201
- Also see GitLab Contributors: [https://gitlab.com/kettle-rb/kettle-dev/-/graphs/main][🚎contributors-gl]
201
+ Also see GitLab Contributors: [https://gitlab.com/kettle-dev/kettle-dev/-/graphs/main][🚎contributors-gl]
202
202
 
203
203
  ## For Maintainers
204
204
 
@@ -249,15 +249,15 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
249
249
  14. Run `bundle exec rake release` which will create a git tag for the version,
250
250
  push git commits and tags, and push the `.gem` file to the gem host configured in the gemspec.
251
251
 
252
- [📜src-gl]: https://gitlab.com/kettle-rb/kettle-dev
253
- [📜src-cb]: https://codeberg.org/kettle-rb/kettle-dev
254
- [📜src-gh]: https://github.com/kettle-rb/kettle-dev
255
- [🧪build]: https://github.com/kettle-rb/kettle-dev/actions
256
- [🤝conduct]: https://github.com/kettle-rb/kettle-dev/blob/main/CODE_OF_CONDUCT.md
252
+ [📜src-gl]: https://gitlab.com/kettle-dev/kettle-dev
253
+ [📜src-cb]: https://codeberg.org/kettle-dev/kettle-dev
254
+ [📜src-gh]: https://github.com/kettle-dev/kettle-dev
255
+ [🧪build]: https://github.com/kettle-dev/kettle-dev/actions
256
+ [🤝conduct]: https://github.com/kettle-dev/kettle-dev/blob/main/CODE_OF_CONDUCT.md
257
257
  [🖐contrib-rocks]: https://contrib.rocks
258
- [🖐contributors]: https://github.com/kettle-rb/kettle-dev/graphs/contributors
259
- [🚎contributors-gl]: https://gitlab.com/kettle-rb/kettle-dev/-/graphs/main
260
- [🖐contributors-img]: https://contrib.rocks/image?repo=kettle-rb/kettle-dev
258
+ [🖐contributors]: https://github.com/kettle-dev/kettle-dev/graphs/contributors
259
+ [🚎contributors-gl]: https://gitlab.com/kettle-dev/kettle-dev/-/graphs/main
260
+ [🖐contributors-img]: https://contrib.rocks/image?repo=kettle-dev/kettle-dev
261
261
  [💎gem-coop]: https://gem.coop
262
262
  [🔒️rubygems-security-guide]: https://guides.rubygems.org/security/#building-gems
263
263
  [🔒️rubygems-checksums-pr]: https://github.com/rubygems/rubygems/pull/6022
data/FUNDING.md CHANGED
@@ -10,10 +10,10 @@ Many paths lead to being a sponsor or a backer of this project. Are you on such
10
10
 
11
11
  [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
12
12
  [⛳liberapay]: https://liberapay.com/pboling/donate
13
- [🖇osc-backers]: https://opencollective.com/kettle-rb#backer
14
- [🖇osc-backers-i]: https://opencollective.com/kettle-rb/backers/badge.svg?style=flat
15
- [🖇osc-sponsors]: https://opencollective.com/kettle-rb#sponsor
16
- [🖇osc-sponsors-i]: https://opencollective.com/kettle-rb/sponsors/badge.svg?style=flat
13
+ [🖇osc-backers]: https://opencollective.com/kettle-dev#backer
14
+ [🖇osc-backers-i]: https://opencollective.com/kettle-dev/backers/badge.svg?style=flat
15
+ [🖇osc-sponsors]: https://opencollective.com/kettle-dev#sponsor
16
+ [🖇osc-sponsors-i]: https://opencollective.com/kettle-dev/sponsors/badge.svg?style=flat
17
17
  [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
18
18
  [🖇sponsor]: https://github.com/sponsors/pboling
19
19
  [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
@@ -46,7 +46,7 @@ To join the community or get help 👇️ Join the Discord.
46
46
 
47
47
  To say "thanks!" ☝️ Join the Discord or 👇️ send money.
48
48
 
49
- [![Sponsor kettle-rb/kettle-dev 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]
49
+ [![Sponsor kettle-dev/kettle-dev 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]
50
50
 
51
51
  # Another Way to Support Open Source Software
52
52
 
@@ -59,13 +59,13 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
59
59
  **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
60
60
 
61
61
  [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
62
- [🖇osc-all-img]: https://img.shields.io/opencollective/all/kettle-rb
63
- [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/kettle-rb
64
- [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/kettle-rb
65
- [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/kettle-rb?style=for-the-badge
66
- [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/kettle-rb?style=for-the-badge
67
- [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/kettle-rb?style=for-the-badge
68
- [🖇osc]: https://opencollective.com/kettle-rb
62
+ [🖇osc-all-img]: https://img.shields.io/opencollective/all/kettle-dev
63
+ [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/kettle-dev
64
+ [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/kettle-dev
65
+ [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/kettle-dev?style=for-the-badge
66
+ [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/kettle-dev?style=for-the-badge
67
+ [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/kettle-dev?style=for-the-badge
68
+ [🖇osc]: https://opencollective.com/kettle-dev
69
69
  [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
70
70
  [🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
71
71
  [🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- <a href="https://github.com/kettle-rb"><img alt="kettle-rb Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-rb/avatar-128px.svg" width="14%" align="right"/></a>
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="14%" align="right"/></a>
2
2
 
3
3
  # 🍲 Kettle::Dev
4
4
 
@@ -120,14 +120,14 @@ not practical for the current toolchain.
120
120
 
121
121
  | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
122
122
  |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
123
- | 🧪 [kettle-rb/kettle-dev on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
124
- | 🧊 [kettle-rb/kettle-dev on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
125
- | 🐙 [kettle-rb/kettle-dev on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
123
+ | 🧪 [kettle-dev/kettle-dev on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
124
+ | 🧊 [kettle-dev/kettle-dev on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
125
+ | 🐙 [kettle-dev/kettle-dev on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
126
126
  | 🎮️ [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] |
127
127
 
128
128
  </details>
129
129
 
130
- [gh-discussions]: https://github.com/kettle-rb/kettle-dev/discussions
130
+ [gh-discussions]: https://github.com/kettle-dev/kettle-dev/discussions
131
131
 
132
132
  ### Enterprise Support [![Tidelift](https://tidelift.com/badges/package/rubygems/kettle-dev)](https://tidelift.com/subscription/pkg/rubygems-kettle-dev?utm_source=rubygems-kettle-dev&utm_medium=referral&utm_campaign=readme)
133
133
 
@@ -588,16 +588,16 @@ chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][
588
588
 
589
589
  Made with [contributors-img][🖐contrib-rocks].
590
590
 
591
- Also see GitLab Contributors: [https://gitlab.com/kettle-rb/kettle-dev/-/graphs/main][🚎contributors-gl]
591
+ Also see GitLab Contributors: [https://gitlab.com/kettle-dev/kettle-dev/-/graphs/main][🚎contributors-gl]
592
592
 
593
593
  <details>
594
594
  <summary>⭐️ Star History</summary>
595
595
 
596
- <a href="https://star-history.com/kettle-rb/kettle-dev&Date">
596
+ <a href="https://star-history.com/kettle-dev/kettle-dev&Date">
597
597
  <picture>
598
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=kettle-rb/kettle-dev&type=Date&theme=dark" />
599
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=kettle-rb/kettle-dev&type=Date" />
600
- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=kettle-rb/kettle-dev&type=Date" />
598
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=kettle-dev/kettle-dev&type=Date&theme=dark" />
599
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=kettle-dev/kettle-dev&type=Date" />
600
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=kettle-dev/kettle-dev&type=Date" />
601
601
  </picture>
602
602
  </a>
603
603
 
@@ -662,7 +662,7 @@ To join the community or get help 👇️ Join the Discord.
662
662
 
663
663
  To say "thanks!" ☝️ Join the Discord or 👇️ send money.
664
664
 
665
- [![Sponsor kettle-rb/kettle-dev 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]
665
+ [![Sponsor kettle-dev/kettle-dev 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]
666
666
 
667
667
  ### Please give the project a star ⭐ ♥.
668
668
 
@@ -673,17 +673,17 @@ Thanks for RTFM. ☺️
673
673
  [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
674
674
  [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
675
675
  [⛳liberapay]: https://liberapay.com/pboling/donate
676
- [🖇osc-all-img]: https://img.shields.io/opencollective/all/kettle-rb
677
- [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/kettle-rb
678
- [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/kettle-rb
679
- [🖇osc-backers]: https://opencollective.com/kettle-rb#backer
680
- [🖇osc-backers-i]: https://opencollective.com/kettle-rb/backers/badge.svg?style=flat
681
- [🖇osc-sponsors]: https://opencollective.com/kettle-rb#sponsor
682
- [🖇osc-sponsors-i]: https://opencollective.com/kettle-rb/sponsors/badge.svg?style=flat
683
- [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/kettle-rb?style=for-the-badge
684
- [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/kettle-rb?style=for-the-badge
685
- [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/kettle-rb?style=for-the-badge
686
- [🖇osc]: https://opencollective.com/kettle-rb
676
+ [🖇osc-all-img]: https://img.shields.io/opencollective/all/kettle-dev
677
+ [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/kettle-dev
678
+ [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/kettle-dev
679
+ [🖇osc-backers]: https://opencollective.com/kettle-dev#backer
680
+ [🖇osc-backers-i]: https://opencollective.com/kettle-dev/backers/badge.svg?style=flat
681
+ [🖇osc-sponsors]: https://opencollective.com/kettle-dev#sponsor
682
+ [🖇osc-sponsors-i]: https://opencollective.com/kettle-dev/sponsors/badge.svg?style=flat
683
+ [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/kettle-dev?style=for-the-badge
684
+ [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/kettle-dev?style=for-the-badge
685
+ [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/kettle-dev?style=for-the-badge
686
+ [🖇osc]: https://opencollective.com/kettle-dev
687
687
  [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
688
688
  [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
689
689
  [🖇sponsor]: https://github.com/sponsors/pboling
@@ -707,12 +707,12 @@ Thanks for RTFM. ☺️
707
707
  [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
708
708
 
709
709
  [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
710
- [⛳️gem-namespace]: https://github.com/kettle-rb/kettle-dev
710
+ [⛳️gem-namespace]: https://github.com/kettle-dev/kettle-dev
711
711
  [⛳️namespace-img]: https://img.shields.io/badge/namespace-Kettle::Dev-3C2D2D.svg?style=square&logo=ruby&logoColor=white
712
712
  [⛳️gem-name]: https://bestgems.org/gems/kettle-dev
713
713
  [⛳️name-img]: https://img.shields.io/badge/name-kettle--dev-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
714
- [⛳️tag-img]: https://img.shields.io/github/tag/kettle-rb/kettle-dev.svg
715
- [⛳️tag]: https://github.com/kettle-rb/kettle-dev/releases
714
+ [⛳️tag-img]: https://img.shields.io/github/tag/kettle-dev/kettle-dev.svg
715
+ [⛳️tag]: https://github.com/kettle-dev/kettle-dev/releases
716
716
  [🚂maint-blog]: http://www.railsbling.com/tags/kettle-dev
717
717
  [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
718
718
  [🚂maint-contact]: http://www.railsbling.com/contact
@@ -747,64 +747,64 @@ Thanks for RTFM. ☺️
747
747
  [💁🏼‍♂️peterboling]: http://www.peterboling.com
748
748
  [🚂railsbling]: http://www.railsbling.com
749
749
  [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
750
- [📜src-gl]: https://gitlab.com/kettle-rb/kettle-dev
750
+ [📜src-gl]: https://gitlab.com/kettle-dev/kettle-dev
751
751
  [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
752
- [📜src-cb]: https://codeberg.org/kettle-rb/kettle-dev
752
+ [📜src-cb]: https://codeberg.org/kettle-dev/kettle-dev
753
753
  [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
754
- [📜src-gh]: https://github.com/kettle-rb/kettle-dev
754
+ [📜src-gh]: https://github.com/kettle-dev/kettle-dev
755
755
  [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
756
756
  [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
757
- [📜gl-wiki]: https://gitlab.com/kettle-rb/kettle-dev/-/wikis/home
758
- [📜gh-wiki]: https://github.com/kettle-rb/kettle-dev/wiki
757
+ [📜gl-wiki]: https://gitlab.com/kettle-dev/kettle-dev/-/wikis/home
758
+ [📜gh-wiki]: https://github.com/kettle-dev/kettle-dev/wiki
759
759
  [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
760
760
  [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
761
761
  [👽dl-rank]: https://bestgems.org/gems/kettle-dev
762
762
  [👽dl-ranki]: https://img.shields.io/gem/rd/kettle-dev.svg
763
763
  [👽version]: https://bestgems.org/gems/kettle-dev
764
764
  [👽versioni]: https://img.shields.io/gem/v/kettle-dev.svg
765
- [🏀qlty-mnt]: https://qlty.sh/gh/kettle-rb/projects/kettle-dev
766
- [🏀qlty-mnti]: https://qlty.sh/gh/kettle-rb/projects/kettle-dev/maintainability.svg
767
- [🏀qlty-cov]: https://qlty.sh/gh/kettle-rb/projects/kettle-dev/metrics/code?sort=coverageRating
768
- [🏀qlty-covi]: https://qlty.sh/gh/kettle-rb/projects/kettle-dev/coverage.svg
769
- [🏀codecov]: https://codecov.io/gh/kettle-rb/kettle-dev
770
- [🏀codecovi]: https://codecov.io/gh/kettle-rb/kettle-dev/graph/badge.svg
771
- [🏀coveralls]: https://coveralls.io/github/kettle-rb/kettle-dev?branch=main
772
- [🏀coveralls-img]: https://coveralls.io/repos/github/kettle-rb/kettle-dev/badge.svg?branch=main
773
- [🚎ruby-2.4-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/ruby-2.4.yml
774
- [🚎ruby-2.5-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/ruby-2.5.yml
775
- [🚎ruby-2.6-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/ruby-2.6.yml
776
- [🚎ruby-2.7-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/ruby-2.7.yml
777
- [🚎ruby-3.0-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/ruby-3.0.yml
778
- [🚎ruby-3.1-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/ruby-3.1.yml
779
- [🚎ruby-3.2-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/ruby-3.2.yml
780
- [🚎ruby-3.3-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/ruby-3.3.yml
781
- [🚎ruby-3.4-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/ruby-3.4.yml
782
- [🚎jruby-9.2-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/jruby-9.2.yml
783
- [🚎jruby-9.3-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/jruby-9.3.yml
784
- [🚎jruby-9.4-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/jruby-9.4.yml
785
- [🚎truby-22.3-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/truffleruby-22.3.yml
786
- [🚎truby-23.0-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/truffleruby-23.0.yml
787
- [🚎truby-23.1-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/truffleruby-23.1.yml
788
- [🚎truby-24.2-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/truffleruby-24.2.yml
789
- [🚎truby-25.0-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/truffleruby-25.0.yml
790
- [🚎2-cov-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/coverage.yml
791
- [🚎2-cov-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/coverage.yml/badge.svg
792
- [🚎3-hd-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/heads.yml
793
- [🚎3-hd-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/heads.yml/badge.svg
794
- [🚎5-st-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/style.yml
795
- [🚎5-st-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/style.yml/badge.svg
796
- [🚎9-t-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/truffle.yml
797
- [🚎9-t-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/truffle.yml/badge.svg
798
- [🚎10-j-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/jruby.yml
799
- [🚎10-j-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/jruby.yml/badge.svg
800
- [🚎11-c-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/current.yml
801
- [🚎11-c-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/current.yml/badge.svg
802
- [🚎12-crh-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/dep-heads.yml
803
- [🚎12-crh-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/dep-heads.yml/badge.svg
804
- [🚎13-🔒️-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/locked_deps.yml
805
- [🚎13-🔒️-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/locked_deps.yml/badge.svg
806
- [🚎14-🔓️-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/unlocked_deps.yml
807
- [🚎14-🔓️-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/unlocked_deps.yml/badge.svg
765
+ [🏀qlty-mnt]: https://qlty.sh/gh/kettle-dev/projects/kettle-dev
766
+ [🏀qlty-mnti]: https://qlty.sh/gh/kettle-dev/projects/kettle-dev/maintainability.svg
767
+ [🏀qlty-cov]: https://qlty.sh/gh/kettle-dev/projects/kettle-dev/metrics/code?sort=coverageRating
768
+ [🏀qlty-covi]: https://qlty.sh/gh/kettle-dev/projects/kettle-dev/coverage.svg
769
+ [🏀codecov]: https://codecov.io/gh/kettle-dev/kettle-dev
770
+ [🏀codecovi]: https://codecov.io/gh/kettle-dev/kettle-dev/graph/badge.svg
771
+ [🏀coveralls]: https://coveralls.io/github/kettle-dev/kettle-dev?branch=main
772
+ [🏀coveralls-img]: https://coveralls.io/repos/github/kettle-dev/kettle-dev/badge.svg?branch=main
773
+ [🚎ruby-2.4-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/ruby-2.4.yml
774
+ [🚎ruby-2.5-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/ruby-2.5.yml
775
+ [🚎ruby-2.6-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/ruby-2.6.yml
776
+ [🚎ruby-2.7-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/ruby-2.7.yml
777
+ [🚎ruby-3.0-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/ruby-3.0.yml
778
+ [🚎ruby-3.1-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/ruby-3.1.yml
779
+ [🚎ruby-3.2-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/ruby-3.2.yml
780
+ [🚎ruby-3.3-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/ruby-3.3.yml
781
+ [🚎ruby-3.4-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/ruby-3.4.yml
782
+ [🚎jruby-9.2-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/jruby-9.2.yml
783
+ [🚎jruby-9.3-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/jruby-9.3.yml
784
+ [🚎jruby-9.4-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/jruby-9.4.yml
785
+ [🚎truby-22.3-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/truffleruby-22.3.yml
786
+ [🚎truby-23.0-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/truffleruby-23.0.yml
787
+ [🚎truby-23.1-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/truffleruby-23.1.yml
788
+ [🚎truby-24.2-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/truffleruby-24.2.yml
789
+ [🚎truby-25.0-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/truffleruby-25.0.yml
790
+ [🚎2-cov-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/coverage.yml
791
+ [🚎2-cov-wfi]: https://github.com/kettle-dev/kettle-dev/actions/workflows/coverage.yml/badge.svg
792
+ [🚎3-hd-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/heads.yml
793
+ [🚎3-hd-wfi]: https://github.com/kettle-dev/kettle-dev/actions/workflows/heads.yml/badge.svg
794
+ [🚎5-st-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/style.yml
795
+ [🚎5-st-wfi]: https://github.com/kettle-dev/kettle-dev/actions/workflows/style.yml/badge.svg
796
+ [🚎9-t-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/truffle.yml
797
+ [🚎9-t-wfi]: https://github.com/kettle-dev/kettle-dev/actions/workflows/truffle.yml/badge.svg
798
+ [🚎10-j-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/jruby.yml
799
+ [🚎10-j-wfi]: https://github.com/kettle-dev/kettle-dev/actions/workflows/jruby.yml/badge.svg
800
+ [🚎11-c-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/current.yml
801
+ [🚎11-c-wfi]: https://github.com/kettle-dev/kettle-dev/actions/workflows/current.yml/badge.svg
802
+ [🚎12-crh-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/dep-heads.yml
803
+ [🚎12-crh-wfi]: https://github.com/kettle-dev/kettle-dev/actions/workflows/dep-heads.yml/badge.svg
804
+ [🚎13-🔒️-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/locked_deps.yml
805
+ [🚎13-🔒️-wfi]: https://github.com/kettle-dev/kettle-dev/actions/workflows/locked_deps.yml/badge.svg
806
+ [🚎14-🔓️-wf]: https://github.com/kettle-dev/kettle-dev/actions/workflows/unlocked_deps.yml
807
+ [🚎14-🔓️-wfi]: https://github.com/kettle-dev/kettle-dev/actions/workflows/unlocked_deps.yml/badge.svg
808
808
  [💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
809
809
  [💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
810
810
  [💎ruby-2.6i]: https://img.shields.io/badge/Ruby-2.6-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
@@ -828,34 +828,34 @@ Thanks for RTFM. ☺️
828
828
  [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
829
829
  [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
830
830
  [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
831
- [🤝gh-issues]: https://github.com/kettle-rb/kettle-dev/issues
832
- [🤝gh-pulls]: https://github.com/kettle-rb/kettle-dev/pulls
833
- [🤝gl-issues]: https://gitlab.com/kettle-rb/kettle-dev/-/issues
834
- [🤝gl-pulls]: https://gitlab.com/kettle-rb/kettle-dev/-/merge_requests
835
- [🤝cb-issues]: https://codeberg.org/kettle-rb/kettle-dev/issues
836
- [🤝cb-pulls]: https://codeberg.org/kettle-rb/kettle-dev/pulls
831
+ [🤝gh-issues]: https://github.com/kettle-dev/kettle-dev/issues
832
+ [🤝gh-pulls]: https://github.com/kettle-dev/kettle-dev/pulls
833
+ [🤝gl-issues]: https://gitlab.com/kettle-dev/kettle-dev/-/issues
834
+ [🤝gl-pulls]: https://gitlab.com/kettle-dev/kettle-dev/-/merge_requests
835
+ [🤝cb-issues]: https://codeberg.org/kettle-dev/kettle-dev/issues
836
+ [🤝cb-pulls]: https://codeberg.org/kettle-dev/kettle-dev/pulls
837
837
  [🤝cb-donate]: https://donate.codeberg.org/
838
- [🤝contributing]: https://github.com/kettle-rb/kettle-dev/blob/main/CONTRIBUTING.md
839
- [🏀codecov-g]: https://codecov.io/gh/kettle-rb/kettle-dev/graph/badge.svg
838
+ [🤝contributing]: https://github.com/kettle-dev/kettle-dev/blob/main/CONTRIBUTING.md
839
+ [🏀codecov-g]: https://codecov.io/gh/kettle-dev/kettle-dev/graph/badge.svg
840
840
  [🖐contrib-rocks]: https://contrib.rocks
841
- [🖐contributors]: https://github.com/kettle-rb/kettle-dev/graphs/contributors
842
- [🖐contributors-img]: https://contrib.rocks/image?repo=kettle-rb/kettle-dev
843
- [🚎contributors-gl]: https://gitlab.com/kettle-rb/kettle-dev/-/graphs/main
844
- [🪇conduct]: https://github.com/kettle-rb/kettle-dev/blob/main/CODE_OF_CONDUCT.md
841
+ [🖐contributors]: https://github.com/kettle-dev/kettle-dev/graphs/contributors
842
+ [🖐contributors-img]: https://contrib.rocks/image?repo=kettle-dev/kettle-dev
843
+ [🚎contributors-gl]: https://gitlab.com/kettle-dev/kettle-dev/-/graphs/main
844
+ [🪇conduct]: https://github.com/kettle-dev/kettle-dev/blob/main/CODE_OF_CONDUCT.md
845
845
  [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
846
846
  [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
847
847
  [📌semver]: https://semver.org/spec/v2.0.0.html
848
848
  [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
849
849
  [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
850
850
  [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
851
- [📌changelog]: https://github.com/kettle-rb/kettle-dev/blob/main/CHANGELOG.md
851
+ [📌changelog]: https://github.com/kettle-dev/kettle-dev/blob/main/CHANGELOG.md
852
852
  [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
853
853
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
854
854
  [📌gitmoji]: https://gitmoji.dev
855
855
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
856
856
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
857
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-4.054-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
858
- [🔐security]: https://github.com/kettle-rb/kettle-dev/blob/main/SECURITY.md
857
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-4.083-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
858
+ [🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
859
859
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
860
860
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
861
861
  [📄license]: LICENSE.md
@@ -869,7 +869,7 @@ Thanks for RTFM. ☺️
869
869
  [🚎yard-current]: http://rubydoc.info/gems/kettle-dev
870
870
  [🚎yard-head]: https://kettle-dev.galtzo.com
871
871
  [💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
872
- [💎SHA_checksums]: https://gitlab.com/kettle-rb/kettle-dev/-/tree/main/checksums
872
+ [💎SHA_checksums]: https://gitlab.com/kettle-dev/kettle-dev/-/tree/main/checksums
873
873
  [💎rlts]: https://github.com/rubocop-lts/rubocop-lts
874
874
  [💎rlts-img]: https://img.shields.io/badge/code_style_&_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
875
875
  [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
@@ -881,8 +881,8 @@ Thanks for RTFM. ☺️
881
881
  |---|---|
882
882
  | Package | kettle-dev |
883
883
  | Description | 🍲 Kettle::Dev is a meta tool from kettle-rb to streamline development and testing. Acts as a shim dependency, pulling in many other dependencies, to give you OOTB productivity with a RubyGem, or Ruby app project. Configures a complete set of Rake tasks, for all the libraries is brings in, so they arrive ready to go. Fund overlooked open source projects - bottom of stack, dev/test dependencies: floss-funding.dev |
884
- | Homepage | https://github.com/kettle-rb/kettle-dev |
885
- | Source | https://github.com/kettle-rb/kettle-dev/tree/v2.2.0 |
884
+ | Homepage | https://github.com/kettle-dev/kettle-dev |
885
+ | Source | https://github.com/kettle-dev/kettle-dev/tree/v2.2.1 |
886
886
  | License | `AGPL-3.0-only` |
887
- | Funding | https://github.com/sponsors/pboling, https://issuehunt.io/u/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/kettle-rb, https://patreon.com/galtzo, https://polar.sh/pboling, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/kettle-dev, https://www.buymeacoffee.com/pboling |
887
+ | Funding | https://github.com/sponsors/pboling, https://issuehunt.io/u/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/kettle-dev, https://opencollective.com/kettle-rb, https://patreon.com/galtzo, https://polar.sh/pboling, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/kettle-dev, https://www.buymeacoffee.com/pboling |
888
888
  <!-- kettle-jem:metadata:end -->
@@ -25,7 +25,7 @@ module Kettle
25
25
  # @option return [String] :gem_name gem name ("" when not derivable)
26
26
  # @option return [Gem::Version] :min_ruby minimum Ruby version derived or DEFAULT_MINIMUM_RUBY
27
27
  # @option return [String] :homepage homepage string (may be "")
28
- # @option return [String] :gh_org GitHub org (falls back to "kettle-rb")
28
+ # @option return [String] :gh_org GitHub org (falls back to "kettle-dev")
29
29
  # @option return [String] :forge_org primary forge org (currently same as gh_org)
30
30
  # @option return [String, nil] :funding_org OpenCollective/org handle or nil when not discovered
31
31
  # @option return [String, nil] :gh_repo GitHub repo name, if discoverable
@@ -107,8 +107,8 @@ module Kettle
107
107
  forge_org = explicit_forge_org || forge_info[:forge_org]
108
108
  gh_repo = forge_info[:origin_repo]
109
109
  if forge_org.to_s.empty?
110
- Kernel.warn("kettle-dev: Could not determine forge org from spec.homepage or git remote.\n - Ensure gemspec.homepage is set to a GitHub URL or that the git remote 'origin' points to GitHub.\n - Example homepage: https://github.com/<org>/<repo>\n - Proceeding with default org: kettle-rb.")
111
- forge_org = "kettle-rb"
110
+ Kernel.warn("kettle-dev: Could not determine forge org from spec.homepage or git remote.\n - Ensure gemspec.homepage is set to a GitHub URL or that the git remote 'origin' points to GitHub.\n - Example homepage: https://github.com/<org>/<repo>\n - Proceeding with default org: kettle-dev.")
111
+ forge_org = "kettle-dev"
112
112
  end
113
113
 
114
114
  camel = lambda do |s|
@@ -38,7 +38,7 @@ module Kettle
38
38
  @argv = argv
39
39
  @err = err
40
40
  @options = {
41
- root: Dir.pwd,
41
+ root: File.join(Dir.pwd, ".github", "workflows"),
42
42
  dry_run: true,
43
43
  token: ENV["GITHUB_TOKEN"] || ENV["GH_TOKEN"],
44
44
  json: false,
@@ -227,7 +227,7 @@ module Kettle
227
227
  opt.banner = "Usage: kettle-gha-sha-pins [options]"
228
228
  opt.separator ""
229
229
  opt.separator "Normalize GitHub Actions workflow action refs to immutable commit SHAs."
230
- opt.on("-r", "--root PATH", "Root directory to scan (defaults to cwd)") do |root|
230
+ opt.on("-r", "--root PATH", "Directory to scan (defaults to .github/workflows under cwd)") do |root|
231
231
  @options[:root] = root
232
232
  end
233
233
  opt.on("-w", "--write", "Write edits (dry-run is default)") do
@@ -367,12 +367,10 @@ module Kettle
367
367
  end
368
368
 
369
369
  def discover_workflow_files(root, reject_patterns)
370
- expanded_root = Pathname.new(root).expand_path
370
+ expanded_root = workflow_analysis_root(root)
371
371
  patterns = [
372
- File.join(expanded_root.to_s, "**/.github/workflows/**/*.yml"),
373
- File.join(expanded_root.to_s, "**/.github/workflows/**/*.yaml"),
374
- File.join(expanded_root.to_s, "**/.github/workflows/*.yml"),
375
- File.join(expanded_root.to_s, "**/.github/workflows/*.yaml")
372
+ File.join(expanded_root.to_s, "*.yml"),
373
+ File.join(expanded_root.to_s, "*.yaml")
376
374
  ]
377
375
  files = Dir.glob(patterns, File::FNM_PATHNAME).uniq.sort
378
376
  files.select do |path|
@@ -382,6 +380,14 @@ module Kettle
382
380
  end
383
381
  end
384
382
 
383
+ def workflow_analysis_root(root)
384
+ expanded_root = Pathname.new(root).expand_path
385
+ workflow_root = expanded_root.join(".github", "workflows")
386
+ return workflow_root if workflow_root.directory?
387
+
388
+ expanded_root
389
+ end
390
+
385
391
  def extract_uses_nodes(parsed, text = nil)
386
392
  mapping_node = Psych::Nodes::Mapping
387
393
  scalar_node = Psych::Nodes::Scalar
@@ -957,6 +963,32 @@ module Kettle
957
963
  save!
958
964
  end
959
965
 
966
+ def ref_sha(repo_ref, ref, fresh: true)
967
+ action = action_data(repo_ref)
968
+ return nil unless action
969
+
970
+ refs = action.fetch("refs", {})
971
+ entry = refs[ref.to_s]
972
+ return nil unless entry
973
+ return nil if fresh && !fresh_entry?(entry)
974
+
975
+ sha = entry["sha"].to_s
976
+ sha.empty? ? nil : sha
977
+ end
978
+
979
+ def write_ref_sha(repo_ref, ref, sha)
980
+ return if @path.to_s.empty?
981
+ return if repo_ref.to_s.empty? || ref.to_s.empty? || sha.to_s.empty?
982
+
983
+ action = data.fetch("actions")[repo_ref] ||= {}
984
+ refs = action["refs"] ||= {}
985
+ refs[ref.to_s] = {
986
+ "sha" => sha.to_s[0, 40],
987
+ "cached_at" => @clock.call.utc.iso8601
988
+ }
989
+ save!
990
+ end
991
+
960
992
  def to_h
961
993
  data
962
994
  end
@@ -1108,10 +1140,23 @@ module Kettle
1108
1140
  cache_key = "commit:#{repo_ref}:#{ref}"
1109
1141
  return @commit_cache[cache_key] if @commit_cache.key?(cache_key)
1110
1142
 
1143
+ unless @refresh_cache
1144
+ cached = @persistent_cache&.ref_sha(repo_ref, ref, fresh: true)
1145
+ if cached
1146
+ @commit_cache[cache_key] = cached
1147
+ return cached
1148
+ end
1149
+ end
1150
+
1111
1151
  data = request_json("/repos/#{repo_ref}/commits/#{uri_encode(ref)}")
1112
1152
  sha = if data.is_a?(Hash)
1113
1153
  data.fetch("sha", "")[0, 40]
1114
1154
  end
1155
+ if sha.to_s.empty?
1156
+ sha = @persistent_cache&.ref_sha(repo_ref, ref, fresh: false)
1157
+ else
1158
+ @persistent_cache&.write_ref_sha(repo_ref, ref, sha)
1159
+ end
1115
1160
  @commit_cache[cache_key] = sha
1116
1161
  sha
1117
1162
  end
@@ -3,7 +3,7 @@
3
3
  module Kettle
4
4
  module Dev
5
5
  module Version
6
- VERSION = "2.2.0"
6
+ VERSION = "2.2.2"
7
7
  end
8
8
  VERSION = Version::VERSION # Traditional Constant Location
9
9
  end
data.tar.gz.sig CHANGED
@@ -1 +1 @@
1
- *�����f5�6z݃<��J���W��Q+�<��C�8�y.�s��f�D�_ 龓f��@��^cԧ���1���8�e�1��j�3r��~���T�{��Fbԯ�_��x�P���u&^fgӡz4㭿o�& �{�vo�wvwr����U5b)F��`GNd�{-�u7Ue�Z�q��d��?�X��,2�T��P� ��N�:@��Sli'�Ag�k��,&���/��v��I">V��o�$�W��d�؃�bR���L�i���2�]F�V]��(�,XE�����ősqҫ#��$Xs�S+g�ɀ�[K6ۂ&���1�w�E��x�`C��j��O��8�Vw���5�hy���a ���Z�&CH+1��`����
1
+ /�F�
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.2.0
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -333,17 +333,17 @@ files:
333
333
  - sig/kettle/dev/version.rbs
334
334
  - sig/kettle/dev/versioning.rbs
335
335
  - sig/kettle/emoji_regex.rbs
336
- homepage: https://github.com/kettle-rb/kettle-dev
336
+ homepage: https://github.com/kettle-dev/kettle-dev
337
337
  licenses:
338
338
  - AGPL-3.0-only
339
339
  metadata:
340
340
  homepage_uri: https://kettle-dev.galtzo.com
341
- source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v2.2.0
342
- changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v2.2.0/CHANGELOG.md
343
- bug_tracker_uri: https://github.com/kettle-rb/kettle-dev/issues
344
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.2.0
341
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.2.2
342
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.2.2/CHANGELOG.md
343
+ bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
344
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.2.2
345
345
  funding_uri: https://github.com/sponsors/pboling
346
- wiki_uri: https://github.com/kettle-rb/kettle-dev/wiki
346
+ wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
347
347
  news_uri: https://www.railsbling.com/tags/kettle-dev
348
348
  discord_uri: https://discord.gg/3qme4XHNKN
349
349
  rubygems_mfa_required: 'true'
metadata.gz.sig CHANGED
Binary file