mirror of
https://github.com/libretro/virtualjaguar-libretro.git
synced 2026-11-07 04:36:00 -10:00
Two review catches (#264), both verified. The sample's placeholder substitution in intl/initial_sync.py is r'/_core_name_(?=[/.])]' -- a stray ']' after the lookahead, asserting the next character is both '/'-or-'.' and ']'. It matches nothing: as-shipped regex changed anything? False without stray ']' changed anything? True So '_core_name_' survived into crowdin.yaml and the documented initial setup would have uploaded to a Crowdin path literally named '_core_name_'. The reset path further down the same file got the same tightening right, and older copies (nestopia) use a working r'/_core_name_', so it is an upstream typo rather than intent. Second: the vendored scripts call subprocess.run() without check=True throughout, so a failed Crowdin CLI invocation exits 0 and the workflow step reports success -- meaning an unset secret gave a green run that did nothing, contradicting this PR's claim that the not-set-up state is visible. Each workflow now fails on an empty CROWDIN_API_KEY as its first step. That guard lives in our workflow files rather than as check=True edits across five upstream scripts: it covers the failure that actually happens, cannot be clobbered by the sync workflow's own `git add intl/*_workflow.py`, and does not risk failing runs on benign non-zero exits from the Crowdin CLI that we cannot characterise without a working token. Co-Authored-By: Claude Opus 5 <[email protected]>