Skip to content

Commit 2a09e34

Browse files
committed
CI fix
1 parent 4530391 commit 2a09e34

3 files changed

Lines changed: 12 additions & 36 deletions

File tree

.github/workflows/_android-build.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,13 @@ jobs:
9494
echo "keystore.jks is missing or empty after decrypting ANDROID_KEYSTORE_ENCRYPTED"
9595
exit 1
9696
fi
97-
keytool -list -keystore keystore.jks -storepass "$ANDROID_KEYSTORE_STORE_PASSWORD" -alias "$ANDROID_KEY_ALIAS" >/dev/null
98-
keytool -certreq -keystore keystore.jks -storepass "$ANDROID_KEYSTORE_STORE_PASSWORD" -alias "$ANDROID_KEY_ALIAS" -keypass "$ANDROID_KEY_PASSWORD" -file android-release-signing.csr >/dev/null
99-
rm -f android-release-signing.csr
97+
KEYSTORE_INFO=$(keytool -list -v -keystore keystore.jks -storepass "$ANDROID_KEYSTORE_STORE_PASSWORD" -alias "$ANDROID_KEY_ALIAS")
98+
echo "$KEYSTORE_INFO" | grep -q "PrivateKeyEntry"
99+
KEYSTORE_TYPE=$(echo "$KEYSTORE_INFO" | sed -n 's/^Keystore type: //p' | head -n 1)
100+
if [ "$KEYSTORE_TYPE" = "JKS" ]; then
101+
keytool -certreq -keystore keystore.jks -storepass "$ANDROID_KEYSTORE_STORE_PASSWORD" -alias "$ANDROID_KEY_ALIAS" -keypass "$ANDROID_KEY_PASSWORD" -file android-release-signing.csr >/dev/null
102+
rm -f android-release-signing.csr
103+
fi
100104
env:
101105
ANDROID_KEYSTORE_ENCRYPTED: ${{ secrets.ANDROID_KEYSTORE_ENCRYPTED }}
102106
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}

composeApp/build.gradle.kts

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -114,36 +114,5 @@ dependencies {
114114
debugImplementation(compose.uiTooling)
115115
}
116116

117-
val validateAndroidReleaseSigning by tasks.registering {
118-
doLast {
119-
val missing = listOf(
120-
"ANDROID_KEYSTORE_STORE_PASSWORD",
121-
"ANDROID_KEY_ALIAS",
122-
"ANDROID_KEY_PASSWORD",
123-
).filter { signingValue(it).isNullOrBlank() }
124-
125-
if (missing.isNotEmpty()) {
126-
error("Missing Android release signing values: ${missing.joinToString()}")
127-
}
128-
129-
if (!project.rootProject.file("keystore.jks").isFile) {
130-
error("Missing Android release keystore: ${project.rootProject.file("keystore.jks")}")
131-
}
132-
}
133-
}
134-
135-
val androidReleaseSigningTasks =
136-
setOf(
137-
"packageRelease",
138-
"bundleRelease",
139-
"validateSigningRelease",
140-
)
141-
142-
tasks.matching { task ->
143-
task.name in androidReleaseSigningTasks
144-
}.configureEach {
145-
dependsOn(validateAndroidReleaseSigning)
146-
}
147-
148117
tasks.check.dependsOn(tasks.ktlintCheck)
149118
tasks.ktlintCheck.dependsOn(tasks.ktlintFormat)

fastlane/Fastfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,11 @@ platform :ios do
144144
UI.user_error!("EXPECTED_FIREBASE_PROJECT_ID is required")
145145
end
146146

147-
bundled_firebase_plist = "./build/Bundled-GoogleService-Info.plist"
148-
sh("unzip -p './build/ARK-Drop.ipa' 'Payload/*.app/GoogleService-Info.plist' > '#{bundled_firebase_plist}'")
147+
repo_root = File.expand_path("..", __dir__)
148+
ipa_path = lane_context[SharedValues::IPA_OUTPUT_PATH] || File.join(repo_root, "build", "ARK-Drop.ipa")
149+
bundled_firebase_plist = File.join(repo_root, "build", "Bundled-GoogleService-Info.plist")
150+
sh("mkdir -p '#{File.dirname(bundled_firebase_plist)}'")
151+
sh("unzip -p '#{ipa_path}' 'Payload/*.app/GoogleService-Info.plist' > '#{bundled_firebase_plist}'")
149152
sh("plutil -lint '#{bundled_firebase_plist}'")
150153

151154
bundled_project_id = sh("/usr/libexec/PlistBuddy -c 'Print :PROJECT_ID' '#{bundled_firebase_plist}'").strip

0 commit comments

Comments
 (0)