fix(deps): pin pillow-heif to 1.4.0 to unbreak the armhf build - #3218
Merged
vpetersson merged 2 commits intoJul 27, 2026
Merged
Conversation
pillow-heif 1.5.0 (introduced by the dependabot python-group bump in Screenly#3214) requires libheif >= 1.23.1 to build from source — its _pillow_heif.c carries `#error "pillow_heif requires libheif >= 1.23.1"` and includes libheif/heif_tiling.h. Debian trixie ships libheif 1.19.8. arm64/x86 install a prebuilt pillow-heif wheel, so they never compile and were unaffected. armhf (pi2/pi3) has no wheel: uv builds from source and the compile fails, which broke the pi2/pi3 server images and turned the whole master docker-build matrix red (publish-latest skipped, so the floating latest-<board> tags went stale and no release could be cut). Hold at 1.4.0 (the last version that built on armhf; the deployed fleet already runs it) until trixie carries libheif >= 1.23.1 or a 1.5.x with armhf wheels lands. Only pillow-heif changes in the lockfile. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HJ3ucEkn62cbgPoisAZ5LQ
Guard the pin from the previous commit: pillow-heif >= 1.5.0 needs libheif >= 1.23.1 to build from source, which Debian trixie (1.19.8) can't satisfy on armhf (no wheel), breaking the pi2/pi3 build legs. Ignore >= 1.5.0 so dependabot won't re-propose it, while still allowing 1.4.x patch updates. Revisit when trixie carries libheif >= 1.23.1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HJ3ucEkn62cbgPoisAZ5LQ
Contributor
Author
|
Added a matching dependabot guard ( |
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3218 +/- ##
=========================================
Coverage ? 89.46%
=========================================
Files ? 76
Lines ? 8340
Branches ? 891
=========================================
Hits ? 7461
Misses ? 665
Partials ? 214 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
vpetersson
approved these changes
Jul 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Problem
The master
docker-build.yamlmatrix is red — thebuildx (pi2)andbuildx (pi3)(32-bit armhf) legs fail,publish-latestis skipped as a result (so the floatinglatest-<board>tags are stale), and no release can be cut (the disk-image preflight requires every board's images in GHCR).Root cause
The dependabot python-group bump in #3214 moved pillow-heif
1.4.0 → 1.5.0. Confirmed from the sdist sources:pillow_heif-1.5.0/.../_pillow_heif.ccontains#error "pillow_heif requires libheif >= 1.23.1"and#include "libheif/heif_tiling.h".1.4.0has neither.apt-cache policy libheif-dev→1.19.8-1).arm64/x86 install a prebuilt pillow-heif wheel, so they never compile and were unaffected. armhf (pi2/pi3) has no wheel → uv builds from source → the compile hits the version guard and fails:
It's a compile-time
#error, so re-running the job does nothing — it needs this pin.Fix
Pin
pillow-heif==1.4.0(the last version that built on armhf; the deployed fleet already runs it). Only pillow-heif changes in the lockfile — no other dependency drift. Added a comment at the pin telling dependabot/future-us not to bump past 1.4.0 until trixie carries libheif ≥ 1.23.1 (or a 1.5.x with armhf wheels lands).No product-code change; image behaviour on every board is unchanged from before #3214.
🤖 Generated with Claude Code
https://claude.ai/code/session_01HJ3ucEkn62cbgPoisAZ5LQ