Skip to content

Commit 40661e0

Browse files
authored
Merge pull request #115 from rainxchzed/macos-universal-installer
Macos architecture matching installer
2 parents 85524d3 + d4b7d8b commit 40661e0

File tree

3 files changed

+38
-11
lines changed

3 files changed

+38
-11
lines changed

.github/workflows/build-desktop-platforms.yml

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ on:
55
branches:
66
- generate-installers
77

8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.ref }}
10+
cancel-in-progress: true
11+
812
jobs:
913
build-windows:
1014
runs-on: windows-latest
@@ -20,6 +24,11 @@ jobs:
2024
java-version: '21'
2125
cache: 'gradle'
2226

27+
- name: Setup Gradle
28+
uses: gradle/actions/setup-gradle@v4
29+
with:
30+
cache-read-only: false
31+
2332
- name: Grant execute permission for gradlew
2433
run: chmod +x gradlew
2534
shell: bash
@@ -48,8 +57,7 @@ jobs:
4857
done
4958
}
5059
51-
retry ./gradlew :composeApp:packageExe --no-daemon
52-
retry ./gradlew :composeApp:packageMsi --no-daemon
60+
retry ./gradlew :composeApp:packageExe :composeApp:packageMsi --no-daemon --parallel
5361
shell: bash
5462

5563
- name: Upload Windows installers
@@ -60,9 +68,18 @@ jobs:
6068
composeApp/build/compose/binaries/main/exe/*.exe
6169
composeApp/build/compose/binaries/main/msi/*.msi
6270
retention-days: 30
71+
compression-level: 6
6372

6473
build-macos:
65-
runs-on: macos-latest
74+
strategy:
75+
matrix:
76+
include:
77+
- os: macos-13
78+
arch: x64
79+
- os: macos-14
80+
arch: arm64
81+
82+
runs-on: ${{ matrix.os }}
6683

6784
steps:
6885
- name: Checkout code
@@ -75,6 +92,11 @@ jobs:
7592
java-version: '21'
7693
cache: 'gradle'
7794

95+
- name: Setup Gradle
96+
uses: gradle/actions/setup-gradle@v4
97+
with:
98+
cache-read-only: false
99+
78100
- name: Grant execute permission for gradlew
79101
run: chmod +x gradlew
80102

@@ -102,18 +124,18 @@ jobs:
102124
done
103125
}
104126
105-
retry ./gradlew :composeApp:packageDmg --no-daemon
106-
retry ./gradlew :composeApp:packagePkg --no-daemon
127+
retry ./gradlew :composeApp:packageDmg :composeApp:packagePkg --no-daemon --parallel
107128
shell: bash
108129

109130
- name: Upload macOS installers
110131
uses: actions/upload-artifact@v4
111132
with:
112-
name: macos-installers
133+
name: macos-installers-${{ matrix.arch }}
113134
path: |
114135
composeApp/build/compose/binaries/main/dmg/*.dmg
115136
composeApp/build/compose/binaries/main/pkg/*.pkg
116137
retention-days: 30
138+
compression-level: 6
117139

118140
build-linux:
119141
runs-on: ubuntu-latest
@@ -129,6 +151,11 @@ jobs:
129151
java-version: '21'
130152
cache: 'gradle'
131153

154+
- name: Setup Gradle
155+
uses: gradle/actions/setup-gradle@v4
156+
with:
157+
cache-read-only: false
158+
132159
- name: Grant execute permission for gradlew
133160
run: chmod +x gradlew
134161

@@ -156,8 +183,7 @@ jobs:
156183
done
157184
}
158185
159-
retry ./gradlew :composeApp:packageDeb --no-daemon
160-
retry ./gradlew :composeApp:packageRpm --no-daemon
186+
retry ./gradlew :composeApp:packageDeb :composeApp:packageRpm --no-daemon --parallel
161187
shell: bash
162188

163189
- name: Upload Linux installers
@@ -167,4 +193,5 @@ jobs:
167193
path: |
168194
composeApp/build/compose/binaries/main/deb/*.deb
169195
composeApp/build/compose/binaries/main/rpm/*.rpm
170-
retention-days: 30
196+
retention-days: 30
197+
compression-level: 6

composeApp/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ compose.desktop {
227227
application {
228228
mainClass = "zed.rainxch.githubstore.MainKt"
229229
nativeDistributions {
230-
packageName = "github-store"
230+
packageName = "GitHub-Store"
231231
packageVersion = appVersionName
232232
vendor = "rainxchzed"
233233
includeAllModules = true

composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/feature/apps/presentation/AppsViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class AppsViewModel(
8181
downloadProgress = existing?.downloadProgress,
8282
error = existing?.error
8383
)
84-
}
84+
}.sortedBy { it.installedApp.isUpdateAvailable }
8585

8686
_state.update {
8787
it.copy(

0 commit comments

Comments
 (0)