Skip to content

Make CI enforce two things it only claimed - #43

Merged
yhay81 merged 1 commit into
mainfrom
repo-hygiene
Aug 8, 2026
Merged

yhay81 merged 1 commit into
mainfrom
repo-hygiene

Conversation

@yhay81

@yhay81 yhay81 commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Closes #11. Closes #12.

Two stated policies were not actually checked.

The GNU toolchain tests were skipping

The README and Why t-strings both rest on the claim that ordinary GNU tooling catches a broken python-brace-format translation — the msgfmt --check-format transcript is printed verbatim. Three tests in tests/test_toolchain.py reproduce it, and on CI all three skipped, because gettext is not on the Ubuntu image:

tests/test_toolchain.py ..sss.
287 passed, 3 skipped

Install gettext on the ubuntu-latest / 3.14 entry — the one that owns those assertions, and the same entry that runs the lower-bound resolution, so that pass exercises them too. Other entries keep skipping rather than pay the install, and the tests keep their skipif so a contributor without gettext can still run the suite.

An ignored file was tracked

The release policy is that no local state ships: .gitignore excludes .wrangler/ and scripts/check_sdist.py rejects it from the archive. One file was tracked anyway:

$ git ls-files --cached --ignored --exclude-standard
.wrangler/cache/wrangler-account.json

.gitignore does not untrack what is already committed, so it rode along in every clone. Untracked here, and the same one-line query added to the actions job so the next one fails the build instead of shipping. The file stays on disk, ignored, where wrangler expects it.

Verification

  • uvx zizmor .github/workflows/ — no findings
  • The new check reproduced locally: it lists the file before the fix, and is empty after
  • msgfmt is present locally, so the three tests already run here: tests/test_toolchain.py → 7 passed, 0 skipped. CI is what this PR changes

🤖 Generated with Claude Code

Closes #11.
Closes #12.

Two of this repository's stated policies were not actually checked.

The README and the comparison page both rest on the claim that ordinary
GNU tooling catches a broken `python-brace-format` translation — the
msgfmt transcript is printed verbatim. Three tests in test_toolchain.py
reproduce it, and on CI all three skipped, because gettext is not on the
Ubuntu image. The entire external-tool boundary went unexercised while
the log said "287 passed, 3 skipped" and nobody read the s's. Install
gettext on the Ubuntu 3.14 entry, which is the one that owns those
assertions and also runs the lower-bound resolution; the other entries
keep skipping rather than pay the install, and the tests keep their
skipif so a contributor without gettext can still run the suite.

The release policy is that no local state ships — .gitignore excludes
.wrangler/ and check_sdist.py rejects it from the archive. One file was
tracked anyway:

    $ git ls-files --cached --ignored --exclude-standard
    .wrangler/cache/wrangler-account.json

Ignoring a path does not untrack a copy already committed, so it rode
along in every clone. Untrack it, and add the same one-line query to the
actions job so the next one fails the build instead of shipping. The
file stays on disk, ignored, where wrangler expects it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
gettext-tstrings-docs be2e1db Aug 08 2026, 05:46 PM

@yhay81
yhay81 merged commit 59cc95d into main Aug 8, 2026
11 checks passed
@yhay81
yhay81 deleted the repo-hygiene branch August 8, 2026 17:47
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.

Remove the tracked Wrangler account cache and guard repository hygiene Run the GNU msgfmt integration tests in CI instead of skipping them

1 participant