Put file(1) in the Android image too
Build and test / Desktop (Linux) (push) Successful in 1h22m29s
Build and test / Layer separation (push) Successful in 35s
Traceability / Requirement traces (push) Successful in 25s
🐳 Android image / Build and push (push) Successful in 10m19s
Build and test / android-image (push) Successful in 10m19s
Build and test / Android (aarch64) (push) Failing after 33m30s

The android job now fetches the model and cross-compiles the whole app --
28 minutes of it -- and then dies on

    file: not found        (exit 127)

`Verify minimum API level` reads the linked API out of the .so's ELF
notes with file(1), and the image has never had it. Like git-lfs, the
absence could not show until something got that far: every previous run
panicked in dr-segment's build script long before this line, so the step
that was going to fail never ran.

Audited the rest of what the remaining steps invoke against the image
rather than find the next one the same expensive way -- zip, keytool,
base64, mktemp, shred, find, sed, awk, and aapt2/zipalign/apksigner/d8
from build-tools are all present. file was the only gap left.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-26 14:21:05 +02:00
co-authored by Claude Opus 5
parent b9ee29f3c7
commit 8f863ec56f
+4
View File
@@ -52,6 +52,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
# missing `git lfs pull` that no amount of pulling would have fixed,
# because the client was never here to run.
git-lfs \
# file: the API-level check reads the Android version out of the linked
# .so's ELF notes with it. Its absence hid behind the missing model for
# as long as the build panicked before ever reaching that line.
file \
# zip: package.sh adds the .so and dex to the aapt2-linked APK
zip \
openjdk-${JDK_VERSION}-jdk-headless \