alpha
Login
or
Join now
kasper.space
/
ferrum
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
[READ-ONLY] Mirror of https://github.com/probablykasper/ferrum. Music library app for Mac, Linux and Windows
ferrum.kasper.space
electron
linux
macos
music
music-library
music-player
napi
windows
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
Set up Android code signing
author
Kasper
date
4 months ago
(Mar 5, 2026, 1:28 PM +0100)
commit
46e1c816
46e1c816e0cf3d2dc4f6f93201aa9711620c1e1e
parent
f3da49f7
f3da49f7590243c27c3f36976b4057f897714d0b
+40
-7
4 changed files
Expand all
Collapse all
Unified
Split
.github
workflows
ci.yml
release.yml
mobile
src-tauri
gen
android
app
build.gradle.kts
keystore.properties
+8
.github/workflows/ci.yml
View file
Reviewed
···
81
81
- run: npm install
82
82
working-directory: mobile
83
83
84
84
+
- name: Android signing setup
85
85
+
working-directory: mobile/src-tauri/gen/android
86
86
+
run: |
87
87
+
echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" > keystore.properties
88
88
+
echo "password=${{ secrets.ANDROID_KEY_PASSWORD }}" >> keystore.properties
89
89
+
base64 -d <<< "${{ secrets.ANDROID_KEY_BASE64 }}" > $RUNNER_TEMP/keystore.jks
90
90
+
echo "storeFile=$RUNNER_TEMP/keystore.jks" >> keystore.properties
91
91
+
84
92
- name: Build
85
93
# uploadWorkflowArtifacts and mobile are not released
86
94
uses: tauri-apps/tauri-action@a1b01e690374452a209dd44f6de089dda9003d3d
+13
-7
.github/workflows/release.yml
View file
Reviewed
···
88
88
link-to-sdk: true
89
89
90
90
- name: Install Android targets
91
91
-
run: rustup target add aarch64-linux-android x86_64-linux-android
91
91
+
run: rustup target add ${{ matrix.arch }}-linux-android
92
92
93
93
- run: npm install
94
94
+
working-directory: mobile
94
95
95
95
-
- name: Build
96
96
-
env:
97
97
-
NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
96
96
+
- name: Android signing setup
97
97
+
working-directory: mobile/src-tauri/gen/android
98
98
run: |
99
99
-
npm run tauri android build
99
99
+
echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" > keystore.properties
100
100
+
echo "password=${{ secrets.ANDROID_KEY_PASSWORD }}" >> keystore.properties
101
101
+
base64 -d <<< "${{ secrets.ANDROID_KEY_BASE64 }}" > $RUNNER_TEMP/keystore.jks
102
102
+
echo "storeFile=$RUNNER_TEMP/keystore.jks" >> keystore.properties
100
103
101
104
- name: Build
102
102
-
uses: tauri-apps/tauri-action@v0
105
105
+
# uploadWorkflowArtifacts and mobile are not released
106
106
+
uses: tauri-apps/tauri-action@a1b01e690374452a209dd44f6de089dda9003d3d
103
107
env:
104
108
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
105
109
with:
110
110
+
projectPath: mobile
111
111
+
uploadWorkflowArtifacts: true
106
112
mobile: android
107
113
releaseName: ${{ github.ref_name }}
108
114
releaseDraft: true
109
109
-
args: --verbose --debug --apk --split-per-abi ${{ matrix.args }}
115
115
+
args: --verbose --apk --split-per-abi --target ${{ matrix.tauri_target }}
+16
mobile/src-tauri/gen/android/app/build.gradle.kts
View file
Reviewed
···
1
1
+
import java.io.FileInputStream
1
2
import java.util.Properties
2
3
3
4
plugins {
···
24
25
versionCode = tauriProperties.getProperty("tauri.android.versionCode", "1").toInt()
25
26
versionName = tauriProperties.getProperty("tauri.android.versionName", "1.0")
26
27
}
28
28
+
signingConfigs {
29
29
+
create("release") {
30
30
+
val keystorePropertiesFile = rootProject.file("keystore.properties")
31
31
+
val keystoreProperties = Properties()
32
32
+
if (keystorePropertiesFile.exists()) {
33
33
+
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
34
34
+
}
35
35
+
36
36
+
keyAlias = keystoreProperties["keyAlias"] as String
37
37
+
keyPassword = keystoreProperties["password"] as String
38
38
+
storeFile = file(keystoreProperties["storeFile"] as String)
39
39
+
storePassword = keystoreProperties["password"] as String
40
40
+
}
41
41
+
}
27
42
buildTypes {
28
43
getByName("debug") {
29
44
manifestPlaceholders["usesCleartextTraffic"] = "true"
···
37
52
}
38
53
}
39
54
getByName("release") {
55
55
+
signingConfig = signingConfigs.getByName("release")
40
56
isMinifyEnabled = true
41
57
proguardFiles(
42
58
*fileTree(".") { include("**/*.pro") }
+3
mobile/src-tauri/gen/android/keystore.properties
View file
Reviewed
···
1
1
+
keyAlias=placeholder
2
2
+
password=placeholder
3
3
+
storeFile=placeholder