feat(app): scaffold the app and split ci by project - #175
Merged
Merged
Conversation
prod keeps the old identity (applicationId, AUMID, single-instance mutex) so it upgrades the old install; dev differs in every item and refuses the old app's data locations. Tests cannot reach the network.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
內容
M1 PR 2:
app/骨架與 CI 分流(.trellis/tasks/archive/2026-09/09-29-app-skeleton/prd.md)。新專案
app/:Flutter 3.47.5,dev/prod 兩個 flavor,default-flavor: dev。applicationIdcom.personal.fmpcom.personal.fmp.devcom.personal.fmpcom.personal.fmp.devLocal\FMP_MainInstanceLocal\FMP_MainInstance-dev資料目錄(ADR 0009):
userdata/,不用data/,因為它和 Flutter 自己的data/程式資源資料夾同名。擁有者已選定,ADR 0009 補了更正。零聯網兩道防線(ADR 0015 §決定 3):
livetag 預設跳過;HttpOverrides讓建立真實HttpClient直接失敗。flutter test --run-skipped --tags live:flutter test沒有--preset,ADR 0015 已補更正。CI:
dorny/paths-filter依專案分流,舊 job 的步驟不變;appjob(format、analyze、test)與CI Result彙總 job。app/AGENTS.md(繁中):寫身分表、零聯網、material_ui的 import 路徑與驗證指令。根目錄 AGENTS.md 的地圖加上app/。Trellis 兩個本機 agent 檔:format 與 analyze 指令依 package 分流。
orca.yaml:加一行flutter pub get --directory app。改動後 Orca 的信任會失效,要在 GUI 重新選 Always trust。Windows flavor、
material_ui、path_provider 等官方文件的出處:.trellis/tasks/archive/2026-09/09-29-app-skeleton/research/notes.md。Review 指南
ci.yml:舊 job 只多了needs/if。彙總 job 只接受success/skipped。cmake -P真的執行app_identity.cmake;build.gradle.kts,並附雙向變異案例。release.yml都沒動。根目錄analysis_options.yaml排除了app/**:舊 CI 不會對app/跑pub get,不排除會誤報。驗證
app/:flutter analyze都乾淨;flutter test39 過、1 跳過(live);--run-skipped --tags live被第二道防線擋下。flutter analyze乾淨,flutter test --exclude-tags live1849 條全過。com.personal.fmp),被拒為降級,這證明兩者身分相同。protect-mainruleset 把CI Result設為必要檢查。