Repository navigation
Make CI enforce two things it only claimed - #43
Merged
Merged
Conversation
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>
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
gettext-tstrings-docs | be2e1db | Aug 08 2026, 05:46 PM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-formattranslation — themsgfmt --check-formattranscript is printed verbatim. Three tests intests/test_toolchain.pyreproduce it, and on CI all three skipped, because gettext is not on the Ubuntu image:Install gettext on the
ubuntu-latest/3.14entry — 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 theirskipifso a contributor without gettext can still run the suite.An ignored file was tracked
The release policy is that no local state ships:
.gitignoreexcludes.wrangler/andscripts/check_sdist.pyrejects it from the archive. One file was tracked anyway:.gitignoredoes not untrack what is already committed, so it rode along in every clone. Untracked here, and the same one-line query added to theactionsjob 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 findingsmsgfmtis 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