817a4ac1c9
Android app that detects personal item-trackers (AirTag, Tile, Samsung SmartTag, Google Find My Device / DULT) following the user over time. Sibling to OVERWATCH: OVERWATCH is spatial, VIGIL is temporal. - BLE scan + per-ecosystem wire-format parsing (Apple 0x004C/0x12, FMDN 0xFEAA, Samsung 0xFD5A, Tile 0xFEED/FEEC, DULT 0xFCB2) - Room temporal store (14-day sightings), co-movement evaluator with RSSI proximity gate - Allowlist + learned offline baseline (auto-trust household tags) - Foreground service, Compose UI (Catppuccin Mocha) - Privacy: NO INTERNET permission — fully on-device - Reuses OVERWATCH Gradle setup + committed debug keystore - docs/detection-rotation-clone.md: design for the rotation-clone presence engine (#1) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0187UiEtasyowhEBYs6s9iF5
51 lines
1.2 KiB
YAML
51 lines
1.2 KiB
YAML
name: Build APK
|
|
|
|
# Builds a debug APK on every push/PR (CI compile check) and attaches an APK to
|
|
# a GitHub Release on version tags (v*). The committed debug keystore means CI
|
|
# and local builds sign identically, so updates install in place.
|
|
on:
|
|
push:
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up JDK 17
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: '17'
|
|
|
|
- name: Set up Android SDK
|
|
uses: android-actions/setup-android@v3
|
|
|
|
- name: Build debug APK
|
|
run: |
|
|
chmod +x ./gradlew
|
|
./gradlew :app:assembleDebug --stacktrace --no-daemon
|
|
|
|
- name: Stage APK
|
|
run: |
|
|
mkdir -p out
|
|
cp app/build/outputs/apk/debug/app-debug.apk "out/VIGIL-debug.apk"
|
|
|
|
- name: Upload APK artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: vigil-apk
|
|
path: out/*.apk
|
|
|
|
- name: Publish Release
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: out/*.apk
|
|
generate_release_notes: true
|