50081d5417
Connects to svc-gw over one WebSocket, heartbeats, treats timeout_ms of silence as a dead link, and retries commands under the same id until acked. Shows link state, signals with stale/null/missing told apart, the raw stream, a mock banner on the surface, and a Mark button that stamps the recording. Android: keeps the screen on and binds the process to the USB NCM network when the gateway is on it. CI mirrors android-stuff's host-mode runner setup. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
64 lines
1.5 KiB
YAML
64 lines
1.5 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
paths:
|
|
- 'lib/**'
|
|
- 'test/**'
|
|
- 'android/**'
|
|
- 'pubspec.yaml'
|
|
- 'pubspec.lock'
|
|
- '.gitea/workflows/**'
|
|
pull_request:
|
|
branches: [ master ]
|
|
workflow_dispatch:
|
|
|
|
# Same self-hosted runner shape as android-stuff (halogen, host mode, label
|
|
# flutter-android): the toolchain on the host is the one that verified the
|
|
# release, and nothing installs per run. Host mode is also what keeps Gradle and
|
|
# pub caches warm between runs.
|
|
|
|
jobs:
|
|
analyze:
|
|
name: Analyze & Test
|
|
runs-on: flutter-android
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Toolchain
|
|
run: |
|
|
flutter --version
|
|
echo "ANDROID_HOME=${ANDROID_HOME:?not set on this runner}"
|
|
flutter-android-preflight .
|
|
|
|
- name: Get dependencies
|
|
run: flutter pub get
|
|
|
|
- name: Analyze
|
|
run: flutter analyze
|
|
|
|
- name: Test
|
|
run: flutter test
|
|
|
|
apk:
|
|
name: Debug APK
|
|
runs-on: flutter-android
|
|
needs: [analyze]
|
|
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Get dependencies
|
|
run: flutter pub get
|
|
|
|
# Debug-signed: this is a side-loaded in-car display, not a store release.
|
|
- name: Build APK
|
|
run: flutter build apk --debug
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: yukart-display-debug-apk
|
|
path: build/app/outputs/flutter-apk/app-debug.apk
|
|
if-no-files-found: error
|