Build and Release APK #2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Release APK | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'Version tag for release (e.g., v1.0.0)' | |
| required: true | |
| default: 'v1.0.0' | |
| 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: Grant execute permission for gradlew | |
| run: chmod +x gradlew | |
| - name: Build Release APK | |
| run: ./gradlew assembleRelease | |
| - name: Sign APK | |
| uses: r0adkll/sign-android-release@v1 | |
| id: sign_app | |
| with: | |
| releaseDirectory: app/build/outputs/apk/release | |
| signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
| alias: ${{ secrets.KEY_ALIAS }} | |
| keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} | |
| keyPassword: ${{ secrets.KEY_PASSWORD }} | |
| env: | |
| BUILD_TOOLS_VERSION: "34.0.0" | |
| - name: Get version name | |
| id: version | |
| run: | | |
| if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then | |
| echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT | |
| else | |
| echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Rename APK | |
| run: | | |
| mv ${{ steps.sign_app.outputs.signedReleaseFile }} app/build/outputs/apk/release/FrameworkForge-${{ steps.version.outputs.VERSION }}.apk | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| tag_name: ${{ steps.version.outputs.VERSION }} | |
| name: FrameworkForge ${{ steps.version.outputs.VERSION }} | |
| body: | | |
| ## FrameworkForge ${{ steps.version.outputs.VERSION }} | |
| ### What's New | |
| - Built from commit ${{ github.sha }} | |
| ### Installation | |
| 1. Download the APK below | |
| 2. Install on your rooted Android device | |
| 3. Grant root permissions when prompted | |
| files: app/build/outputs/apk/release/FrameworkForge-${{ steps.version.outputs.VERSION }}.apk | |
| draft: false | |
| prerelease: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Upload APK as Artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: FrameworkForge-APK | |
| path: app/build/outputs/apk/release/FrameworkForge-${{ steps.version.outputs.VERSION }}.apk |