一键导入
ember-release
准备、校验、提交并执行 Ember 稳定版本发布。用于在 Ember 仓库中准备新版本、执行上线前检查、更新 Release Notes 或 Docker 镜像 Tag、创建和推送签名版本 Tag,以及检查 GitHub Actions 和 Draft Release。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
准备、校验、提交并执行 Ember 稳定版本发布。用于在 Ember 仓库中准备新版本、执行上线前检查、更新 Release Notes 或 Docker 镜像 Tag、创建和推送签名版本 Tag,以及检查 GitHub Actions 和 Draft Release。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | ember-release |
| description | 准备、校验、提交并执行 Ember 稳定版本发布。用于在 Ember 仓库中准备新版本、执行上线前检查、更新 Release Notes 或 Docker 镜像 Tag、创建和推送签名版本 Tag,以及检查 GitHub Actions 和 Draft Release。 |
AGENTS.md 和 docs/runbooks/release-process.md,并以发布 runbook 作为流程事实来源。npm audit fix、依赖升级、数据库变更或无关清理。发现额外风险时单独报告。HEAD 和 origin/master 状态。vX.Y.Z、高于上一稳定版本,并且本地和远端都不存在同名 Tag。.agents/skills/ember-release/scripts/release_preflight.sh <version> prepare。git log --oneline <previous-tag>..HEAD 和 git diff --name-status <previous-tag>..HEAD 检查真实发布范围。出现以下任一情况时立即停止并报告:当前分支不是 master、工作区包含无关改动、本地与远端 master 不一致,或目标 Tag 已存在。
只更新发布 runbook 要求的版本入口:
infrastructure/docker/docker-compose.yml 中三个默认镜像 Tag:
EMBER_API_IMAGEEMBER_WEB_IMAGEEMBER_BOT_IMAGEdocs/releases/release-template.md 为结构基线,新增 docs/releases/<version>.md。docs/releases/README.md 中的稳定版本示例。<previous-tag>..HEAD 的实际变化完全一致。https://github.com/konghanghang/ember/compare/<previous-tag>...<version>。禁止宣称未经验证的兼容性。部署环境或外部系统行为证据不足时,必须明确标记“未验证”或“未证实”。
先执行:
.agents/skills/ember-release/scripts/release_preflight.sh <version> materials
然后执行以下项目检查。
API:
cd services/api
go test ./...
go vet ./...
go build ./...
Web:
cd services/web
npm ci
npm run test
npm run build
如果全局 npm cache 存在所有权问题,改用 npm ci --cache /tmp/ember-npm-cache,禁止使用 sudo,也不要修改全局目录所有权。必要时可以运行 npm audit --omit=dev 作为风险检查,但禁止在发布提交中自动修复。
Bot:
cd services/bot
.venv/bin/pip install -r requirements.txt
.venv/bin/python -m py_compile main.py
.venv/bin/python -m pytest tests
必须使用仓库内的 .venv,禁止回退到系统 Python。使用占位配置通过 docker compose ... config --quiet 校验 Compose,禁止执行 up、start 或启动任何服务进程。
检查 master 和 pre_release 的最新 GitHub Actions。如果任务持续处于 queued,且没有 runner 和执行步骤,先检查 job 数据和 GitHub Status,禁止在没有证据时修改 workflow YAML。
汇总以下内容后询问用户是否提交:
只有用户明确同意提交后才能执行:
git diff --cached --name-status 和 git diff --cached --check。docs(release): 准备 <version> 发布材料;仓库历史存在更明确规范时按现有规范执行。除非用户明确要求,否则禁止推送提交。
同时满足以下条件后才能进入本阶段:
origin/master执行步骤:
.agents/skills/ember-release/scripts/release_preflight.sh <version> tag。git cat-file 检查上一版本 Tag 的类型和签名方式。git tag -s <version> -m "<version>"
git push origin <version>
git ls-remote --tags 检查远端 Tag 对象和解引用后的 commit。禁止使用 git push --tags。
Tag 推送后,持续监控以下 GitHub Actions,直到全部结束:
确认 API、Web、Bot 三个正式镜像工作流全部成功,并确认 GitHub Release 以 Draft 状态创建,Tag 和名称均正确。出现失败时,报告 run ID 和失败步骤,禁止自动发布 Draft。
gpg.ssh.allowedSignersFile 导致 SSH 签名信任验证失败,检查 commit 或 Tag 对象中的 gpgsig 或 SSH signature,并准确说明“签名存在但本机无法完成信任验证”。使用 scripts/release_preflight.sh 执行确定性的仓库状态检查:
.agents/skills/ember-release/scripts/release_preflight.sh v1.6.5 prepare
.agents/skills/ember-release/scripts/release_preflight.sh v1.6.5 materials
.agents/skills/ember-release/scripts/release_preflight.sh v1.6.5 tag
该脚本只读取仓库和远端 Tag 状态,不修改文件、不创建 commit、不创建 Tag,也不推送任何 Git ref。