feat(tester): require caller artifact locators instead of --release
Mobile runs now take --artifact android|ios=<path-or-url> from the caller and create a fresh isolated worktree each time. Drop CI release/manifest lookup.
This commit is contained in:
@@ -1,31 +1,21 @@
|
||||
# CI mobile test bundle
|
||||
# 移动产物准备
|
||||
|
||||
项目 CI 负责把 APK、IPA 和 `test-bundle.manifest.json` 发布到已有的 Release;tester skill 负责消费它。
|
||||
不要手工复制或安装产物。
|
||||
|
||||
manifest 至少包含:
|
||||
|
||||
```json
|
||||
{
|
||||
"schema_version": 1,
|
||||
"release": "ci-07aa8f3",
|
||||
"commit": "<40-character-commit>",
|
||||
"artifacts": {
|
||||
"android": {"url": "<download-url>", "sha256": "<64-hex>", "package": "page.writes"},
|
||||
"ios": {"url": "<download-url>", "sha256": "<64-hex>", "bundle_id": "page.writes"}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
运行入口:
|
||||
调用方必须给出每个目标平台的产物位置:本地文件或可下载 URL。tester 不从
|
||||
CI release、builder 绑定或本机旧文件猜测产物。
|
||||
|
||||
```bash
|
||||
<skill-dir>/tester run --release ci-07aa8f3 --platform android,ios
|
||||
<skill-dir>/tester run \
|
||||
--artifact android=<path-or-url> \
|
||||
--artifact ios=<path-or-url> \
|
||||
--platform android,ios
|
||||
```
|
||||
|
||||
默认先完成 Android+iOS 双平台 preflight;任一平台无法自动准备时整轮停止。只有显式加
|
||||
`--partial` 才允许运行可用平台。每个平台都必须在自己的 `tester.<platform>` 节点下载、校验、
|
||||
解包、验证身份并安装,随后由现有 tester catalog 驱动真实移动 session。
|
||||
URL 就下载,本地文件就直接用。每个平台都在自己的 `tester.<platform>` 节点校验身份并安装,
|
||||
随后由现有 tester catalog 驱动真实移动 session。默认先完成 Android+iOS 双平台
|
||||
preflight;任一平台无法准备时整轮停止。只有显式加 `--partial` 才允许运行可用平台。
|
||||
|
||||
运行记录写入目标项目 `.pouch/tester/runs/`,包含 manifest、sha256、身份、实际 worktree commit、
|
||||
节点、安装证据和 terminal 生命周期;`automatic-repair-failed` 与产品测试失败分开记录。
|
||||
每轮另外创建隔离 Git worktree,不切用户当前分支。`--commit` 缺省为当前 HEAD。
|
||||
|
||||
运行记录写入目标项目 `.pouch/tester/runs/`,包含产物位置、sha256、身份、实际
|
||||
worktree commit、节点、安装证据和 terminal 生命周期;`automatic-repair-failed`
|
||||
与产品测试失败分开记录。
|
||||
|
||||
Reference in New Issue
Block a user