diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 09391757a..5939387ac 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -31,14 +31,17 @@ jobs: - name: Gradle working-directory: shell/android-studio - run: ./gradlew assembleRelease --parallel + run: ./gradlew bundleRelease --parallel env: SENTRY_UPLOAD_URL: ${{ secrets.SENTRY_UPLOAD_URL }} - - uses: actions/upload-artifact@v4 + - uses: r0adkll/upload-google-play@v1.1.3 with: - name: flycast-release.apk - path: shell/android-studio/flycast/build/outputs/apk/release/flycast-release.apk + serviceAccountJsonPlainText: ${{ secrets.PLAY_SERVICE_ACCOUNT_JSON }} + packageName: com.flycast.emulator + releaseFiles: shell/android-studio/flycast/build/outputs/bundle/release/flycast-release.aab + track: qa + status: draft - name: Build dump_syms working-directory: core/deps/breakpad @@ -58,19 +61,6 @@ jobs: mv libflycast.so.sym symbols/libflycast.so/$BUILD_ID done - - name: Configure AWS Credentials - id: aws-credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - aws-access-key-id: AKIAJOZQS4H2PHQWYFCA - aws-secret-access-key: ${{ secrets.S3_SECRET_KEY }} - aws-region: us-east-2 - if: github.repository == 'flyinghead/flycast' && github.event_name == 'push' - - - name: Upload to S3 - run: aws s3 sync shell/android-studio/flycast/build/outputs/apk/release s3://flycast-builds/android/${GITHUB_REF#refs/}-$GITHUB_SHA --acl public-read --exclude='*.json' --follow-symlinks - if: ${{ steps.aws-credentials.outputs.aws-account-id != '' }} - - name: Setup Sentry CLI uses: mathieu-bour/setup-sentry-cli@v2 env: diff --git a/shell/android-studio/flycast/build.gradle b/shell/android-studio/flycast/build.gradle index 5159b29fd..c209f1794 100644 --- a/shell/android-studio/flycast/build.gradle +++ b/shell/android-studio/flycast/build.gradle @@ -49,13 +49,19 @@ android { debug { storeFile file("../debug.keystore") } + release { + storeFile file("../playstore.jks") + storePassword System.getenv("ANDROID_KEYSTORE_PASSWORD") + keyAlias 'uploadkey' + keyPassword System.getenv("ANDROID_KEYSTORE_PASSWORD") + } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - signingConfig signingConfigs.debug + signingConfig signingConfigs.release } } compileOptions { diff --git a/shell/android-studio/playstore.jks b/shell/android-studio/playstore.jks new file mode 100644 index 000000000..ec5e2a7fc Binary files /dev/null and b/shell/android-studio/playstore.jks differ