Repository navigation
feat(launcher): ship an AppImage on tagged releases - #12647
Merged
Merged
Conversation
Ship the existing Fyne launcher as an additive release asset without bundling the server or changing its runtime downloader. Pin packaging tools and the type-2 runtime, preserve the caller environment, and document the native amd64 graphics requirements. Validate packaging contracts and wire extraction smoke checks into CI. Assisted-by: Codex:gpt-5
PR builds must not receive repository write credentials. Isolate uploads in a gated job that consumes the tested artifact without checkout. Keep the existing release check and dependency on GoReleaser. A surviving process does not prove that the UI event loop works. Require observable startup progress, reject initialization errors, and bound termination. Document the remaining limits without changing the launcher application. Add permission and smoke failure regressions. Assisted-by: nib:unknown
appimagetool fails after Go compilation when file is missing. Install it explicitly in CI and document the local build dependency. Check for it before compilation and cover the missing-command failure in tests. Assisted-by: nib:unknown
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.
Description
Package the existing Linux launcher as a thin x86_64 AppImage. The launcher continues to download LocalAI on first use; the image does not bundle the server, backends, or models.
LocalAI-Launcher-x86_64.AppImageand its checksum to version-tag releases after GoReleaser succeeds. Preserve existing release artifacts.Notes for Reviewers
Verification on the PR head:
All seven packaging tests passed. The real AppImage build and extraction/Xvfb startup smoke passed in a native amd64 Ubuntu 22.04 Docker container. Shell syntax and diff checks passed, and independent code review passed after fixes for permission isolation, smoke failure detection, and the missing
filedependency.The startup smoke checks initialization progress, writable data directories, missing libraries, and fatal errors. It does not prove UI responsiveness or model/GPU operation. Real desktop interaction and tag-triggered GitHub release upload have not been exercised. The container launch logs include a missing
dbus-launchsystray warning and a Fyne main-goroutine diagnostic atlauncher.go:550; neither fails the limited startup criteria, so tray and interactive UI behavior still need a desktop check. Support initially targets x86_64 with glibc 2.35 or newer and host graphics libraries. Worker-mode controls and launcher self-updates are outside this PR.Signed commits