diff --git a/.github/workflows/prod-android.yml b/.github/workflows/prod-android.yml index 075e4474..5c18dd08 100644 --- a/.github/workflows/prod-android.yml +++ b/.github/workflows/prod-android.yml @@ -6,8 +6,8 @@ on: - main jobs: - build: - name: Build APK + build_arm: + name: Build APK for ARM runs-on: ubuntu-latest defaults: run: @@ -37,19 +37,115 @@ jobs: - name: Capacitor sync run: npx cap sync - - name: Build APK - run: cd android && ./gradlew assembleRelease + - name: Build APK for ARM + run: cd android && ./gradlew assembleArmRelease - name: Sign APK run: | echo "${{ secrets.RELEASE_KEYSTORE }}" > android/release.jks.base64 base64 -d android/release.jks.base64 > android/release.decrypted.jks - jarsigner -keystore android/release.decrypted.jks -storepass "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" -signedjar ./android/app/build/outputs/apk/release/app-release-signed.apk ./android/app/build/outputs/apk/release/app-release-unsigned.apk release + jarsigner -keystore android/release.decrypted.jks -storepass "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" -signedjar ./android/app/build/outputs/apk/release/app-arm-release-signed.apk ./android/app/build/outputs/apk/release/app-arm-release-unsigned.apk release - name: Upload APK to release uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ./materialious/android/app/build/outputs/apk/release/app-release-signed.apk + file: ./materialious/android/app/build/outputs/apk/release/app-arm-release-signed.apk + overwrite: true + file_glob: true + + build_arm64: + name: Build APK for ARM64 + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./materialious + + steps: + - name: Checkout source + uses: actions/checkout@v3 + + - name: Setup java + uses: actions/setup-java@v3 + with: + distribution: 'adopt' + java-version: '17' + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + + - name: Install app dependencies + run: npm install + + - name: Build Svelte app + run: npm run build + + - name: Capacitor sync + run: npx cap sync + + - name: Build APK for ARM64 + run: cd android && ./gradlew assembleArm64Release + + - name: Sign APK + run: | + echo "${{ secrets.RELEASE_KEYSTORE }}" > android/release.jks.base64 + base64 -d android/release.jks.base64 > android/release.decrypted.jks + jarsigner -keystore android/release.decrypted.jks -storepass "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" -signedjar ./android/app/build/outputs/apk/release/app-arm64-release-signed.apk ./android/app/build/outputs/apk/release/app-arm64-release-unsigned.apk release + + - name: Upload APK to release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ./materialious/android/app/build/outputs/apk/release/app-arm64-release-signed.apk + overwrite: true + file_glob: true + + build_x86: + name: Build APK for x86 + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./materialious + + steps: + - name: Checkout source + uses: actions/checkout@v3 + + - name: Setup java + uses: actions/setup-java@v3 + with: + distribution: 'adopt' + java-version: '17' + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + + - name: Install app dependencies + run: npm install + + - name: Build Svelte app + run: npm run build + + - name: Capacitor sync + run: npx cap sync + + - name: Build APK for x86 + run: cd android && ./gradlew assembleX86Release + + - name: Sign APK + run: | + echo "${{ secrets.RELEASE_KEYSTORE }}" > android/release.jks.base64 + base64 -d android/release.jks.base64 > android/release.decrypted.jks + jarsigner -keystore android/release.decrypted.jks -storepass "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" -signedjar ./android/app/build/outputs/apk/release/app-x86-release-signed.apk ./android/app/build/outputs/apk/release/app-x86-release-unsigned.apk release + + - name: Upload APK to release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ./materialious/android/app/build/outputs/apk/release/app-x86-release-signed.apk overwrite: true file_glob: true