kettle-family 1.2.4 → 1.2.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +30 -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: 87022fba999d5343044afcf1c679be7b53f49648ce71ff7aebfe29044ee6064a
|
|
4
|
+
data.tar.gz: 775df5e0ce6843e9013fbe7a4cc17ea2608322aae8139f9116f51a456051a5b8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 258275ea92c47f043220780188c6967427e700bf66f7e8675700ac39d4ffb4a7da775a809a587babfa839f32778bc81e4b525f2f33f839648cf11be1be1b239c
|
|
7
|
+
data.tar.gz: ec9fd4d7a541edd9f82b4bb9e57510563f264b5893734814c27a6eae24f3af4ca05fbd80baa1986de388ab6a4b83daa4bbfafae3117bf748693fe50a2261a2d3
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,31 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [1.2.6] - 2026-07-29
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.2.6][1.2.6t]
|
|
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
|
+
## [1.2.5] - 2026-07-29
|
|
41
|
+
|
|
42
|
+
- TAG: [v1.2.5][1.2.5t]
|
|
43
|
+
- COVERAGE: 94.00% -- 3649/3882 lines in 27 files
|
|
44
|
+
- BRANCH COVERAGE: 76.43% -- 1391/1820 branches in 27 files
|
|
45
|
+
- 28.01% documented
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
|
|
49
|
+
- `kettle-family template` now defers `kettle-jem` bootstrap commits for
|
|
50
|
+
executed monorepo templating and runs a serialized member-scoped
|
|
51
|
+
`commit_template` phase, avoiding parallel `.git/index.lock` races when many
|
|
52
|
+
members share one Git repository.
|
|
53
|
+
|
|
54
|
+
- kettle-jem-template-20260730-001 - Gemspec package file enumeration now runs
|
|
55
|
+
relative to the gemspec directory, so packaged template assets are included
|
|
56
|
+
even when the gemspec is loaded from another working directory.
|
|
57
|
+
|
|
33
58
|
## [1.2.4] - 2026-07-29
|
|
34
59
|
|
|
35
60
|
- TAG: [v1.2.4][1.2.4t]
|
|
@@ -1251,7 +1276,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
1251
1276
|
- Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
|
|
1252
1277
|
- Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
|
|
1253
1278
|
|
|
1254
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.
|
|
1279
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.6...HEAD
|
|
1280
|
+
[1.2.6]: https://github.com/kettle-dev/kettle-family/compare/v1.2.5...v1.2.6
|
|
1281
|
+
[1.2.6t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.6
|
|
1282
|
+
[1.2.5]: https://github.com/kettle-dev/kettle-family/compare/v1.2.4...v1.2.5
|
|
1283
|
+
[1.2.5t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.5
|
|
1255
1284
|
[1.2.4]: https://github.com/kettle-dev/kettle-family/compare/v1.2.3...v1.2.4
|
|
1256
1285
|
[1.2.4t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.4
|
|
1257
1286
|
[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.6"
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
|
@@ -132,6 +132,7 @@ module Kettle
|
|
|
132
132
|
@bex_args = bex_args
|
|
133
133
|
@start_member = start_member
|
|
134
134
|
@start_branch = start_branch
|
|
135
|
+
@template_commit_mutex = Mutex.new
|
|
135
136
|
end
|
|
136
137
|
|
|
137
138
|
def results
|
|
@@ -265,6 +266,8 @@ module Kettle
|
|
|
265
266
|
|
|
266
267
|
normalize_lockfiles(member: member, runner: runner, memo: memo, phase: "normalize_lockfiles")
|
|
267
268
|
emit_member_result_progress(member, memo.last, progress: progress)
|
|
269
|
+
commit_template_changes(member: member, runner: runner, memo: memo)
|
|
270
|
+
emit_member_result_progress(member, memo.last, progress: progress) if memo.last&.phase == "commit_template"
|
|
268
271
|
ensure
|
|
269
272
|
template_result = memo.find { |result| result.phase == "template" } || memo.last
|
|
270
273
|
if template_result
|
|
@@ -1348,7 +1351,7 @@ module Kettle
|
|
|
1348
1351
|
end
|
|
1349
1352
|
|
|
1350
1353
|
def append_template_skip_commit(command_text)
|
|
1351
|
-
return command_text
|
|
1354
|
+
return command_text unless template_skip_commit?(command_text)
|
|
1352
1355
|
return command_text if command_text.is_a?(Array) && command_text.include?("--skip-commit")
|
|
1353
1356
|
return [*command_text, "--skip-commit"] if command_text.is_a?(Array)
|
|
1354
1357
|
return command_text if command_text.include?("--skip-commit")
|
|
@@ -1356,6 +1359,15 @@ module Kettle
|
|
|
1356
1359
|
"#{command_text} --skip-commit"
|
|
1357
1360
|
end
|
|
1358
1361
|
|
|
1362
|
+
def template_skip_commit?(command_text)
|
|
1363
|
+
!commit || deferred_monorepo_template_commit?(command_text: command_text)
|
|
1364
|
+
end
|
|
1365
|
+
|
|
1366
|
+
def deferred_monorepo_template_commit?(member = nil, command_text: nil)
|
|
1367
|
+
command_text ||= config.template_command || (member ? default_template_command(member) : DEFAULT_COMMANDS.fetch("template"))
|
|
1368
|
+
execute && commit && monorepo_template? && kettle_jem_template_command?(command_text)
|
|
1369
|
+
end
|
|
1370
|
+
|
|
1359
1371
|
def default_template_command(member)
|
|
1360
1372
|
return DEFAULT_COMMANDS.fetch("template") if templating_bundle_wired?(member)
|
|
1361
1373
|
|
|
@@ -1481,6 +1493,7 @@ module Kettle
|
|
|
1481
1493
|
total = 1
|
|
1482
1494
|
total += 2 if config.normalize_lockfiles?
|
|
1483
1495
|
total += 1 if member.nil? || template_prepares_dependencies?(member)
|
|
1496
|
+
total += 1 if deferred_monorepo_template_commit?(member)
|
|
1484
1497
|
total
|
|
1485
1498
|
end
|
|
1486
1499
|
|
|
@@ -1865,6 +1878,34 @@ module Kettle
|
|
|
1865
1878
|
result.ok?
|
|
1866
1879
|
end
|
|
1867
1880
|
|
|
1881
|
+
def commit_template_changes(member:, runner:, memo:)
|
|
1882
|
+
return unless deferred_monorepo_template_commit?(member)
|
|
1883
|
+
return unless memo.all?(&:ok?)
|
|
1884
|
+
|
|
1885
|
+
synchronize_template_commit do
|
|
1886
|
+
memo << runner.call(
|
|
1887
|
+
member: member,
|
|
1888
|
+
phase: "commit_template",
|
|
1889
|
+
command: [
|
|
1890
|
+
"sh",
|
|
1891
|
+
"-lc",
|
|
1892
|
+
"if [ -n \"$(git status --porcelain -- .)\" ]; then " \
|
|
1893
|
+
"git add -A -- . && git commit -m #{Shellwords.escape(template_commit_message(member))}; " \
|
|
1894
|
+
"fi"
|
|
1895
|
+
],
|
|
1896
|
+
env: workflow_env
|
|
1897
|
+
)
|
|
1898
|
+
end
|
|
1899
|
+
end
|
|
1900
|
+
|
|
1901
|
+
def template_commit_message(member)
|
|
1902
|
+
"🎨 Template #{member.name} by kettle-family"
|
|
1903
|
+
end
|
|
1904
|
+
|
|
1905
|
+
def synchronize_template_commit(&block)
|
|
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.6
|
|
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.6
|
|
345
|
+
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.6/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.6
|
|
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
|