name: build on: push: tags: - 'v*' jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: 'gradle' # - name: set up gradle # uses: gradle/gradle-build-action@v2 # with: # gradle-version: current # arguments: assembleRelease - name: Run build with Gradle wrapper run: ./gradlew assembleRelease - name: Sign app APK id: sign_app uses: r0adkll/sign-android-release@v1 with: releaseDirectory: app/build/outputs/apk/release alias: ${{ secrets.ALIAS }} signingKeyBase64: ${{ secrets.KEYSTORE }} keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} keyPassword: ${{ secrets.ALIAS_PASSWORD }} - name: Create Release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: Release ${{ github.ref }} draft: false prerelease: false - name: Upload Release Asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ${{ steps.sign_app.outputs.signedReleaseFile }} asset_name: my_tv.apk asset_content_type: application/vnd.android.package-archive