kettle-family 1.2.3 → 1.2.5
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +63 -1
- data/README.md +19 -18
- data/lib/kettle/family/version.rb +1 -1
- data/lib/kettle/family/workflow.rb +66 -2
- data/lib/kettle/family.rb +0 -6
- data.tar.gz.sig +0 -0
- metadata +7 -6
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 647d4190c3f92dec7b283cbf0387c55de94c1a1afcd8a78763c4c350c9e79aa9
|
|
4
|
+
data.tar.gz: a21e3ef8879e7554e86d13583788da7d2e648e747dd1ade543cb00b3da7ab3dc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 31160e4f6125dd16a427077380c66bf5ae0ed8e7661808c0630200ca1015ec9966e9d3c0c0804b4dab457fed2228116f3a533459fe77d57c77bc92bade2c8250
|
|
7
|
+
data.tar.gz: f2d6d7b03a6b89049dd34b59241546922066cf08dea7a41f609dc03b702d9a210b357b13373a5847f788848f585f30d92f0c979af4bc74a5cf63e4a21f4a8b11
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,64 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [1.2.5] - 2026-07-29
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.2.5][1.2.5t]
|
|
36
|
+
- COVERAGE: 94.00% -- 3649/3882 lines in 27 files
|
|
37
|
+
- BRANCH COVERAGE: 76.43% -- 1391/1820 branches in 27 files
|
|
38
|
+
- 28.01% documented
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- `kettle-family template` now defers `kettle-jem` bootstrap commits for
|
|
43
|
+
executed monorepo templating and runs a serialized member-scoped
|
|
44
|
+
`commit_template` phase, avoiding parallel `.git/index.lock` races when many
|
|
45
|
+
members share one Git repository.
|
|
46
|
+
|
|
47
|
+
- kettle-jem-template-20260730-001 - Gemspec package file enumeration now runs
|
|
48
|
+
relative to the gemspec directory, so packaged template assets are included
|
|
49
|
+
even when the gemspec is loaded from another working directory.
|
|
50
|
+
|
|
51
|
+
## [1.2.4] - 2026-07-29
|
|
52
|
+
|
|
53
|
+
- TAG: [v1.2.4][1.2.4t]
|
|
54
|
+
- COVERAGE: 93.92% -- 3629/3864 lines in 27 files
|
|
55
|
+
- BRANCH COVERAGE: 76.22% -- 1378/1808 branches in 27 files
|
|
56
|
+
- 28.01% documented
|
|
57
|
+
|
|
58
|
+
### Added
|
|
59
|
+
|
|
60
|
+
- kettle-jem-template-20260729-005 - Gemspec metadata now publishes this
|
|
61
|
+
project's RubyForum tag as `mailing_list_uri`, and support docs link to the
|
|
62
|
+
tagged RubyForum community alongside Discord.
|
|
63
|
+
|
|
64
|
+
### Fixed
|
|
65
|
+
|
|
66
|
+
- Family release changelog phases now pass `--yes` to configured
|
|
67
|
+
`kettle-changelog` commands by default, matching child `kettle-release`
|
|
68
|
+
behavior and keeping publish runs non-interactive unless `--no-accept` is
|
|
69
|
+
used.
|
|
70
|
+
|
|
71
|
+
- kettle-jem-template-20260728-003 - Generated dep-heads workflows now run
|
|
72
|
+
TruffleRuby jobs with current RubyGems and Bundler, avoiding setup failures
|
|
73
|
+
before the test suite starts.
|
|
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
|
+
|
|
33
91
|
## [1.2.3] - 2026-07-28
|
|
34
92
|
|
|
35
93
|
- TAG: [v1.2.3][1.2.3t]
|
|
@@ -1211,7 +1269,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
1211
1269
|
- Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
|
|
1212
1270
|
- Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
|
|
1213
1271
|
|
|
1214
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.
|
|
1272
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.5...HEAD
|
|
1273
|
+
[1.2.5]: https://github.com/kettle-dev/kettle-family/compare/v1.2.4...v1.2.5
|
|
1274
|
+
[1.2.5t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.5
|
|
1275
|
+
[1.2.4]: https://github.com/kettle-dev/kettle-family/compare/v1.2.3...v1.2.4
|
|
1276
|
+
[1.2.4t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.4
|
|
1215
1277
|
[1.2.3]: https://github.com/kettle-dev/kettle-family/compare/v1.2.2...v1.2.3
|
|
1216
1278
|
[1.2.3t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.3
|
|
1217
1279
|
[1.2.2]: https://github.com/kettle-dev/kettle-family/compare/v1.2.1...v1.2.2
|
data/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
# 👩👩👧👧 Kettle::Family
|
|
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] [![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] [![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] [![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
|
|
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
|
|
|
@@ -87,17 +87,14 @@ The _amazing_ test matrix is powered by the kettle-dev stack.
|
|
|
87
87
|
<details markdown="1">
|
|
88
88
|
<summary>Find this repo on federated forges (Coming soon!)</summary>
|
|
89
89
|
|
|
90
|
-
| Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI |
|
|
91
|
-
|
|
92
|
-
| 🧪 [kettle-dev/kettle-family on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix |
|
|
93
|
-
| 🧊 [kettle-dev/kettle-family on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix |
|
|
94
|
-
| 🐙 [kettle-dev/kettle-family on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix |
|
|
95
|
-
| 🎮️ [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] |
|
|
90
|
+
| Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI |
|
|
91
|
+
|-------------------------------------------------|-------------------------------------------|-------------------|------------------|-----------------|----------------|
|
|
92
|
+
| 🧪 [kettle-dev/kettle-family on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix |
|
|
93
|
+
| 🧊 [kettle-dev/kettle-family on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix |
|
|
94
|
+
| 🐙 [kettle-dev/kettle-family on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix |
|
|
96
95
|
|
|
97
96
|
</details>
|
|
98
97
|
|
|
99
|
-
[gh-discussions]: https://github.com/kettle-dev/kettle-family/discussions
|
|
100
|
-
|
|
101
98
|
### Enterprise Support [](https://tidelift.com/subscription/pkg/rubygems-kettle-family?utm_source=rubygems-kettle-family&utm_medium=referral&utm_campaign=readme)
|
|
102
99
|
|
|
103
100
|
Available as part of the Tidelift Subscription.
|
|
@@ -115,6 +112,7 @@ The maintainers of this and thousands of other packages are working with Tidelif
|
|
|
115
112
|
|
|
116
113
|
Alternatively:
|
|
117
114
|
|
|
115
|
+
- [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
|
|
118
116
|
- [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
119
117
|
- [![Get help from me on Upwork][👨🏼🏫expsup-upwork-img]][👨🏼🏫expsup-upwork]
|
|
120
118
|
- [![Get help from me on Codementor][👨🏼🏫expsup-codementor-img]][👨🏼🏫expsup-codementor]
|
|
@@ -399,9 +397,10 @@ and leaves RubyGems MFA prompts interactive by default:
|
|
|
399
397
|
kettle-family release --publish --execute
|
|
400
398
|
```
|
|
401
399
|
|
|
402
|
-
By default, family publish runs pass `--yes` to
|
|
403
|
-
|
|
404
|
-
own confirmation
|
|
400
|
+
By default, family publish runs pass `--yes` to configured `kettle-changelog`
|
|
401
|
+
family changelog commands and child `kettle-release` commands. Use
|
|
402
|
+
`--no-accept` when you want each child command to ask its own confirmation
|
|
403
|
+
prompts.
|
|
405
404
|
|
|
406
405
|
Executed publish runs can opt in to the local 1Password CLI for unattended
|
|
407
406
|
release credentials. The gem signing passphrase is loaded once and cached only
|
|
@@ -659,11 +658,12 @@ I'm hoping to be able to pay for my kids' health insurance this month,
|
|
|
659
658
|
so if you value the work I am doing, I need your support.
|
|
660
659
|
Please consider sponsoring me or the project.
|
|
661
660
|
|
|
662
|
-
To join the community or get help
|
|
661
|
+
To join the community or get help, use the RubyForum or Discord.
|
|
663
662
|
|
|
663
|
+
[![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
|
|
664
664
|
[![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
665
665
|
|
|
666
|
-
To say "thanks!" ☝️ Join the
|
|
666
|
+
To say "thanks!" ☝️ Join the community or 👇️ send money.
|
|
667
667
|
|
|
668
668
|
[![Sponsor kettle-dev/kettle-family 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]
|
|
669
669
|
|
|
@@ -704,8 +704,9 @@ Thanks for RTFM. ☺️
|
|
|
704
704
|
[✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
|
|
705
705
|
[✉️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
|
|
706
706
|
[✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
|
|
707
|
-
[✉️ruby-forum-img]: https://img.shields.io/
|
|
708
|
-
[✉️ruby-forum]: https://www.rubyforum.org
|
|
707
|
+
[✉️ruby-forum-top-img]: https://img.shields.io/discourse/topics?server=https://www.rubyforum.org&style=flat&logo=discourse&label=Ruby%20Users%20Forum
|
|
708
|
+
[✉️ruby-forum-img]: https://img.shields.io/discourse/topics?server=https://www.rubyforum.org&style=for-the-badge&logo=discourse&label=Ruby%20Users%20Forum
|
|
709
|
+
[✉️ruby-forum]: https://www.rubyforum.org/tag/kettle-dev
|
|
709
710
|
|
|
710
711
|
[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
|
|
711
712
|
[⛳️gem-namespace]: https://github.com/kettle-dev/kettle-family
|
|
@@ -813,7 +814,7 @@ Thanks for RTFM. ☺️
|
|
|
813
814
|
[📌gitmoji]: https://gitmoji.dev
|
|
814
815
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
815
816
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
816
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-3.
|
|
817
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-3.882-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
817
818
|
[🔐security]: https://github.com/kettle-dev/kettle-family/blob/main/SECURITY.md
|
|
818
819
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
819
820
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
@@ -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.2.
|
|
8
|
+
VERSION = "1.2.5"
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
|
@@ -265,6 +265,8 @@ module Kettle
|
|
|
265
265
|
|
|
266
266
|
normalize_lockfiles(member: member, runner: runner, memo: memo, phase: "normalize_lockfiles")
|
|
267
267
|
emit_member_result_progress(member, memo.last, progress: progress)
|
|
268
|
+
commit_template_changes(member: member, runner: runner, memo: memo)
|
|
269
|
+
emit_member_result_progress(member, memo.last, progress: progress) if memo.last&.phase == "commit_template"
|
|
268
270
|
ensure
|
|
269
271
|
template_result = memo.find { |result| result.phase == "template" } || memo.last
|
|
270
272
|
if template_result
|
|
@@ -983,7 +985,7 @@ module Kettle
|
|
|
983
985
|
memo << runner.call(
|
|
984
986
|
member: family_member,
|
|
985
987
|
phase: "family_changelog",
|
|
986
|
-
command:
|
|
988
|
+
command: family_changelog_command,
|
|
987
989
|
env: release_env.merge(config.changelog_env)
|
|
988
990
|
)
|
|
989
991
|
end
|
|
@@ -997,6 +999,11 @@ module Kettle
|
|
|
997
999
|
kettle_release_command?(command) ? append_kettle_release_args(command) : command
|
|
998
1000
|
end
|
|
999
1001
|
|
|
1002
|
+
def family_changelog_command
|
|
1003
|
+
command = config.release_family_changelog_command
|
|
1004
|
+
kettle_changelog_command?(command) ? append_kettle_changelog_args(command) : command
|
|
1005
|
+
end
|
|
1006
|
+
|
|
1000
1007
|
def raw_release_command
|
|
1001
1008
|
publish ? config.release_publish_command : config.release_build_command
|
|
1002
1009
|
end
|
|
@@ -1016,6 +1023,17 @@ module Kettle
|
|
|
1016
1023
|
end
|
|
1017
1024
|
end
|
|
1018
1025
|
|
|
1026
|
+
def kettle_changelog_command?(command)
|
|
1027
|
+
case command
|
|
1028
|
+
when Array
|
|
1029
|
+
command.any? { |part| part.to_s.include?("kettle-changelog") }
|
|
1030
|
+
when String
|
|
1031
|
+
command.include?("kettle-changelog")
|
|
1032
|
+
else
|
|
1033
|
+
false
|
|
1034
|
+
end
|
|
1035
|
+
end
|
|
1036
|
+
|
|
1019
1037
|
def append_kettle_release_args(command)
|
|
1020
1038
|
args = []
|
|
1021
1039
|
args << "start_step=#{start_step}" if start_step
|
|
@@ -1036,6 +1054,13 @@ module Kettle
|
|
|
1036
1054
|
accept && kettle_release_command?(raw_release_command)
|
|
1037
1055
|
end
|
|
1038
1056
|
|
|
1057
|
+
def append_kettle_changelog_args(command)
|
|
1058
|
+
return command unless accept
|
|
1059
|
+
return command if command_includes_arg?(command, "--yes")
|
|
1060
|
+
|
|
1061
|
+
command.is_a?(Array) ? [*command, "--yes"] : "#{command} --yes"
|
|
1062
|
+
end
|
|
1063
|
+
|
|
1039
1064
|
def validate_ci_workflows(value)
|
|
1040
1065
|
return nil if value.nil? || value.to_s.empty?
|
|
1041
1066
|
|
|
@@ -1325,7 +1350,7 @@ module Kettle
|
|
|
1325
1350
|
end
|
|
1326
1351
|
|
|
1327
1352
|
def append_template_skip_commit(command_text)
|
|
1328
|
-
return command_text
|
|
1353
|
+
return command_text unless template_skip_commit?(command_text)
|
|
1329
1354
|
return command_text if command_text.is_a?(Array) && command_text.include?("--skip-commit")
|
|
1330
1355
|
return [*command_text, "--skip-commit"] if command_text.is_a?(Array)
|
|
1331
1356
|
return command_text if command_text.include?("--skip-commit")
|
|
@@ -1333,6 +1358,15 @@ module Kettle
|
|
|
1333
1358
|
"#{command_text} --skip-commit"
|
|
1334
1359
|
end
|
|
1335
1360
|
|
|
1361
|
+
def template_skip_commit?(command_text)
|
|
1362
|
+
!commit || deferred_monorepo_template_commit?(command_text: command_text)
|
|
1363
|
+
end
|
|
1364
|
+
|
|
1365
|
+
def deferred_monorepo_template_commit?(member = nil, command_text: nil)
|
|
1366
|
+
command_text ||= config.template_command || (member ? default_template_command(member) : DEFAULT_COMMANDS.fetch("template"))
|
|
1367
|
+
execute && commit && monorepo_template? && kettle_jem_template_command?(command_text)
|
|
1368
|
+
end
|
|
1369
|
+
|
|
1336
1370
|
def default_template_command(member)
|
|
1337
1371
|
return DEFAULT_COMMANDS.fetch("template") if templating_bundle_wired?(member)
|
|
1338
1372
|
|
|
@@ -1458,6 +1492,7 @@ module Kettle
|
|
|
1458
1492
|
total = 1
|
|
1459
1493
|
total += 2 if config.normalize_lockfiles?
|
|
1460
1494
|
total += 1 if member.nil? || template_prepares_dependencies?(member)
|
|
1495
|
+
total += 1 if deferred_monorepo_template_commit?(member)
|
|
1461
1496
|
total
|
|
1462
1497
|
end
|
|
1463
1498
|
|
|
@@ -1842,6 +1877,35 @@ module Kettle
|
|
|
1842
1877
|
result.ok?
|
|
1843
1878
|
end
|
|
1844
1879
|
|
|
1880
|
+
def commit_template_changes(member:, runner:, memo:)
|
|
1881
|
+
return unless deferred_monorepo_template_commit?(member)
|
|
1882
|
+
return unless memo.all?(&:ok?)
|
|
1883
|
+
|
|
1884
|
+
synchronize_template_commit do
|
|
1885
|
+
memo << runner.call(
|
|
1886
|
+
member: member,
|
|
1887
|
+
phase: "commit_template",
|
|
1888
|
+
command: [
|
|
1889
|
+
"sh",
|
|
1890
|
+
"-lc",
|
|
1891
|
+
"if [ -n \"$(git status --porcelain -- .)\" ]; then " \
|
|
1892
|
+
"git add -A -- . && git commit -m #{Shellwords.escape(template_commit_message(member))}; " \
|
|
1893
|
+
"fi"
|
|
1894
|
+
],
|
|
1895
|
+
env: workflow_env
|
|
1896
|
+
)
|
|
1897
|
+
end
|
|
1898
|
+
end
|
|
1899
|
+
|
|
1900
|
+
def template_commit_message(member)
|
|
1901
|
+
"🎨 Template #{member.name} by kettle-family"
|
|
1902
|
+
end
|
|
1903
|
+
|
|
1904
|
+
def synchronize_template_commit(&block)
|
|
1905
|
+
@template_commit_mutex ||= Mutex.new
|
|
1906
|
+
@template_commit_mutex.synchronize(&block)
|
|
1907
|
+
end
|
|
1908
|
+
|
|
1845
1909
|
def template_prepare_env
|
|
1846
1910
|
env = workflow_env
|
|
1847
1911
|
family_env_name = config.family_local_path_env_name
|
data/lib/kettle/family.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "version_gem"
|
|
4
|
-
|
|
5
3
|
require_relative "family/version"
|
|
6
4
|
require_relative "family/member"
|
|
7
5
|
require_relative "family/command_result"
|
|
@@ -30,7 +28,3 @@ module Kettle
|
|
|
30
28
|
class Error < StandardError; end
|
|
31
29
|
end
|
|
32
30
|
end
|
|
33
|
-
|
|
34
|
-
Kettle::Family::Version.class_eval do
|
|
35
|
-
extend VersionGem::Basic
|
|
36
|
-
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.2.
|
|
4
|
+
version: 1.2.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -284,7 +284,7 @@ dependencies:
|
|
|
284
284
|
version: '2.0'
|
|
285
285
|
- - ">="
|
|
286
286
|
- !ruby/object:Gem::Version
|
|
287
|
-
version: 2.0.
|
|
287
|
+
version: 2.0.10
|
|
288
288
|
type: :development
|
|
289
289
|
prerelease: false
|
|
290
290
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -294,7 +294,7 @@ dependencies:
|
|
|
294
294
|
version: '2.0'
|
|
295
295
|
- - ">="
|
|
296
296
|
- !ruby/object:Gem::Version
|
|
297
|
-
version: 2.0.
|
|
297
|
+
version: 2.0.10
|
|
298
298
|
description: "\U0001F469\U0001F469\U0001F467\U0001F467 Kettle::Family provides
|
|
299
299
|
scripts and conventions for coordinating related Ruby gems as one family."
|
|
300
300
|
email:
|
|
@@ -341,14 +341,15 @@ licenses:
|
|
|
341
341
|
- AGPL-3.0-only
|
|
342
342
|
metadata:
|
|
343
343
|
homepage_uri: https://kettle-family.galtzo.com
|
|
344
|
-
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.
|
|
345
|
-
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.
|
|
344
|
+
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.5
|
|
345
|
+
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.5/CHANGELOG.md
|
|
346
346
|
bug_tracker_uri: https://github.com/kettle-dev/kettle-family/issues
|
|
347
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.
|
|
347
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.5
|
|
348
348
|
funding_uri: https://github.com/sponsors/pboling
|
|
349
349
|
wiki_uri: https://github.com/kettle-dev/kettle-family/wiki
|
|
350
350
|
news_uri: https://www.railsbling.com/tags/kettle-family
|
|
351
351
|
discord_uri: https://discord.gg/3qme4XHNKN
|
|
352
|
+
mailing_list_uri: https://www.rubyforum.org/tag/kettle-dev
|
|
352
353
|
rubygems_mfa_required: 'true'
|
|
353
354
|
rdoc_options:
|
|
354
355
|
- "--title"
|
metadata.gz.sig
CHANGED
|
Binary file
|