name: Release to Google Play on: workflow_dispatch: jobs: publish-google-play-release: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 with: depth: 0 - name: Set up JDK uses: actions/setup-java@de1bb2b0c5634f0fc4438d7aa9944e68f9bf86cc # tag=v3.6.0 with: distribution: temurin java-version: 18 - name: Set up Git author shell: bash run: | git config user.name "GitHub Actions" git config user.email noreply@github.com - name: Setup Gradle caching uses: gradle/gradle-build-action@3fbe033aaae657f011f88f29be9e65ed26bd29ef # tag=v2.3.3 with: gradle-home-cache-cleanup: true cache-read-only: true - name: Decrypt secrets run: scripts/signing-setup.sh "$ENCRYPT_KEY" env: ENCRYPT_KEY: ${{ secrets.ENCRYPT_KEY }} - name: Prepare release assets shell: bash run: | # Remove the `-SNAPSHOT` suffix ./gradlew -q clearPreRelease git commit -am 'feat(release): bump version' # Build the release assets ./gradlew collectReleaseApks collectReleaseBundle - name: Clean secrets run: scripts/signing-cleanup.sh - name: Publish bundle to Google Play uses: r0adkll/upload-google-play@78c9e796b1035c94169c101d8e46cb880194bfc3 # tag=v1.0.19 with: mappingFile: android/bundle/mapping.txt packageName: dev.msfjarvis.claw.android releaseFiles: android/bundle/*.aab serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} status: completed track: production whatsNewDirectory: distribution/whatsnew - name: Post-release work shell: bash env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | # Tag the current version VERSION="$(tail -n1 android/version.properties | cut -d = -f 2)" git tag "v${VERSION}" -F distribution/whatsnew/whatsnew-en-GB # Push everything to GitHub git push origin --all # Create a GitHub release gh release create "v${VERSION}" -F distribution/whatsnew/whatsnew-en-GB --title "v${VERSION}" ./android/apk/*.apk ./android/bundle/*.aab # Start the next development iteration ./gradlew -q bumpSnapshot truncate -s 0 distribution/whatsnew/whatsnew-en-GB # Clear changelog git commit -am 'feat(release): start next development iteration' git push origin main