ad81964398
Build APK / build (push) Waiting to run
- detect/PresenceEngine.kt: identity-agnostic streaming detector for key-rotating clones (novel-churn gate, seamless-handover chain, co-movement gate, coherence). Full design in docs/detection-rotation-clone.md. - Wired into ScanService as a parallel signal; CONFIRMED verdict raises a distinct rotating-tracker alert (softer tiers stay silent pending real-capture validation). - PresenceEngineTest: synthetic clone (moving -> CONFIRMED), stationary clone (gated), single real tracker + far-ambient (CLEAR). - CI now runs :app:testDebugUnitTest so the engine has behavioural verification, not just a compile check. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0187UiEtasyowhEBYs6s9iF5
55 lines
1.3 KiB
YAML
55 lines
1.3 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: Run unit tests
|
|
run: |
|
|
chmod +x ./gradlew
|
|
./gradlew :app:testDebugUnitTest --stacktrace --no-daemon
|
|
|
|
- name: Build debug APK
|
|
run: |
|
|
./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
|