Skip to content

translation-status: the comment says every translation is current on runs the gate fails #45

Description

@mairas

Found by the adversarial reviewer on hatlabs/halpi2#49, reproduced here.

The step order in translation-status.yml exists so that "a red run always carries the explanation of why" — the workflow header says so. It delivers that for stale translations and for nothing else.

The comment step runs at line 89. Build the site is at 125 and Check anchors at 128, so a --strict build error and a broken anchor both fail the run after the comment is already posted, saying translations are current. And translation-status --comment renders from render_markdown(entries, None), which never computes the unclassified_pages case that --check exits 2 on — so even the translation half of the verdict can disagree with the comment.

Reproduced on a real repo. Dropping a stray docs/stray-probe.md into hatlabs/halpi2:

uv run translation-status --comment  →  **da** — 20 current   (all nine locales)
uv run translation-status --check    →  exit 2

The author sees a red required-looking check under a bot comment telling them everything is fine, and the actual reason is in the job log — which is the place this step order was built to avoid sending people.

Fix directions, either or both:

The anchor and build failures need the workflow-side fix regardless: the checker cannot report on a build that has not run yet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions