fix: give heif-enc an encoder, and prove it before the suite runs
Some checks are pending
CI / check (push) Waiting to run
CI / web (push) Waiting to run

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) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01416TegJ3sa8xL5qGGgrygP
This commit is contained in:
Krzysztof Rudnicki 2026-08-31 15:43:52 +02:00
parent be9a501ab4
commit 486c478618

View File

@ -33,10 +33,18 @@ jobs:
- name: Install the tools the fixtures are built with - name: Install the tools the fixtures are built with
run: | run: |
sudo apt-get update 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 for tool in ffmpeg exiftool heif-enc; do
command -v "$tool" || { echo "::error::$tool did not resolve"; exit 1; } command -v "$tool" || { echo "::error::$tool did not resolve"; exit 1; }
done 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 - name: Install uv
uses: astral-sh/setup-uv@v5 uses: astral-sh/setup-uv@v5