fix: install every tool the e2e fixtures need, not just the first one
Some checks are pending
CI / check (push) Waiting to run
CI / web (push) Waiting to run

The previous commit added ffmpeg and exiftool and CI got exactly one step
further before failing on `heif-enc: No such file or directory`. Fixing a
missing dependency one CI run at a time is a guess repeated; the list comes
from the source instead -- every argv[0] handed to run_tool in
tool/e2e_fixtures.py is ffmpeg, exiftool and heif-enc, and heif-enc ships in
libheif-examples on Ubuntu.

Each binary is resolved after the install rather than the apt exit code
being taken as the claim, so a package that renames its binary fails here
with a message naming it instead of failing later inside a fixture builder.

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:40:44 +02:00
parent 34b9900a90
commit be9a501ab4

View File

@ -21,12 +21,22 @@ jobs:
# and MP4 fixtures with ffmpeg, and signal_bot/media_strip.py strips
# metadata with exiftool. Verified rather than trusted, because an
# apt exit code is not the same claim as "the binary resolves".
- name: Install ffmpeg and exiftool
# Every binary tool/e2e_fixtures.py shells out to, which is the whole
# list rather than the first one that failed: ffmpeg builds the JPEG
# and MP4 fixtures, heif-enc the HEIC one, and exiftool is what
# signal_bot/media_strip.py strips metadata with. scripts/e2e.sh has
# needed all three since it was written and this file installed none of
# them, which is why CI has been red on every commit.
#
# Verified by resolving each binary, not by trusting apt's exit code --
# the same distinction install_service.sh makes for the host.
- name: Install the tools the fixtures are built with
run: |
sudo apt-get update
sudo apt-get install -y ffmpeg libimage-exiftool-perl
ffmpeg -version | head -1
exiftool -ver
sudo apt-get install -y ffmpeg libimage-exiftool-perl libheif-examples
for tool in ffmpeg exiftool heif-enc; do
command -v "$tool" || { echo "::error::$tool did not resolve"; exit 1; }
done
- name: Install uv
uses: astral-sh/setup-uv@v5