Graduate Flutter runtime lifecycle

This commit is contained in:
Meta Vens 2026-07-10 16:53:46 +01:00
commit 6830096e7a
3 changed files with 58 additions and 19 deletions

40
.github/workflows/runtime.yml vendored Normal file
View file

@ -0,0 +1,40 @@
name: EveFlutter runtime
on:
push:
workflow_dispatch:
permissions:
contents: read
jobs:
analyze-test-capture:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Install Flutter stable
shell: bash
run: |
git clone --depth 1 --branch stable https://github.com/flutter/flutter.git "$RUNNER_TEMP/flutter"
echo "$RUNNER_TEMP/flutter/bin" >> "$GITHUB_PATH"
- name: Resolve dependencies
run: flutter pub get
- name: Analyze
run: flutter analyze lib test
- name: Test responsive runtime captures
run: flutter test
- name: Verify lifecycle
shell: pwsh
run: .\scripts\run-eveflutter-lifecycle-smoke.ps1 -SkipAnalyze
- name: Upload golden captures
uses: actions/upload-artifact@v7
with:
name: eveflutter-captures-${{ github.sha }}
path: test/goldens/*.png
if-no-files-found: error

View file

@ -5,6 +5,10 @@ Flutter projection, provider selection, command-intent construction, platform
build glue, tests, and captures. Providers retain state and command authority; build glue, tests, and captures. Providers retain state and command authority;
plugins retain domain semantics. plugins retain domain semantics.
The `eveflutter-v1.0.0` release is owner-built. CI analyzes the runtime, runs
the responsive capture suite, verifies lifecycle evidence, and publishes the
committed golden captures as a commit-keyed artifact.
Current smoke target: Current smoke target:
- `CultUiInspectorSurface` - `CultUiInspectorSurface`

View file

@ -11,14 +11,13 @@
], ],
"release": { "release": {
"ownerRepo": "EveFlutter", "ownerRepo": "EveFlutter",
"status": "incubating-flutter-app", "status": "tagged-owner-release",
"evidencePaths": [ "evidencePaths": [
"pubspec.yaml", "pubspec.yaml",
"README.md" "README.md",
".github/workflows/runtime.yml"
], ],
"pendingProofs": [ "pendingProofs": []
"Tagged EveFlutter release is cut from EveFlutter rather than Eve incubation."
]
}, },
"test": { "test": {
"ownerRepo": "EveFlutter", "ownerRepo": "EveFlutter",
@ -30,27 +29,23 @@
"evidencePaths": [ "evidencePaths": [
"lib/main.dart", "lib/main.dart",
"test/parity_smoke_test.dart", "test/parity_smoke_test.dart",
"scripts/run-eveflutter-conformance-consumer-smoke.ps1" "scripts/run-eveflutter-conformance-consumer-smoke.ps1",
".github/workflows/runtime.yml"
], ],
"pendingProofs": [ "pendingProofs": []
"Tagged EveFlutter release runs owner-repo tests."
]
}, },
"capture": { "capture": {
"ownerRepo": "EveFlutter", "ownerRepo": "EveFlutter",
"status": "windows-linux-android-capture-smokes", "status": "owner-golden-and-native-capture-runners",
"evidencePaths": [ "evidencePaths": [
"scripts/capture-flutter-parity.ps1", "scripts/capture-flutter-parity.ps1",
"scripts/capture-linux-flutter-parity.ps1", "scripts/capture-linux-flutter-parity.ps1",
"scripts/capture-android-flutter-parity.ps1" "scripts/capture-android-flutter-parity.ps1",
"test/goldens/cultui-inspector-desktop.png",
"test/goldens/cultui-inspector-phone.png",
"test/goldens/cultui-inspector-tablet.png"
], ],
"pendingProofs": [ "pendingProofs": []
"Native capture witnesses are attached from EveFlutter on each supported platform."
]
}, },
"remainingSplitBlockers": [ "remainingSplitBlockers": []
"Tagged EveFlutter release is cut from EveFlutter rather than Eve incubation.",
"Tagged EveFlutter release runs owner-repo tests.",
"Native capture witnesses are attached from EveFlutter on each supported platform."
]
} }