Skip to content

ci(github): implement proper AppImage generation for Linux#281

Merged
rainxchzed merged 1 commit intomainfrom
generate-installers
Mar 2, 2026
Merged

ci(github): implement proper AppImage generation for Linux#281
rainxchzed merged 1 commit intomainfrom
generate-installers

Conversation

@rainxchzed
Copy link
Member

@rainxchzed rainxchzed commented Mar 2, 2026

This commit replaces the simple tar.gz packaging of the application binaries with a proper .AppImage build process using appimagetool. It configures the necessary AppDir structure, including the AppRun entry point, desktop integration, and icon assets.

  • ci(github): Integrated appimagetool into the build-desktop-platforms workflow for the Linux "modern" matrix.
  • ci(github): Implemented AppDir creation logic with custom AppRun script and .desktop file generation.
  • ci(github): Updated the upload artifact step to provide the .AppImage file directly instead of a compressed archive.
  • chore: Disabled artifact compression for the AppImage as the format is already compressed.

Summary by CodeRabbit

  • Chores
    • Improved AppImage build and packaging process for Linux platform distributions.

This commit replaces the simple tar.gz packaging of the application binaries with a proper `.AppImage` build process using `appimagetool`. It configures the necessary AppDir structure, including the `AppRun` entry point, desktop integration, and icon assets.

- **ci(github)**: Integrated `appimagetool` into the `build-desktop-platforms` workflow for the Linux "modern" matrix.
- **ci(github)**: Implemented `AppDir` creation logic with custom `AppRun` script and `.desktop` file generation.
- **ci(github)**: Updated the upload artifact step to provide the `.AppImage` file directly instead of a compressed archive.
- **chore**: Disabled artifact compression for the AppImage as the format is already compressed.
@rainxchzed rainxchzed merged commit 03df560 into main Mar 2, 2026
6 checks passed
@rainxchzed rainxchzed deleted the generate-installers branch March 2, 2026 02:35
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 2, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fb501f9 and eb73817.

📒 Files selected for processing (1)
  • .github/workflows/build-desktop-platforms.yml

Walkthrough

The PR redesigns the Linux AppImage packaging workflow, replacing the tar.gz compression approach with a full AppDir-based AppImage creation using appimagetool. The workflow now discovers the app root, constructs the AppDir structure with necessary metadata files, and generates a native AppImage artifact.

Changes

Cohort / File(s) Summary
AppImage Packaging Step
.github/workflows/build-desktop-platforms.yml
Renamed and reworked the AppImage packaging step to use appimagetool instead of tar.gz compression. Now downloads appimagetool, creates an AppDir structure with AppRun script and desktop entry, copies the app icon, and generates GitHub-Store-x86_64.AppImage. Updated artifact upload to reference the new AppImage path and set compression level to 0.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 The AppImage hops forth with grace,
No tar.gz bindings to deface,
AppDir folders neatly arranged,
With appimagetool's magic exchanged,
A swifter package, clean and spaced!

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch generate-installers

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant