Skip to content

Remove stale link module from translations job and harden empty-download guard#13359

Open
davidme-stripe wants to merge 1 commit into
masterfrom
fix-translations-stale-link
Open

Remove stale link module from translations job and harden empty-download guard#13359
davidme-stripe wants to merge 1 commit into
masterfrom
fix-translations-stale-link

Conversation

@davidme-stripe

Copy link
Copy Markdown
Contributor

Summary

Follow-up to the tap-trust fix (#13358). Testing that fix on a real runner (workflow_dispatch run 28817910180) confirmed it works — lokalise2 now installs (Trusted tap: lokalise/cli-2, no more "Refusing to load"/"command not found") and downloads succeed — but it surfaced the next blocker.

Problem

The run failed with:

Downloading strings for link/strings.xml
Error: Download failed: No keys for export with current export settings
ERROR: no strings downloaded for link; aborting before removing existing translations.

The link module was folded into paymentsheet in #9771 ("Move link into paymentsheet"), but it was never removed from the localization MODULES list. There's no link/res directory in the repo and Lokalise returns no keys for link/strings.xml. This was silently tolerated before (the old script skipped it, and more recently the whole job was failing on the lokalise2 install anyway); now that the install is fixed, the empty link export trips the new guard and aborts the entire job.

Fix

  • Remove the stale link entry from scripts/localization_vars.sh — its strings live in paymentsheet now.
  • Harden the guard in localize.sh: a module with no local res/ directory is skipped with a warning (nothing to wipe), while a maintained module that unexpectedly returns no strings still aborts before any deletion. This preserves the anti-wipe protection while surviving future module cleanups.

Verification

  • bash -n passes on both scripts.
  • After merge, a re-run of the workflow is expected to install lokalise2, download all remaining modules, and open a normal additions/modifications translations PR.

🤖 Generated with Claude Code

…oad guard

Testing the tap-trust fix on a real runner revealed the next blocker: the
`link` module was folded into `paymentsheet` back in #9771, but it was
never removed from the localization MODULES list. It has no `link/res`
directory in the repo, and Lokalise returns "No keys for export with
current export settings" for it. With lokalise2 now installing correctly,
that empty download tripped the new guard and aborted the whole job.

- Remove the stale `link` entry from localization_vars.sh (its strings
  live in paymentsheet now).
- Harden the guard so a module with no local `res/` directory is skipped
  with a warning instead of aborting, while a maintained module that
  unexpectedly returns no strings still aborts before any deletion. This
  keeps the anti-wipe protection while surviving future module cleanups.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude
@davidme-stripe davidme-stripe requested review from a team as code owners July 6, 2026 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant