Skip to content

Comments

feat(desktop): Add AppImage + Debian 12 as a target format#239

Merged
rainxchzed merged 4 commits intomainfrom
generate-installers
Feb 13, 2026
Merged

feat(desktop): Add AppImage + Debian 12 as a target format#239
rainxchzed merged 4 commits intomainfrom
generate-installers

Conversation

@rainxchzed
Copy link
Owner

@rainxchzed rainxchzed commented Feb 13, 2026

Summary by CodeRabbit

  • Chores
    • Updated build configuration to use platform-specific packaging formats for Windows, macOS, and Linux
    • Optimized CI/CD workflow with updated runner versions and simplified platform matrix

This commit adds support for building the desktop application as an AppImage package for Linux distributions. `TargetFormat.AppImage` has been added to the list of native distribution formats in the build configuration.
This commit updates the desktop packaging configuration to build native distribution formats specific to the host operating system. Instead of building all formats (DMG, PKG, Exe, Msi, Deb, Rpm, AppImage) on every machine, the build script now detects the current OS and generates only the relevant packages:

- **Windows**: Exe, Msi
- **macOS**: Dmg, Pkg
- **Linux**: Deb, Rpm, AppImage

This change optimizes the build process by avoiding the creation of unnecessary and incompatible package types.
This commit updates the GitHub Actions workflow for building desktop platforms.

- The Gradle configuration cache (`-Dorg.gradle.configuration-cache=true`) has been disabled to address potential build issues.
- The macOS runners have been updated:
    - `macos-13` (x64) is now `macos-15-intel`.
    - `macos-14` (arm64) is now `macos-latest`.
- Comments in the Linux build job have been slightly rephrased for clarity.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 13, 2026

Caution

Review failed

The pull request is closed.

Walkthrough

These changes update CI/CD workflow configuration and build system settings. The GitHub Actions workflow modernizes macOS runner versions and simplifies Linux configuration while removing Gradle cache options. The Gradle build file now dynamically selects packaging formats based on the target operating system instead of using a static list.

Changes

Cohort / File(s) Summary
CI/CD Workflow Configuration
.github/workflows/build-desktop-platforms.yml
Removed Gradle configuration cache option (-Dorg.gradle.configuration-cache=true). Updated macOS runners to macos-15-intel (x64) and macos-latest (arm64). Simplified Linux matrix by removing commented compatibility notes while retaining ubuntu-latest and ubuntu-22.04 entries.
Build System Configuration
composeApp/build.gradle.kts
Replaced static targetFormats list with OS-specific selections. Added currentOs variable to dynamically determine the build OS and select appropriate packaging formats: Windows (Exe, Msi), macOS (Dmg, Pkg), Linux (Deb, Rpm, AppImage), others (none).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • Generate installers #151 — Overlapping changes to the same CI workflow file with modifications to macOS and Linux build matrix configuration.

Poem

🐰 Runners hop to newest ground,
macOS paths updated 'round,
Gradle caches fade away,
Format picks by OS each day—
Build systems bounding bright! 🚀

✨ Finishing touches
  • 📝 Generate docstrings
🧪 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.

@rainxchzed rainxchzed merged commit c287617 into main Feb 13, 2026
1 of 6 checks passed
@rainxchzed rainxchzed deleted the generate-installers branch February 13, 2026 06:37
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