From a7117e8ce199016442af08e88526b8df037892ba Mon Sep 17 00:00:00 2001 From: Ahmad Ansori Palembani Date: Fri, 24 May 2024 10:19:22 +0700 Subject: [PATCH] ci: Sign manually --- .github/workflows/build_push.yml | 42 ++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 2f044f82de..173c0a4623 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -28,6 +28,10 @@ jobs: with: fetch-depth: 0 + - name: Setup Android SDK + run: | + ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager "build-tools;29.0.3" + - name: Setup Gradle uses: null2264/actions/gradle-setup@b697b0b95bb90ab23c1145b744dddd2fd3e3a838 with: @@ -95,14 +99,36 @@ jobs: - name: Sign APK if: env.VERSION_TAG != '' - uses: ilharp/sign-android-release@v1 - id: sign_app - with: - releaseDir: app/build/outputs/apk/standard/${{ startsWith(env.VERSION_TAG, 'v') && 'release' || 'nightly' }} - signingKey: ${{ secrets.SIGNING_KEY }} - keyAlias: ${{ secrets.ALIAS }} - keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} - keyPassword: ${{ secrets.KEY_PASSWORD }} + run: | + APK_DIR=app/build/outputs/apk/standard/${{ startsWith(env.VERSION_TAG, 'v') && 'release' || 'nightly' }} + + echo "${{ secrets.SIGNING_KEY }}" | base64 -d > /tmp/signingkey.jks + + APKS=($(ls -1 $APK_DIR/app-standard-*.apk)) + + for i in "${APKS[@]}"; do + echo "Compiling ${i}" + SIGNED_NAME="$(echo $i | sed 's/.apk$/-signed.apk/g')" + zipalign -p -f -v 4 $i "${i}.aligned" + apksigner sign \ + --ks /tmp/signingkey.jks \ + --out $SIGNED_NAME \ + --ks-key-alias "${{ secrets.ALIAS }}" \ + --ks-pass "${{ secrets.KEY_STORE_PASSWORD }}" \ + --key-pass "${{ secrets.KEY_PASSWORD }}" \ + "${i}.aligned" + done + +# - name: Sign APK +# if: env.VERSION_TAG != '' +# uses: ilharp/sign-android-release@v1 +# id: sign_app +# with: +# releaseDir: app/build/outputs/apk/standard/${{ startsWith(env.VERSION_TAG, 'v') && 'release' || 'nightly' }} +# signingKey: ${{ secrets.SIGNING_KEY }} +# keyAlias: ${{ secrets.ALIAS }} +# keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} +# keyPassword: ${{ secrets.KEY_PASSWORD }} - name: Clean up build artifacts if: env.VERSION_TAG != ''