You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
check-anchors reserves exit 2 for "the check could not run" and PR #1 extended that to translation-status --check, check-typography and check-glossary. The rest of the package has not caught up, and the failure mode is always the same: a raw traceback at exit 1, which is the status a workflow reads as "the check found problems".
A missing or unreadable mkdocs.yml gives FileNotFoundError and exit 1 in every command that reads it, while check_anchors.configured_base() silently returns / for the same condition — in the function whose own docstring explains that a wrong base makes the checker report a pass it did not earn.
blob_hash uses check=True, so any git failure surfaces as CalledProcessError. A *.mddirectory under a locale reproduces it (exit 128, uncaught).
git is an undeclared runtime dependency; its absence gives FileNotFoundError from subprocess._execute_child. (Running outside a work tree is fine — hash-object needs no repository.) PR Package the documentation checkers and add a blocking translation gate #1 documented the requirement in the README; the diagnostic is still a traceback.
configured_languages() calls next() with no default, raising StopIteration when no locale is marked default.
stamp-translation writes files one at a time and raises SystemExit mid-batch on a bad path, leaving earlier files written and later ones not.
No subprocess.run call passes a timeout=, so a hung git hangs the job.
Fix: one config-loading path that turns a missing or malformed mkdocs.yml into a one-line message at exit 2, and the same treatment for a missing git. Validate every path in stamp-translation before writing any of them.
The exit-status table is now in the README; the code should match it everywhere.
From the review on PR #1: #1 (comment)
check-anchorsreserves exit 2 for "the check could not run" and PR #1 extended that totranslation-status --check,check-typographyandcheck-glossary. The rest of the package has not caught up, and the failure mode is always the same: a raw traceback at exit 1, which is the status a workflow reads as "the check found problems".mkdocs.ymlgivesFileNotFoundErrorand exit 1 in every command that reads it, whilecheck_anchors.configured_base()silently returns/for the same condition — in the function whose own docstring explains that a wrong base makes the checker report a pass it did not earn.blob_hashusescheck=True, so any git failure surfaces asCalledProcessError. A*.mddirectory under a locale reproduces it (exit 128, uncaught).gitis an undeclared runtime dependency; its absence givesFileNotFoundErrorfromsubprocess._execute_child. (Running outside a work tree is fine —hash-objectneeds no repository.) PR Package the documentation checkers and add a blocking translation gate #1 documented the requirement in the README; the diagnostic is still a traceback.configured_languages()callsnext()with no default, raisingStopIterationwhen no locale is marked default.stamp-translationwrites files one at a time and raisesSystemExitmid-batch on a bad path, leaving earlier files written and later ones not.subprocess.runcall passes atimeout=, so a hung git hangs the job.Fix: one config-loading path that turns a missing or malformed
mkdocs.ymlinto a one-line message at exit 2, and the same treatment for a missinggit. Validate every path instamp-translationbefore writing any of them.The exit-status table is now in the README; the code should match it everywhere.