kettle-family 1.0.5 → 1.0.6

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: fceb2fadcbbc93ac056bf4a56e6efc3b628a5891c094af2fdf626886ea211acb
4
- data.tar.gz: a3b0a7d51a2fc8d3c6ef63209fff25912f8d144d223de52d2649c2144c58c5e2
3
+ metadata.gz: 55c4dcb2f4f8b001f5e41fa816f63e0d1cc2996c28d864a1834ef264fe610cc6
4
+ data.tar.gz: 4586ac1f9e25c405579cc62f17ddf5206a9ba81cd8a76f1d9f127e895783e8f7
5
5
  SHA512:
6
- metadata.gz: d0fbc13bfb0ed888c274d07cb7f59dacecb9aeeb0ef22fe6dcaf0e15632450d910000f6dc25dcacf1dc5bae5c603115073a0b48209c427a45508de40ecd2ba17
7
- data.tar.gz: c684031130496ae7a414b4411fb62934bbdd6610f0f64cc27645b9074db07b03c7be05ab71aa033a1b5ecd19724e9601e6197c1c543b6bcaec2ee7b3ba93b84a
6
+ metadata.gz: 487b01bd066f0c03b5ce37fee27325c273353c03880dd29e90b93efc1c4bea0724e3dd46a9def8b0c8bdde5f9163b8226533bbdb7e4f9fc6acd67b69ab0c13d6
7
+ data.tar.gz: 125aecb410e6ec7f2562455e18e38cc2672899378631e96b5f0d063f61bb902161b0b1736cb8e0552b8d645c067a0e8bd467cdcd735f42541a32eaef60ea1b80
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,18 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.0.6] - 2026-07-23
34
+
35
+ - TAG: [v1.0.6][1.0.6t]
36
+ - COVERAGE: 94.43% -- 2781/2945 lines in 24 files
37
+ - BRANCH COVERAGE: 76.66% -- 982/1281 branches in 24 files
38
+ - 29.23% documented
39
+
40
+ ### Fixed
41
+
42
+ - Monorepo templating now passes a shared `kettle-jem` git commit lock so
43
+ parallel member templating no longer races while updating `HEAD`.
44
+
33
45
  ## [1.0.5] - 2026-07-23
34
46
 
35
47
  - TAG: [v1.0.5][1.0.5t]
@@ -878,7 +890,9 @@ Please file a bug if you notice a violation of semantic versioning.
878
890
  - Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
879
891
  - Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
880
892
 
881
- [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.0.5...HEAD
893
+ [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.0.6...HEAD
894
+ [1.0.6]: https://github.com/kettle-dev/kettle-family/compare/v1.0.5...v1.0.6
895
+ [1.0.6t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.0.6
882
896
  [1.0.5]: https://github.com/kettle-dev/kettle-family/compare/v1.0.4...v1.0.5
883
897
  [1.0.5t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.0.5
884
898
  [1.0.4]: https://github.com/kettle-dev/kettle-family/compare/v1.0.3...v1.0.4
data/LICENSE.md CHANGED
@@ -3,7 +3,7 @@
3
3
  This project is made available under the following license.
4
4
  Choose the option that best fits your use case:
5
5
 
6
- - [AGPL-3.0-only](AGPL-3.0-only.md)
6
+ - [AGPL-3.0-only](https://github.com/kettle-dev/kettle-family/blob/main/AGPL-3.0-only.md)
7
7
 
8
8
  If none of the above licenses fit your use case, please [contact us](mailto:floss@galtzo.com) to discuss a custom commercial license.
9
9
 
data/README.md CHANGED
@@ -46,7 +46,7 @@ while RubyGems MFA prompts remain interactive.
46
46
  |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
47
47
  | Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
48
48
  | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Get help from RubyForum][✉️ruby-forum-img]][✉️ruby-forum] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
49
- | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
49
+ | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on GitHub.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
50
50
  | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
51
51
  | Compliance | [![License: AGPL-3.0-only][📄license-img]][📄license] [![Apache license compatibility: Category X][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
52
52
  | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
@@ -490,7 +490,7 @@ See [CHANGELOG.md][📌changelog] for a list of releases.
490
490
 
491
491
  ## 📄 License
492
492
 
493
- The gem is available under the following license: [AGPL-3.0-only](AGPL-3.0-only.md).
493
+ The gem is available under the following license: [AGPL-3.0-only](https://github.com/kettle-dev/kettle-family/blob/main/AGPL-3.0-only.md).
494
494
  See [LICENSE.md][📄license] for details.
495
495
 
496
496
  If none of the available licenses suit your use case, please [contact us](mailto:floss@galtzo.com) to discuss a custom commercial license.
@@ -607,7 +607,7 @@ Thanks for RTFM. ☺️
607
607
  [📜src-gl]: https://gitlab.com/kettle-dev/kettle-family
608
608
  [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
609
609
  [📜src-cb]: https://codeberg.org/kettle-dev/kettle-family
610
- [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
610
+ [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=GitHub&logoColor=green
611
611
  [📜src-gh]: https://github.com/kettle-dev/kettle-family
612
612
  [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
613
613
  [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
@@ -669,12 +669,12 @@ Thanks for RTFM. ☺️
669
669
  [📌gitmoji]: https://gitmoji.dev
670
670
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
671
671
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
672
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-2.936-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
672
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-2.945-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
673
673
  [🔐security]: https://github.com/kettle-dev/kettle-family/blob/main/SECURITY.md
674
674
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
675
675
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
676
676
  [📄license]: LICENSE.md
677
- [📄license-ref]: AGPL-3.0-only.md
677
+ [📄license-ref]: https://github.com/kettle-dev/kettle-family/blob/main/AGPL-3.0-only.md
678
678
  [📄license-img]: https://img.shields.io/badge/License-AGPL--3.0--only-259D6C.svg
679
679
  [📄license-compat]: https://www.apache.org/legal/resolved.html#category-x
680
680
  [📄license-compat-img]: https://img.shields.io/badge/Apache_Incompatible:_Category_X-%E2%9C%97-C0392B.svg?style=flat&logo=Apache
@@ -3,7 +3,7 @@
3
3
  module Kettle
4
4
  module Family
5
5
  module Version
6
- VERSION = "1.0.5"
6
+ VERSION = "1.0.6"
7
7
  end
8
8
  VERSION = Version::VERSION # Traditional Constant Location
9
9
  end
@@ -1051,6 +1051,7 @@ module Kettle
1051
1051
  if command == "template"
1052
1052
  env["KETTLE_JEM_TEMPLATE_PROFILE"] = config.template_profile if config.template_profile
1053
1053
  env["KJ_REPOSITORY_TOPOLOGY"] = config.template_repository_topology if config.template_repository_topology
1054
+ env["KETTLE_JEM_GIT_COMMIT_LOCK"] = template_git_commit_lock_path if monorepo_template?
1054
1055
  corporate_sponsors = config.readme_corporate_sponsors
1055
1056
  unless corporate_sponsors.empty?
1056
1057
  env["KETTLE_JEM_CORPORATE_SPONSORS_JSON"] = JSON.generate(corporate_sponsors)
@@ -1065,6 +1066,21 @@ module Kettle
1065
1066
  end
1066
1067
  end
1067
1068
 
1069
+ def monorepo_template?
1070
+ command == "template" && config.family_mode == "monorepo"
1071
+ end
1072
+
1073
+ def template_git_commit_lock_path
1074
+ File.join(git_common_dir(config.root), "kettle-family-template-commit.lock")
1075
+ end
1076
+
1077
+ def git_common_dir(root)
1078
+ stdout, _stderr, status = Open3.capture3("git", "rev-parse", "--git-common-dir", chdir: root)
1079
+ return File.expand_path(stdout.strip, root) if status.success? && !stdout.strip.empty?
1080
+
1081
+ File.join(root, ".git")
1082
+ end
1083
+
1068
1084
  def kettle_jem_template_command?(command_text)
1069
1085
  command_text.is_a?(Array) ? command_text.map(&:to_s).include?("kettle-jem") : command_text.to_s.include?("kettle-jem")
1070
1086
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kettle-family
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -94,7 +94,7 @@ dependencies:
94
94
  version: '2.0'
95
95
  - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: 2.0.12
97
+ version: 2.0.14
98
98
  type: :runtime
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
@@ -104,7 +104,7 @@ dependencies:
104
104
  version: '2.0'
105
105
  - - ">="
106
106
  - !ruby/object:Gem::Version
107
- version: 2.0.12
107
+ version: 2.0.14
108
108
  - !ruby/object:Gem::Dependency
109
109
  name: tsort
110
110
  requirement: !ruby/object:Gem::Requirement
@@ -304,10 +304,10 @@ licenses:
304
304
  - AGPL-3.0-only
305
305
  metadata:
306
306
  homepage_uri: https://kettle-family.galtzo.com
307
- source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.0.5
308
- changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.0.5/CHANGELOG.md
307
+ source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.0.6
308
+ changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.0.6/CHANGELOG.md
309
309
  bug_tracker_uri: https://github.com/kettle-dev/kettle-family/issues
310
- documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.0.5
310
+ documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.0.6
311
311
  funding_uri: https://github.com/sponsors/pboling
312
312
  wiki_uri: https://github.com/kettle-dev/kettle-family/wiki
313
313
  news_uri: https://www.railsbling.com/tags/kettle-family
metadata.gz.sig CHANGED
Binary file