mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-10 04:36:40 +00:00
fix(i18n): keep pulled custom roles out of the tools-lane deploy and the core catalogs
Two store-i18n-only code paths predate updater's custom roles (web-app-cst-*,d92375922d), which the mergec9e7f950d9brought in: - utils/i18n/libretranslate.py deploys the translation tools lane with cli.administration.deploy.dedicated but without --skip-pull. The lane bind-mounts the checkout and its generated inventory declares no custom role, so `make i18n-translate` would have run pull_custom_roles and removed every pulled web-app-cst-* from the host's roles/. It now passes --skip-pull, as every other generated deploy does. - utils/i18n/extract.py role_messages globbed roles/*/meta/main.yml, including the gitignored custom roles, so a checkout with a pulled custom role failed test_core_catalogs_hold_exactly_the_current_sources and its remedy would have written the custom role's description into every tracked core catalog, against updater's rule that core never tracks custom roles. It now skips is_custom(role), like the README generators. test_a_pulled_custom_role_stays_out_of_the_core_catalogs pins the second point; without the skip it fails with the custom role in the list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c951657fe8
commit
6faa615135
3 files changed
+24
-2
No files matched your search
@@ -3,7 +3,7 @@ import textwrap
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from utils.i18n.extract import core_messages
|
||||
from utils.i18n.extract import core_messages, role_messages
|
||||
from utils.roles.mapping import ROLE_FILE_META_MAIN
|
||||
|
||||
|
||||
@@ -75,6 +75,24 @@ class TestCoreMessages(unittest.TestCase):
|
||||
],
|
||||
)
|
||||
|
||||
def test_a_pulled_custom_role_stays_out_of_the_core_catalogs(self):
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
root = Path(tmp)
|
||||
_write(
|
||||
root,
|
||||
f"roles/web-app-wiki/{ROLE_FILE_META_MAIN}",
|
||||
"galaxy_info:\n description: A wiki\n",
|
||||
)
|
||||
_write(
|
||||
root,
|
||||
f"roles/web-app-cst-demo/{ROLE_FILE_META_MAIN}",
|
||||
"galaxy_info:\n description: A custom app\n",
|
||||
)
|
||||
|
||||
messages = role_messages(root)
|
||||
|
||||
self.assertEqual(messages, [("role:web-app-wiki:description", "A wiki")])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in new issue
Block a user