From 6879dbcdf8353a8eb5954ea6131145a7fb48af08 Mon Sep 17 00:00:00 2001 From: ammarahm-ed Date: Wed, 21 Sep 2022 09:30:08 +0500 Subject: [PATCH] ci: add gh & playstore release --- .github/workflows/android.publish.yml | 66 +++++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 4 deletions(-) diff --git a/.github/workflows/android.publish.yml b/.github/workflows/android.publish.yml index f1efda2d0..56ebb30b9 100644 --- a/.github/workflows/android.publish.yml +++ b/.github/workflows/android.publish.yml @@ -32,7 +32,6 @@ jobs: with: java-version: '11' architecture: 'x64' - cache: gradle - name: Install node modules run: | @@ -40,8 +39,67 @@ jobs: - name: Make Gradlew Executable run: cd apps/mobile/native/android && chmod +x ./gradlew - - name: Build Android App Bundle + - name: Build unsigned app bundle run: yarn release:android:bundle - - name: Build Android App APKS - run: yarn release:android \ No newline at end of file + - name: Sign app bundle for Playstore release + id: sign_app + uses: r0adkll/sign-android-release@v1 + with: + releaseDirectory: apps/mobile/native/android/app/build/outputs/bundle/release + signingKeyBase64: ${{ secrets.SIGNING_KEY }} + alias: ${{ secrets.ALIAS }} + keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} + keyPassword: ${{ secrets.KEY_PASSWORD }} + + - name: Build apks for Github release + run: yarn release:android + + - name: Sign apk files + id: sign_apk + uses: r0adkll/sign-android-release@master + with: + releaseDirectory: apps/mobile/native/android/app/build/outputs/apk/release + signingKeyBase64: ${{ secrets.PUBLIC_SIGNING_KEY }} + alias: ${{ secrets.PUBLIC_ALIAS }} + keyStorePassword: ${{ secrets.PUBLIC_KEY_STORE_PASSWORD }} + keyPassword: ${{ secrets.PUBLIC_KEY_PASSWORD }} + + - name: Rename apk files + run: | + cd apps/mobile/native/android/app/build/outputs/apk/release/ + mv app-arm64-v8a-release-unsigned-signed.apk notesnook-arm64-v8a.apk + mv app-armeabi-v7a-release-unsigned-signed.apk notesnook-armeabi-v7a.apk + mv app-x86-release-unsigned-signed.apk notesnook-x86.apk + mv app-x86_64-release-unsigned-signed.apk notesnook-x86_64.apk + + - name: Get app version + id: package-version + uses: martinbeentjes/npm-get-version-action@master + with: + path: apps/mobile + + - name: Create release draft on Github + uses: softprops/action-gh-release@v1 + with: + draft: true + tag_name: ${{ steps.package-version.outputs.current-version}}-android + name: Notesnook Android v${{ steps.package-version.outputs.current-version}} + repository: streetwriters/notesnook + token: ${{ secrets.NOTESNOOK_GH_TOKEN }} + files: | + apps/mobile/native/android/app/build/outputs/apk/release/notesnook-arm64-v8a.apk + apps/mobile/native/android/app/build/outputs/apk/release/notesnook-armeabi-v7a.apk + apps/mobile/native/android/app/build/outputs/apk/release/notesnook-x86.apk + apps/mobile/native/android/app/build/outputs/apk/release/notesnook-x86_64.apk + + - name: Publish to Playstore + id: deploy + uses: r0adkll/upload-google-play@v1 + with: + serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} + packageName: com.streetwriters.notesnook + releaseFile: ${{steps.sign_app.outputs.signedReleaseFile}} + track: production + status: completed + whatsNewDirectory: apps/mobile/native/android/releasenotes/ \ No newline at end of file