name: Build & Release Scale Gateway APK on: push: branches: - main workflow_dispatch: permissions: contents: write jobs: build: name: Build APK runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' - name: Set up Gradle uses: gradle/actions/setup-gradle@v3 with: gradle-version: '8.4' - name: Build debug APK run: gradle assembleDebug --no-daemon working-directory: evershelf-scale-gateway - name: Rename APK run: | mkdir -p artifacts cp evershelf-scale-gateway/app/build/outputs/apk/debug/app-debug.apk artifacts/evershelf-scale-gateway.apk - name: Get version name id: version run: | VERSION=$(grep 'versionName' evershelf-scale-gateway/app/build.gradle.kts | grep -oP '"\K[^"]+') echo "name=$VERSION" >> "$GITHUB_OUTPUT" - name: Delete existing latest release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: gh release delete latest --yes || true - name: Create GitHub Release and upload APK env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh release create latest \ --title "EverShelf Scale Gateway v${{ steps.version.outputs.name }}" \ --notes "Download the APK and install it on your Android device (7.0+). Allow installation from unknown sources in settings." \ --latest \ artifacts/evershelf-scale-gateway.apk