kettle-family 1.2.4 → 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 +21 -1
- data/README.md +1 -1
- data/lib/kettle/family/version.rb +1 -1
- data/lib/kettle/family/workflow.rb +42 -1
- data.tar.gz.sig +0 -0
- metadata +4 -4
- 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,24 @@ 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
|
+
|
|
33
51
|
## [1.2.4] - 2026-07-29
|
|
34
52
|
|
|
35
53
|
- TAG: [v1.2.4][1.2.4t]
|
|
@@ -1251,7 +1269,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
1251
1269
|
- Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
|
|
1252
1270
|
- Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
|
|
1253
1271
|
|
|
1254
|
-
[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
|
|
1255
1275
|
[1.2.4]: https://github.com/kettle-dev/kettle-family/compare/v1.2.3...v1.2.4
|
|
1256
1276
|
[1.2.4t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.4
|
|
1257
1277
|
[1.2.3]: https://github.com/kettle-dev/kettle-family/compare/v1.2.2...v1.2.3
|
data/README.md
CHANGED
|
@@ -814,7 +814,7 @@ Thanks for RTFM. ☺️
|
|
|
814
814
|
[📌gitmoji]: https://gitmoji.dev
|
|
815
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
|
|
816
816
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
817
|
-
[🧮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
|
|
818
818
|
[🔐security]: https://github.com/kettle-dev/kettle-family/blob/main/SECURITY.md
|
|
819
819
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
820
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
|
|
@@ -1348,7 +1350,7 @@ module Kettle
|
|
|
1348
1350
|
end
|
|
1349
1351
|
|
|
1350
1352
|
def append_template_skip_commit(command_text)
|
|
1351
|
-
return command_text
|
|
1353
|
+
return command_text unless template_skip_commit?(command_text)
|
|
1352
1354
|
return command_text if command_text.is_a?(Array) && command_text.include?("--skip-commit")
|
|
1353
1355
|
return [*command_text, "--skip-commit"] if command_text.is_a?(Array)
|
|
1354
1356
|
return command_text if command_text.include?("--skip-commit")
|
|
@@ -1356,6 +1358,15 @@ module Kettle
|
|
|
1356
1358
|
"#{command_text} --skip-commit"
|
|
1357
1359
|
end
|
|
1358
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
|
+
|
|
1359
1370
|
def default_template_command(member)
|
|
1360
1371
|
return DEFAULT_COMMANDS.fetch("template") if templating_bundle_wired?(member)
|
|
1361
1372
|
|
|
@@ -1481,6 +1492,7 @@ module Kettle
|
|
|
1481
1492
|
total = 1
|
|
1482
1493
|
total += 2 if config.normalize_lockfiles?
|
|
1483
1494
|
total += 1 if member.nil? || template_prepares_dependencies?(member)
|
|
1495
|
+
total += 1 if deferred_monorepo_template_commit?(member)
|
|
1484
1496
|
total
|
|
1485
1497
|
end
|
|
1486
1498
|
|
|
@@ -1865,6 +1877,35 @@ module Kettle
|
|
|
1865
1877
|
result.ok?
|
|
1866
1878
|
end
|
|
1867
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
|
+
|
|
1868
1909
|
def template_prepare_env
|
|
1869
1910
|
env = workflow_env
|
|
1870
1911
|
family_env_name = config.family_local_path_env_name
|
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
|
|
@@ -341,10 +341,10 @@ 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
|
metadata.gz.sig
CHANGED
|
Binary file
|