From 486c47861819935226207de6ab54f6dc858e6d34 Mon Sep 17 00:00:00 2001 From: Krzysztof kuhy Rudnicki Date: Mon, 31 Aug 2026 15:43:52 +0200 Subject: [PATCH] fix: give heif-enc an encoder, and prove it before the suite runs heif-enc resolved and still could not work: Ubuntu splits the HEVC encoder into libheif-plugin-x265, so the binary is installed and answers "No HEVC encoder available". Confirmed the package exists in noble, which is what ubuntu-latest is, rather than guessing at a name for the third time. The step now performs one real encode. Resolving a binary is not the same claim as being able to use it, and this is the third distinct way the same step has failed -- missing tool, missing tool, missing codec -- each of which only surfaced inside a fixture builder several minutes into the run. A probe that encodes fails in the install step, with a message naming the problem. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01416TegJ3sa8xL5qGGgrygP --- .github/workflows/ci.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 42bb163..bb8727d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,10 +33,18 @@ jobs: - name: Install the tools the fixtures are built with run: | sudo apt-get update - sudo apt-get install -y ffmpeg libimage-exiftool-perl libheif-examples + sudo apt-get install -y ffmpeg libimage-exiftool-perl \ + libheif-examples libheif-plugin-x265 for tool in ffmpeg exiftool heif-enc; do command -v "$tool" || { echo "::error::$tool did not resolve"; exit 1; } done + # Resolving heif-enc is not the same claim as being able to encode: + # Ubuntu splits the HEVC encoder into its own plugin, so the binary + # is there and answers "No HEVC encoder available". One real encode + # fails here, naming the problem, instead of inside a fixture builder. + ffmpeg -loglevel error -f lavfi -i color=c=red:s=32x32 -frames:v 1 -y /tmp/probe.png + heif-enc -q 50 /tmp/probe.png -o /tmp/probe.heic + test -s /tmp/probe.heic || { echo "::error::heif-enc produced nothing"; exit 1; } - name: Install uv uses: astral-sh/setup-uv@v5