From 8b70d33d0fd1758623da2ab05f4b710e869532a7 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 8 Oct 2026 17:32:09 +0000 Subject: [PATCH] Fix #319: release builds pin craft-fonts with Noto Sans CJK SC release.yml (five jobs) and freebsd.yml pinned craft-fonts abb83316, from before Noto Sans CJK SC landed there, so v0.4.0 embedded only the Japanese faces and most of the Simplified Chinese UI was tofu. The pin is now 8dcdacd5 (craft-fonts HEAD: Noto Sans CJK SC and Noto Sans Arabic), which the Noto CJK exception merged from #203 allows. docs/releasing.md says when to bump the pin and how to check it before a release. flake.nix / flake.lock (community-maintained, not in CI) still pin the old revision: the lock's narHash needs nix to recompute. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01912WaK6Rmew3wxZuPyX7E8 --- .github/workflows/freebsd.yml | 2 +- .github/workflows/release.yml | 10 +++++----- docs/releasing.md | 6 +++++- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/freebsd.yml b/.github/workflows/freebsd.yml index b777e26bb..0b528ae10 100644 --- a/.github/workflows/freebsd.yml +++ b/.github/workflows/freebsd.yml @@ -31,7 +31,7 @@ jobs: - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 with: repository: storytold/craft-fonts - ref: abb83316d96aa59c1cf64784289e378fe9fa5695 + ref: 8dcdacd5153e64560d109541a47d806f26f048c0 path: craft-fonts - name: Build and test in a FreeBSD VM uses: vmactions/freebsd-vm@c46abacb49f09938ca4e1702d15d836285d694cc # v1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index efd61ace2..b9c3a1ea3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -77,7 +77,7 @@ jobs: - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 with: repository: storytold/craft-fonts - ref: abb83316d96aa59c1cf64784289e378fe9fa5695 # bump deliberately + ref: 8dcdacd5153e64560d109541a47d806f26f048c0 # bump deliberately path: craft-fonts - uses: dtolnay/rust-toolchain@stable with: @@ -135,7 +135,7 @@ jobs: - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 with: repository: storytold/craft-fonts - ref: abb83316d96aa59c1cf64784289e378fe9fa5695 # bump deliberately + ref: 8dcdacd5153e64560d109541a47d806f26f048c0 # bump deliberately path: craft-fonts - uses: dtolnay/rust-toolchain@stable with: @@ -192,7 +192,7 @@ jobs: - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 with: repository: storytold/craft-fonts - ref: abb83316d96aa59c1cf64784289e378fe9fa5695 # bump deliberately + ref: 8dcdacd5153e64560d109541a47d806f26f048c0 # bump deliberately path: craft-fonts - name: Install build and packaging tools run: | @@ -287,7 +287,7 @@ jobs: - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 with: repository: storytold/craft-fonts - ref: abb83316d96aa59c1cf64784289e378fe9fa5695 # bump deliberately + ref: 8dcdacd5153e64560d109541a47d806f26f048c0 # bump deliberately path: craft-fonts - name: Build and package in a FreeBSD VM (tar.gz) # vmactions/freebsd-vm v1.5.9, pinned by commit (it runs our build). @@ -336,7 +336,7 @@ jobs: - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 with: repository: storytold/craft-fonts - ref: abb83316d96aa59c1cf64784289e378fe9fa5695 # bump deliberately + ref: 8dcdacd5153e64560d109541a47d806f26f048c0 # bump deliberately path: craft-fonts - uses: dtolnay/rust-toolchain@stable with: diff --git a/docs/releasing.md b/docs/releasing.md index cf75fa706..84b016c02 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -53,7 +53,11 @@ their runtime dependencies. Release builds fetch the pinned [`storytold/craft-fonts`](https://github.com/storytold/craft-fonts) revision and require it (`CRAFT_FONTS_REQUIRED=1`). Keep that pin deliberate when updating the -workflow. +workflow, and bump it (in `release.yml`, five jobs, and `freebsd.yml`) whenever craft-fonts adds a face a +shipped language needs: a stale pin still builds, it just ships tofu (issue #319: v0.4.0 pinned a revision +from before Noto Sans CJK SC, so Simplified Chinese had no glyphs). Before a release, check the pin against +craft-fonts' `fonts/manifest.txt` and run `CRAFT_FONTS_DIR=../craft-fonts cargo test -p lightcraft-ui-egui i18n`, +whose glyph-coverage test fails when a language's characters have no face. ## Signing credentials