name: Upload orangeRelease to Google Play on: workflow_dispatch: jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' - name: Gradle Wrapper Validation uses: gradle/wrapper-validation-action@v2 - name: Copy CI gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 with: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} - name: Test run: ./gradlew app:testOrangeGoogleReleaseUnitTest --stacktrace - name: Build APK run: ./gradlew assembleOrangeGoogleRelease --stacktrace - name: Build AAB run: ./gradlew :app:bundleOrangeGoogleRelease --stacktrace - uses: r0adkll/sign-android-release@v1.0.4 name: Sign app APK id: sign_app_apk with: releaseDirectory: app/build/outputs/apk/orangeGoogle/release signingKeyBase64: ${{ secrets.SIGNING_KEY }} alias: ${{ secrets.SIGNING_KEY_ALIAS }} keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }} env: BUILD_TOOLS_VERSION: "34.0.0" - uses: r0adkll/sign-android-release@v1.0.4 name: Sign app AAB id: sign_app_aab with: releaseDirectory: app/build/outputs/bundle/orangeGoogleRelease signingKeyBase64: ${{ secrets.SIGNING_KEY }} alias: ${{ secrets.SIGNING_KEY_ALIAS }} keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }} env: BUILD_TOOLS_VERSION: "34.0.0" - name: Upload APK Release Asset id: upload-release-asset-apk uses: actions/upload-artifact@v4 with: name: app-release.apk path: ${{steps.sign_app_apk.outputs.signedReleaseFile}} compression-level: 0 - name: Generate whatsnew id: generate-whatsnew run: | mkdir -p googleplay/whatsnew git log -1 --pretty=format:"%s" > googleplay/whatsnew/whatsnew-en-US - name: Upload AAB to Google Play id: upload-release-asset-aab uses: r0adkll/upload-google-play@v1.1.3 with: serviceAccountJsonPlainText: ${{ secrets.PLAY_SERVICE_ACCOUNT_KEY }} packageName: app.pachli.current releaseFiles: ${{steps.sign_app_aab.outputs.signedReleaseFile}} track: production whatsNewDirectory: googleplay/whatsnew status: completed mappingFile: app/build/outputs/mapping/orangeGoogleRelease/mapping.txt