Commitcab24d44Recorded2 Sep 2026Repositorysigil-freetype
CI: supply a font, not just the library
Message
The first CI run failed with "No test font found — set SIGIL_TEST_FONT or install fontconfig". The suite falls back to fc-match when SIGIL_TEST_FONT is unset, and a CI worker has no font cache; my laptop does, which is why this only appeared once it ran somewhere else.
Adds font-dejavu to the guix shell and points SIGIL_TEST_FONT at a known path inside the profile. Deterministic, where relying on fc-match to find something is not.
Changed
.kiln/ci.sgv | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)Diff
.kiln/ci.sgvmodified
@@ -5,8 +5,12 @@
5
steps: #[ 6
(shell name: deps "sigil deps install") 7
(shell name: build "sigil build")−8
;; FFI wrapper: the runtime dlopens the system library by soname, so it−9
;; must be on the linker path. `guix shell` populates the profile but−10
;; does NOT set LD_LIBRARY_PATH, so both halves are needed.−11
(shell name: test "guix shell freetype -- sh -c 'LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib sigil test'")+8
;; FFI wrapper. Three things the worker does not have by default:+9
;; - the system library, via guix shell+10
;; - it on the linker path: guix populates the profile but NOT+11
;; LD_LIBRARY_PATH, and the runtime dlopens by soname+12
;; - a font. The suite falls back to fc-match when SIGIL_TEST_FONT is+13
;; unset, and a CI worker has no font cache. Pointing at a known+14
;; path in the profile is deterministic; relying on fc-match is not.+15
(shell name: test "guix shell freetype font-dejavu -- sh -c 'LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib SIGIL_TEST_FONT=$GUIX_ENVIRONMENT/share/fonts/truetype/DejaVuSans.ttf sigil test'") 16
]))