Skip to content

Add predictive back to settings navigation #16

Add predictive back to settings navigation

Add predictive back to settings navigation #16

Workflow file for this run

name: Build Release APK
on:
push:
branches:
- "master"
- "codex/moonshine-vocabulary-beta"
tags:
- "v*"
workflow_dispatch:
permissions:
contents: write
jobs:
build:
name: Build APK
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Configure release signing
env:
RELEASE_KEYSTORE_BASE64: ${{ secrets.RELEASE_KEYSTORE_BASE64 }}
RELEASE_KEY_ALIAS: ${{ secrets.RELEASE_KEY_ALIAS }}
RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEY_PASSWORD }}
RELEASE_STORE_PASSWORD: ${{ secrets.RELEASE_STORE_PASSWORD }}
run: |
test -n "$RELEASE_KEYSTORE_BASE64"
printf '%s' "$RELEASE_KEYSTORE_BASE64" | base64 --decode > release-signing.jks
printf 'storeFile=release-signing.jks\nkeyAlias=%s\nkeyPassword=%s\nstorePassword=%s\n' \
"$RELEASE_KEY_ALIAS" "$RELEASE_KEY_PASSWORD" "$RELEASE_STORE_PASSWORD" > keystore.properties
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "21"
- name: Set up Android SDK
uses: android-actions/setup-android@v3
- name: Install Android build components
run: |
sdkmanager "platforms;android-35" "build-tools;35.0.0" "ndk;28.2.13676358" "cmake;3.22.1"
yes | sdkmanager --licenses >/dev/null
- name: Build APK
run: |
./gradlew :app:assembleStandaloneRelease
echo "APK_DIR=app/build/outputs/apk/standalone/release" >> "$GITHUB_ENV"
echo "APK_NAME=futo-voice-input-moonshine" >> "$GITHUB_ENV"
- name: Rename APK
run: |
mkdir -p release
VERSION="${GITHUB_REF_NAME:-manual}"
VERSION="${VERSION//\//-}"
APK_PATH="$(find "$APK_DIR" -maxdepth 1 -type f -name '*.apk' | head -n 1)"
if [ -z "$APK_PATH" ]; then
echo "No APK found in $APK_DIR"
exit 1
fi
cp "$APK_PATH" "release/${APK_NAME}-${VERSION}.apk"
- name: Upload APK artifact
uses: actions/upload-artifact@v4
with:
name: futo-voice-input-moonshine-apk
path: release/*.apk
- name: Create GitHub Release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
name: FUTO Voice Input Moonshine ${{ github.ref_name }}
body: |
Offline Moonshine streaming release of the FUTO Voice Input fork, with Parakeet and Whisper retained as selectable backends.
Models download on first use or from Model Options, keeping the APK smaller while preserving offline transcription after installation.
The Parakeet integration and repository changes in this fork were built with AI assistance using Codex (GPT-5).
files: release/*.apk
generate_release_notes: true
prerelease: ${{ contains(github.ref_name, '-beta') }}