name: Build & Release APK on: push: tags: - 'v*' permissions: contents: write jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 - name: Decode keystore run: | mkdir -p keystore echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > keystore/ledga-release.jks - name: Build release APK env: KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} KEY_ALIAS: ${{ secrets.KEY_ALIAS }} KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} run: ./gradlew assembleRelease - name: Rename APK run: | VERSION=${GITHUB_REF_NAME#v} mv app/build/outputs/apk/release/app-release.apk app/build/outputs/apk/release/ledga-v${VERSION}.apk - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: files: app/build/outputs/apk/release/ledga-*.apk generate_release_notes: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 - name: Run tests run: ./gradlew testDebugUnitTest