fix(packaging): install file for appimagetool in the Linux release job (#1227) #1277

Merged
brenno merged 1 commit from fix/1227-linux-release-file into main 2026-08-05 18:36:51 +00:00
Owner

De v0.3.3-release publiceerde niets. De job Linux bouwen faalde op make package-linux: appimagetool heeft het file-commando nodig, dat in het kale ubuntu:24.04-CI-image ontbreekt (file command is missing but required, please install it). Omdat publiceren needs: [linux, ...] heeft, viel de héle publicatieketen weg — er kwam geen forge-release, en daardoor gaf Fase 3 van release_auto.sh een 404 bij het ophalen van SHA256SUMS.

Fix

  • .forgejo/workflows/release.yml: file toegevoegd aan de apt-get van de Linux-job (release-only builddep, zelfde patroon als rpm/liblzma-dev/libsecret-1-dev).
  • scripts/package_linux.sh: require file in build_appimage, zodat een ontbrekend file met een duidelijke melding faalt in plaats van diep in appimagetool.
  • test/linux_packaging_test.dart: twee regressietoetsen — de job installeert file, en de packager eist het voor de AppImage.

Verificatie

  • Getrouwe amd64 ubuntu:24.04-container: .deb en .rpm bouwen schoon met alleen file+rpm erbij; deb-metadata en rpm gecontroleerd.
  • Het echte CI-log toonde appimagetool al draaiend (versiebanner) en alleen file eisend — dus native x86_64 draait het, en file staat er nu.
  • Pin-toets linux_packaging_test.dart 16/16 groen; shellcheck schoon.

De tag v0.3.3 staat vast en wordt niet verplaatst; na deze merge snijdt de volgende release_auto.sh-run v0.3.4 met de fix erin.

🤖 Generated with Claude Code

De v0.3.3-release publiceerde niets. De job **Linux bouwen** faalde op `make package-linux`: appimagetool heeft het `file`-commando nodig, dat in het kale `ubuntu:24.04`-CI-image ontbreekt (`file command is missing but required, please install it`). Omdat `publiceren` `needs: [linux, ...]` heeft, viel de héle publicatieketen weg — er kwam geen forge-release, en daardoor gaf Fase 3 van `release_auto.sh` een 404 bij het ophalen van `SHA256SUMS`. ### Fix - `.forgejo/workflows/release.yml`: `file` toegevoegd aan de apt-get van de Linux-job (release-only builddep, zelfde patroon als `rpm`/`liblzma-dev`/`libsecret-1-dev`). - `scripts/package_linux.sh`: `require file` in `build_appimage`, zodat een ontbrekend `file` met een duidelijke melding faalt in plaats van diep in appimagetool. - `test/linux_packaging_test.dart`: twee regressietoetsen — de job installeert `file`, en de packager eist het voor de AppImage. ### Verificatie - Getrouwe amd64 `ubuntu:24.04`-container: `.deb` en `.rpm` bouwen schoon met alleen `file`+`rpm` erbij; deb-metadata en rpm gecontroleerd. - Het echte CI-log toonde appimagetool al draaiend (versiebanner) en alleen `file` eisend — dus native x86_64 draait het, en `file` staat er nu. - Pin-toets `linux_packaging_test.dart` 16/16 groen; shellcheck schoon. De tag `v0.3.3` staat vast en wordt **niet** verplaatst; na deze merge snijdt de volgende `release_auto.sh`-run **v0.3.4** met de fix erin. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(packaging): install file for appimagetool in the Linux release job (#1227)
All checks were successful
scans / scans (pull_request) Successful in 1m37s
static-gate / static-gate (pull_request) Successful in 3m59s
5bc0d36ecc
The v0.3.3 release published nothing. The Linux job failed at
`make package-linux`: appimagetool needs the `file` command, which the
minimal ubuntu:24.04 CI image lacks ("file command is missing but
required"). Because `publiceren` needs `linux`, the whole release chain
skipped — no forge release was created, so Fase 3's SHA256SUMS fetch
404'd.

- release.yml: add `file` to the Linux job's apt-get (release-only build
  dep, same pattern as `rpm`/liblzma-dev/libsecret-1-dev).
- package_linux.sh: `require file` in build_appimage, so a missing tool
  fails with a clear message instead of deep inside appimagetool.
- linux_packaging_test.dart: guard both — the job installs `file`, and
  the packager requires it for the AppImage.

Verified in a faithful amd64 ubuntu:24.04 container: .deb and .rpm build
cleanly with only `file`+`rpm` added; the real CI log already showed
appimagetool executing and only demanding `file`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 9bbf3cff75 into main 2026-08-05 18:36:51 +00:00
brenno deleted branch fix/1227-linux-release-file 2026-08-05 18:36:52 +00:00
Sign in to join this conversation.
No description provided.