docs(skills): align release modes with implementation
This commit is contained in:
parent
bb8bf67a29
commit
6d7de75230
|
|
@ -20,7 +20,7 @@ Important notes:
|
|||
- `mainHash` is still regenerated automatically, but it is **not** the OTA compatibility switch anymore. Do not use it as the release decision point.
|
||||
- `runtimeVersion` in `apps/desktop/package.json` is the desktop OTA compatibility key. `apps/desktop/scripts/apply-release-config.impl.ts` writes it during bump.
|
||||
- This skill covers the normal `build` and `ota` desktop release flow.
|
||||
- `binary-policy` exists in `apps/desktop/release-plan.json`, and the current `tag.yml` automation dispatches a standalone desktop metadata-only publish path.
|
||||
- Do not recommend or write any other mode. The current implementation only supports `build` and `ota`.
|
||||
|
||||
## Pre-flight checks
|
||||
|
||||
|
|
@ -100,14 +100,9 @@ Use this decision table:
|
|||
For `ota`, you must choose:
|
||||
- `runtimeVersion`: the newest installed desktop binary version that this renderer update is compatible with
|
||||
- `channel`: usually `stable`
|
||||
- `distributions`: any desktop distributions that should receive policy metadata alongside the OTA release
|
||||
|
||||
If you are unsure whether a change is binary-compatible, prefer `build`.
|
||||
|
||||
- `binary-policy`
|
||||
Metadata-only policy release.
|
||||
Use this when the release should update desktop binary policy metadata without rebuilding installers.
|
||||
|
||||
Present the analysis to the user with:
|
||||
|
||||
- changed runtime-affecting files
|
||||
|
|
|
|||
|
|
@ -13,7 +13,8 @@ The skill must recommend one of these modes, explain why, ask the user to confir
|
|||
|
||||
- `store`: normal App Store / Google Play release
|
||||
- `ota`: OTA-only publish, no store builds
|
||||
- `store-policy`: metadata-only publish for `/policy`, no store builds
|
||||
|
||||
Do not recommend or write any other mode. The current implementation only supports `store` and `ota`.
|
||||
|
||||
The CI release flow is file-driven:
|
||||
|
||||
|
|
@ -80,16 +81,9 @@ The CI release flow is file-driven:
|
|||
- no native or runtime-affecting paths changed
|
||||
- the goal is to ship without store review
|
||||
|
||||
### Recommend `store-policy` only when:
|
||||
|
||||
- the user explicitly wants `/policy` to prompt or block older binaries
|
||||
- no new store binary should be built
|
||||
|
||||
Do not recommend `store-policy` by default for ordinary releases.
|
||||
|
||||
### Determine the target runtime
|
||||
|
||||
If recommending `ota` or `store-policy`, derive the target store binary version from recent `origin/mobile-main` releases and propose it as the `runtimeVersion`.
|
||||
If recommending `ota`, derive the target store binary version from recent `origin/mobile-main` releases and propose it as the `runtimeVersion`.
|
||||
|
||||
If you cannot determine the runtime confidently, stop and ask the user to confirm it.
|
||||
|
||||
|
|
@ -99,9 +93,8 @@ Present:
|
|||
|
||||
- the recommended mode
|
||||
- rationale based on changed files and commits
|
||||
- for `ota` or `store-policy`, the proposed `runtimeVersion`
|
||||
- for `ota` or `store-policy`, the proposed `channel`
|
||||
- for `store-policy`, whether `/policy` should block (`storeRequired=true`) or just prompt (`storeRequired=false`)
|
||||
- for `ota`, the proposed `runtimeVersion`
|
||||
- for `ota`, the proposed `channel`
|
||||
|
||||
Wait for explicit user confirmation before continuing.
|
||||
|
||||
|
|
@ -117,9 +110,7 @@ Examples:
|
|||
{
|
||||
"mode": "store",
|
||||
"runtimeVersion": null,
|
||||
"channel": null,
|
||||
"storeRequired": false,
|
||||
"message": null
|
||||
"channel": null
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -129,21 +120,7 @@ Examples:
|
|||
{
|
||||
"mode": "ota",
|
||||
"runtimeVersion": "0.4.1",
|
||||
"channel": "production",
|
||||
"storeRequired": false,
|
||||
"message": null
|
||||
}
|
||||
```
|
||||
|
||||
### Store policy release
|
||||
|
||||
```json
|
||||
{
|
||||
"mode": "store-policy",
|
||||
"runtimeVersion": "0.4.3",
|
||||
"channel": "production",
|
||||
"storeRequired": true,
|
||||
"message": "Install 0.4.3 from the store."
|
||||
"channel": "production"
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -196,7 +173,6 @@ Examples:
|
|||
- new version
|
||||
- final release mode
|
||||
- runtimeVersion and channel if present
|
||||
- storeRequired and message for `store-policy`
|
||||
- PR URL
|
||||
3. Summarize expected post-merge automation:
|
||||
|
||||
|
|
@ -214,12 +190,6 @@ Examples:
|
|||
- trigger OTA publish only
|
||||
- no store builds
|
||||
|
||||
### `mode=store-policy`
|
||||
|
||||
- create mobile tag
|
||||
- trigger metadata-only OTA publish
|
||||
- no store builds
|
||||
|
||||
## References
|
||||
|
||||
- Bump config: `apps/mobile/bump.config.ts`
|
||||
|
|
|
|||
Loading…
Reference in New Issue