diff --git a/.github/workflows/docs-check.yml b/.github/workflows/docs-check.yml index d902154c10..b112b676f8 100644 --- a/.github/workflows/docs-check.yml +++ b/.github/workflows/docs-check.yml @@ -29,7 +29,7 @@ env: MDBOOK_VERSION: v0.5.4 jobs: - build-and-freshness: + build-and-validation: runs-on: ubuntu-latest steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 @@ -53,11 +53,10 @@ jobs: python3 scripts/check_docs.py - name: Check TypeScript fences run: cargo run --release --quiet -p perry-doc-tests -- --lint docs/src - - name: Check gettext catalogs are current + - name: Validate gettext catalogs run: | - ./docs/i18n.sh extract - ./docs/i18n.sh sync - git diff --exit-code -- docs/po + # Translation updates require review. Regenerating here rewrites + # obsolete entries and can drop existing translations (#10955). for catalog in docs/po/*.po; do msgfmt --check --check-format --statistics --output-file=/dev/null "$catalog" done diff --git a/changelog.d/10972-docs-catalog-validation.md b/changelog.d/10972-docs-catalog-validation.md new file mode 100644 index 0000000000..fc2de80f8b --- /dev/null +++ b/changelog.d/10972-docs-catalog-validation.md @@ -0,0 +1,3 @@ +### Fixed + +- Docs checks now validate the committed gettext catalogs and build every translation without regenerating catalogs during CI. Translation refreshes remain a reviewed change, avoiding a permanently failing freshness diff and unintended loss of existing translations. (#10955)