Fix red main: literal i18n keys so TestI18nKeysDefined passes #564
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix-552d"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
main is currently red and has been since v0.6.208. This is the fix, plus the explanation of how it got there.
The failure
ncWirebuilt the message key by concatenation —tf("nc" + hit.charAt(0).toUpperCase() + hit.slice(1), …)— so the static scanner extracted the literalncand could not verify any ofncDirGroup,ncAppGroup,ncDirAccount,ncLocalAccount. Replaced with one literaltf("…")per branch. The guard is right and the fix respects it rather than routing around it: a computed key is invisible to the scanner, so all four would ship unverified.Runtime behaviour was never affected — the messages render correctly on the dogfood, which is exactly why this needed the static check to catch it.
How a red commit reached main — worth fixing properly
mainis not a protected branch ("protected": false), so no status check is required to merge.merge_when_checks_succeed: truetherefore does not gate on anything; it merges as soon as it next evaluates.Combined with the house release train, that produces a specific race. The train pushes a one-shot workflow file to the PR branch and then dispatches it. That file push is itself a commit, which re-triggers evaluation — and the merge fires on it, seconds before the one-shot has finished doing its actual work:
a8534bf02:33:34fix-552c5e0af3d02:33:49255c75502:58:38fix-552dfaa503802:58:55d78edf102:59So v0.6.208 and v0.6.209 were both tagged from a tree whose tests fail. The releases themselves are functionally sound, but "CI passed" was never true for them.
Two things worth changing, neither of which belongs in this PR:
mainand require thecicheck. That makesmerge_when_checks_succeedmean what its name says, and makes this class of race impossible rather than merely unlikely.Merging this one explicitly, after confirming the check is green — not on a schedule.