name: Release Android Backend
on:
push:
branches:
- main
paths:
- 'backends/android/**'
- 'backends/android/release-please-config.json'
- 'backends/android/release-please-manifest.json'
workflow_dispatch:
permissions:
contents: write
concurrency:
group: android-release
cancel-in-progress: false
jobs:
release:
name: Publish Android backend
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run release-please
id: release
uses: google-github-actions/release-please-action@v4
with:
command: github-release
token: ${{ secrets.GITHUB_TOKEN }}
config-file: backends/android/release-please-config.json
manifest-file: backends/android/release-please-manifest.json
- name: Set up Java
if: ${{ steps.release.outputs.release_created == 'true' }}
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Setup Gradle
if: ${{ steps.release.outputs.release_created == 'true' }}
uses: gradle/actions/setup-gradle@v3
with:
build-root-directory: backends/android
- name: Build Android backend
if: ${{ steps.release.outputs.release_created == 'true' }}
working-directory: backends/android
run: ./gradlew build
- name: Upload AAR to GitHub Release
if: ${{ steps.release.outputs.release_created == 'true' }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload ${{ steps.release.outputs.tag_name }} backends/android/build/libs/*.aar --clobber