Skip to content

Commit fd9eba8

Browse files
committed
ci: configure Gradle to sign release APKs directly within the build workflow
1 parent 39092e4 commit fd9eba8

2 files changed

Lines changed: 22 additions & 13 deletions

File tree

.github/workflows/release.yml

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,23 +39,21 @@ jobs:
3939
echo "version=${{ github.ref_name }}" >> $GITHUB_OUTPUT
4040
fi
4141
42-
- name: Build Unsigned Release APK
43-
run: ./gradlew assembleRelease
42+
- name: Decode Keystore
43+
run: |
44+
echo "${{ secrets.SIGNING_KEY_STORE_BASE64 }}" | base64 --decode > release.keystore
4445
45-
- name: Sign APK
46-
uses: r0adkll/sign-android-release@v1
47-
id: sign_app
48-
with:
49-
releaseDirectory: app/build/outputs/apk/release
50-
signingKeyBase64: ${{ secrets.SIGNING_KEY_STORE_BASE64 }}
51-
alias: ${{ secrets.SIGNING_KEY_ALIAS }}
52-
keyStorePassword: ${{ secrets.SIGNING_STORE_PASSWORD }}
53-
keyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }}
54-
buildToolsVersion: 35.0.0
46+
- name: Build and Sign Release APK
47+
env:
48+
KEYSTORE_FILE: ${{ github.workspace }}/release.keystore
49+
KEYSTORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}
50+
KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
51+
KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
52+
run: ./gradlew assembleRelease
5553

5654
- name: Rename Signed APK
5755
run: |
58-
mv ${{steps.sign_app.outputs.signedReleaseFile}} \
56+
mv app/build/outputs/apk/release/app-release.apk \
5957
app/build/outputs/apk/release/adbkit-${{ steps.vars.outputs.version }}.apk
6058
6159
- name: Create Release

app/build.gradle.kts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,17 @@ android {
2020
release {
2121
isMinifyEnabled = true
2222
isShrinkResources = true
23+
24+
val keystoreFile = System.getenv("KEYSTORE_FILE")
25+
if (keystoreFile != null) {
26+
signingConfig = signingConfigs.create("release") {
27+
storeFile = file(keystoreFile)
28+
storePassword = System.getenv("KEYSTORE_PASSWORD")
29+
keyAlias = System.getenv("KEY_ALIAS")
30+
keyPassword = System.getenv("KEY_PASSWORD")
31+
}
32+
}
33+
2334
proguardFiles(
2435
getDefaultProguardFile("proguard-android-optimize.txt"),
2536
"proguard-rules.pro"

0 commit comments

Comments
 (0)