release-workflow
SolidUse when creating a new release on main branch, tagging a version, or updating CHANGELOG before pushing a git tag
AI & Automation 22 stars
8 forks Updated today Apache-2.0
Install
Quality Score: 81/100
Stars 20%
Recency 20%
Frontmatter 20%
Documentation 15%
Issue Health 10%
License 10%
Description 5%
Skill Content
# Release Workflow
## Overview
发版流程:前置检查 → 确定新版本号 → 写入 CHANGELOG → 创建 tag 并推送。**只能在 main 分支执行**。
仓库只有**一套 tag**:平台与 CLI 共用同一条版本线,一个 `v*` tag 触发全部三个 workflow。
| Tag 前缀 | 用途 | CI 自动做的事 |
|----------|------|----------------|
| `v*`(如 `v0.7.1`)| 整个仓库发版(平台 + CLI) | ① 从 CHANGELOG 抽段落 → 创建 GitHub Release ② 构建并推送多架构 Docker 镜像到 GHCR ③ typecheck / test / 包内容校验 → 把 `a2wave` 包发到公共 npm(带 provenance,需 `NPM_TOKEN` 仓库 secret)|
因此 `package.json` 与 `apps/cli/package.json` 的 `version` **必须始终一致**,且都要与 tag 一致——两个 workflow 都会校验,不一致直接失败。
## When to Use
- 用户要求发版、打 tag、创建 release
- 需要更新 CHANGELOG 并推送新版本
- 关键词:发版、release、tag、changelog
## Core Workflow
```mermaid
flowchart LR
P[0. 前置检查] --> S[0.5 敏感 token 扫描]
S --> W[0.7 使用手册同步]
W --> A[1. 确定版本号]
A --> B[2. 写入 CHANGELOG]
B --> C[3. 创建 tag 并推送]
```
### 步骤 0:前置检查(必须全部通过)
- **main 分支**:`git branch --show-current` 必须为 `main`。若非 main,中止并提示 `git checkout main` 后再执行。
- **与远程同步**:在 main 分支时,必须先执行 `git pull origin main`(或 `git pull`)。若 pull 产生冲突或失败,中止并提示用户解决后再发版。pull 成功后再进行后续检查。
- **测试通过**:`pnpm test:all` 必须零失败。失败则中止。
- **工作区干净**:`git status` 无未提交变更。若有其它未提交文件,提示用户先 commit 再发版。
### 步骤 0.5:敏感 token / 凭据扫描(HARD GATE,禁止跳过)
发版会把整份代码 tag 化并(主版本)触发 GitHub Release,一旦泄露的 secret 进入 tag,撤回成本极高。**打 tag 前必须���将要发布的全量代码做一次密钥扫描**:
```bash
# 全仓扫描(不只是本次 diff)——发版是整棵树的快照,必须全量
node scripts/gates/check-forbidden-tokens.mjs --all
```
- 该脚本覆盖 PEM 私钥、Anthropic key(`sk-ant-*`)、AWS、通用高熵 token 等规则,allowlist 在 `scripts/gates/forbidden-tokens-allowlist.j...
Details
- Author
- LilithGames
- Repository
- LilithGames/a2wave
- Created
- 2 weeks ago
- Last Updated
- today
- Language
- TypeScript
- License
- Apache-2.0
Integrates with
Similar Skills
Semantically similar based on skill content — not just same category
AI & Automation Listed
gh-release
当用户要求"打 tag/发 Release/发布版本/GitHub Release"时触发。 用 gh CLI 创建 GitHub Release,配合 changelog 生成 notes。 这是 SDLC 的最后一步:archive-change 之后可选调用。
1 Updated 1 weeks ago
structure-projects Code & Development Listed
publish-release
当用户说发版/发布/release/publish/bump version/tag,或准备发布新版本时使用。自动检测 Git Flow(存在 develop)与 Trunk-based(无 develop)两种分支模型,走对应发版流程。
0 Updated yesterday
toRolex AI & Automation Listed
release
打 tag 发布版本:读取版本号与 CHANGELOG,打带注释的 git tag、推送到远程、创建 GitHub Release(含 Release notes 与构建产物如 vsix)。当用户输入 release / 打tag发布 / 发版 时触发。用户主动触发即授权完整流程(git tag -a + git push tag + gh release create),标准情况无需逐次确认;遇 tag 已存在等异常暂停询问;发布成功后删除本次构建的本地产物。
0 Updated 2 weeks ago
xhqing