用途:管理 OneKey App Shell 的 Bundle 发布流程。开发者从 release/* 分支拉出特性分支,PR 直接指向 release/*,发布后再通过 rebase 同步回 x 分支。
主要能力:提供 7 个子命令——checkout(开始特性开发)、prepare(触发 CI 前设置 BUILD_NUMBER)、pr(创建指向 release/* 的 PR)、diff-check(发布前快速变更集审查)、audit(发布前完整安全与供应链审计)、publish(记录发布到 RELEASES.json)、sync(发布后 rebase 到 x)。
使用方式:以 /1k-bundle-release 加子命令名或编号调用,如 /1k-bundle-release checkout feat/my-fix、/1k-bundle-release prepare、/1k-bundle-release pr、/1k-bundle-release diff-check、/1k-bundle-release audit、/1k-bundle-release publish、/1k-bundle-release sync。无参数时显示编号速查表。各步骤可顺序执行,也可独立运行。
分支检测:所有子命令共用检测逻辑,不直接读取 .env.version(x 上为下一版本,会得到错误分支名)。若当前在 release/v* 分支则直接使用;否则从远程查找最新 release 分支:
current_branch=$(git branch --show-current)
if [[ "$current_branch" == release/v* ]]; then
RELEASE_BRANCH="$current_branch"
else
git fetch origin
RELEASE_BRANCH=$(git branch -r | grep 'origin/release/v' | grep -v mock | sed 's|origin/||' | sort -V | tail -1 | tr -d ' ')
fi
if [[ -z "$RELEASE_BRANCH" ]]; then
echo "No release branch found on origin."
exit 1
fi
检测后需向用户确认:"Detected release branch: $RELEASE_BRANCH. Proceed? (y/n)",用户可手动指定其他分支。
关键文件:版本来源由当前分支或远程 release/v* 自动检测;发布跟踪文件为 release 分支根目录的 RELEASES.json,每条记录含 seq、commit SHA、日期、PR 列表和备注。
适用场景:OneKey 仓库中需要按 release 分支流程发布 Bundle 的开发者。
限制:资料未提供具体平台、收费、价格或效果信息;子命令详细规则位于各 references/rules/*.md 文件中,本资料未展开。