diff --git a/.github/workflows/build-desktop-platforms.yml b/.github/workflows/build-desktop-platforms.yml index cbc6b1a6..45434f91 100644 --- a/.github/workflows/build-desktop-platforms.yml +++ b/.github/workflows/build-desktop-platforms.yml @@ -16,7 +16,6 @@ env: -Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.caching=true - -Dorg.gradle.configuration-cache=true jobs: build-windows: @@ -84,9 +83,9 @@ jobs: strategy: matrix: include: - - os: macos-13 + - os: macos-15-intel arch: x64 - - os: macos-14 + - os: macos-latest arch: arm64 runs-on: ${{ matrix.os }} @@ -152,12 +151,9 @@ jobs: strategy: matrix: include: - # Ubuntu 24.04 (latest) — produces .deb with t64 deps (libasound2t64, libpng16-16t64) - # Compatible with: Ubuntu 24.04+, Debian 13+ (Trixie) - os: ubuntu-latest label: modern - # Ubuntu 22.04 — produces .deb with classic deps (libasound2, libpng16-16) - # Compatible with: Debian 12 (Bookworm), Ubuntu 22.04, and older systems + - os: ubuntu-22.04 label: debian12-compat diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 12371339..c176de29 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -102,13 +102,15 @@ compose.desktop { packageVersion = libs.versions.projectVersionName.get().toString() vendor = "rainxchzed" includeAllModules = true + + val currentOs = org.gradle.internal.os.OperatingSystem.current() targetFormats( - TargetFormat.Dmg, - TargetFormat.Pkg, - TargetFormat.Exe, - TargetFormat.Msi, - TargetFormat.Deb, - TargetFormat.Rpm, + *when { + currentOs.isWindows -> arrayOf(TargetFormat.Exe, TargetFormat.Msi) + currentOs.isMacOsX -> arrayOf(TargetFormat.Dmg, TargetFormat.Pkg) + currentOs.isLinux -> arrayOf(TargetFormat.Deb, TargetFormat.Rpm, TargetFormat.AppImage) + else -> emptyArray() + } ) windows { iconFile.set(project.file("logo/app_icon.ico"))