name: Upload orangeRelease to Google Play on: workflow_dispatch: jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - uses: actions/setup-java@v3 with: java-version: '17' distribution: 'temurin' - name: Gradle Wrapper Validation uses: gradle/wrapper-validation-action@v1 - name: Copy CI gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Gradle Build Action uses: gradle/gradle-build-action@v2 with: cache-read-only: ${{ github.ref != 'refs/heads/main' }} - name: Test run: ./gradlew app:testOrangeReleaseUnitTest --stacktrace - name: Build APK run: ./gradlew assembleOrangeRelease --stacktrace - name: Build AAB run: ./gradlew :app:bundleOrangeRelease --stacktrace - uses: r0adkll/sign-android-release@v1.0.4 name: Sign app APK id: sign_app_apk with: releaseDirectory: app/build/outputs/apk/orange/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/orangeRelease 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@v3 with: name: app-release.apk path: ${{steps.sign_app_apk.outputs.signedReleaseFile}} - 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.2 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/orangeRelease/mapping.txt