Skip to content

Build and Release APK #2

Build and Release APK

Build and Release APK #2

Workflow file for this run

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