Files
Gearslip/.github/workflows/release.yml
T
Seb3thehacker e314aa8546 Voice replies, on-device speech, message cards and 0.1.0-alpha
Gearslip now reads messages aloud and takes replies by voice. It asks
whether to reply, reads the reply back and sends it after a countdown.
Say "cancel" or "change it" to stop or redo it, or tap a quick reply.

Speech-to-text runs on the phone with whisper.cpp and a small Whisper
model, so voice works without Google services. The model ships in the
repo, so a fresh clone builds with nothing to download.

New messages show as one card at the top right, with a bar counting
down to when it closes or sends.

Other changes:
- Steering wheel buttons, knobs and D-pads drive the car screen.
- Smoother car audio: chunks wait for the car instead of dropping.
- Sharper, more responsive video.
- The Gearslip switch in Settings now stops it taking the USB
  connection.
- Apps that refuse Gearslip say so instead of loading forever.
- The phone asks for notification permission.
- The home screen stays upright.
- The car screen shows what's new after an update.
2026-10-01 00:03:53 -07:00

49 lines
1.3 KiB
YAML

name: Release
on:
push:
tags:
- "v*"
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "21"
- uses: gradle/actions/setup-gradle@v4
- name: Write signing key and properties
run: |
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > gearslip-release.jks
cat > keystore.properties <<EOF
storeFile=gearslip-release.jks
storePassword=${{ secrets.KEYSTORE_STORE_PASSWORD }}
keyAlias=${{ secrets.KEYSTORE_KEY_ALIAS }}
keyPassword=${{ secrets.KEYSTORE_KEY_PASSWORD }}
EOF
- name: Build release APK
run: ./gradlew :gearslip:assembleRelease
- name: Locate APK
id: apk
run: |
# The build moves its APKs to <root>/build/Gearslip-<variant>.apk (see renameApk).
apk=build/Gearslip-release.apk
test -f "$apk" || { echo "no APK at $apk"; ls -R build | head -50; exit 1; }
echo "path=$apk" >> "$GITHUB_OUTPUT"
- name: Create release
uses: softprops/action-gh-release@v2
with:
files: ${{ steps.apk.outputs.path }}
generate_release_notes: true