- Rename mobile app directory to client throughout the project - Restructure client app code into feature-based organization - Move code to src/features/workspaces/domain/presentation - Move services to src/integrations/ (mattermost, workspace, proto_socket) - Add app bootstrap and main entry point - Add push notification integration (Mattermost push client/host/plugin) - Add proto socket integration for real-time communication - Add integration tests for push and socket components - Archive old milestone: client-integration-standardization.md - Add new workflow core milestone: roadmap-driven-agent-ops-automation.md - Update agent-ops rules (project, core, mobile, contracts, workspace-ops) - Update roadmap files (ROADMAP.md, current.md, phase PHASE.md files) - Update bin scripts (build, dev, lint, test) - Add test environments documentation - Update contracts notes for Flutter Core API
70 lines
2.6 KiB
Markdown
70 lines
2.6 KiB
Markdown
# Shared Test Environments
|
|
|
|
NomadCode milestones can reference this document when a verification step needs a shared machine or platform SDK that is not expected to exist in every agent workspace.
|
|
|
|
## Android SDK Remote Runner
|
|
|
|
Use the Toki Labs host for Android SDK dependent checks.
|
|
|
|
### Access
|
|
|
|
```bash
|
|
ssh toki@toki-labs.com
|
|
```
|
|
|
|
After connecting, use the NomadCode checkout prepared on that host. If the checkout is under the same workspace convention as local agent workspaces, start here:
|
|
|
|
```bash
|
|
cd /config/workspace/nomadcode
|
|
```
|
|
|
|
If that path is absent, use the active NomadCode checkout on the host and make sure it is on the branch or commit that contains the change being verified.
|
|
|
|
### Environment Check
|
|
|
|
Run these before Android-specific verification:
|
|
|
|
```bash
|
|
flutter doctor -v
|
|
echo "$ANDROID_HOME"
|
|
echo "$ANDROID_SDK_ROOT"
|
|
flutter devices
|
|
```
|
|
|
|
`flutter doctor -v` should show an Android toolchain with an installed SDK. `flutter devices` is allowed to show no physical device when the check only needs a build. A device or emulator is required only for an interactive smoke run.
|
|
|
|
### Standard Checks
|
|
|
|
For Android SDK dependent client milestones, run from the Flutter host:
|
|
|
|
```bash
|
|
cd apps/client
|
|
flutter pub get
|
|
flutter build apk --debug
|
|
```
|
|
|
|
`flutter build apk --debug` is the default Android SDK validation for roadmap completion when no device smoke is explicitly required. It verifies Gradle, Android SDK, plugin registration, Firebase Android config wiring, and Dart bootstrap compilation for Android.
|
|
|
|
Generic Dart/widget checks such as `flutter test` and `flutter analyze --no-fatal-infos` may be run locally or on the remote host when the milestone explicitly asks for them. Do not treat the remote host as the source of truth for non-Android SDK checks unless its Flutter SDK version is part of the milestone evidence.
|
|
|
|
### Optional Device Smoke
|
|
|
|
Run this only when the milestone asks for an Android runtime smoke or notification/device behavior:
|
|
|
|
```bash
|
|
cd apps/client
|
|
flutter devices
|
|
flutter run -d <device-id>
|
|
```
|
|
|
|
For Mattermost push work, confirm the app boots, Firebase initialization does not crash, and notification navigation callbacks remain observable. Do not record tokens, credentials, signing keys, or private server values in roadmap or docs.
|
|
|
|
### Roadmap Evidence
|
|
|
|
When a milestone depends on this environment, leave only a short evidence note in the milestone, for example:
|
|
|
|
```text
|
|
Android SDK check: see docs/test-environments.md#android-sdk-remote-runner; flutter build apk --debug passed on toki@toki-labs.com.
|
|
```
|
|
|
|
Keep detailed reusable environment instructions in this document, not in individual milestone files.
|