发布新版本工作流
SkillDev tools发布新版本的工作流 (Workflow for releasing a new version)
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the 发布新版本工作流 skill
What this skill tells your AI
The instructions your AI receives, as published by open-guji/luatex-cn in .claude/skills/release_process/SKILL.md and read by ahel’s review.
当准备好发布新版本(如 v0.4.0)时,请严格遵循以下质量检查和发布流程。
核心时序:CTAN 包会内嵌 文档/luatex-cn-wiki-{zh,en}.pdf,而 CI 在 push tag
时立即打包。因此 Wiki 更新与 Wiki PDF 再生成必须发生在打 tag 之前,且 PDF
要并入发布准备 PR 一起合并——否则 Release 会带上旧版 Wiki PDF(race)。
整体顺序:
- 质量保证 → 2. 生成发布准备 PR → 3. 更新 Wiki(按 PR 已合并的状态编写) → 4. 基于 Wiki 生成 PDF 并加入同一 PR → 5. 合并 PR → 6. 打 tag,CI 自动发布
1. 质量保证 (Quality Assurance)
// turbo
- 运行回归测试:确保视觉表现没有退化。必须使用
--all参数运行所有 suite。python3 test/regression_test.py check --all// turbo - 运行核心测试:运行所有单元测试和集成测试。
l3build check
2. 生成发布准备 PR (Release-Prep PR)
- 确保
VERSION文件已更新为目标版本号 - 运行
texlua scripts/build/tag_version.lua同步所有.sty/.cls的版本号与日期 - 确保
README.md和README-EN.md中的版本号已更新 - 确保
CHANGELOG.md已根据/update_changelog工作流完成总结, 并把[未发布]定版为[X.Y.Z] - YYYY-MM-DD - 可使用
/prepare-next-version技能自动更新上述文件 // turbo - 打包验证(必须执行):
texlua build.lua ctan检查生成的luatex-cn-v<version>.zip(即上传 CTAN 的文件,CI 也用同一份):- 解包后顶层是唯一目录
luatex-cn/,其下为README.md+tex/+doc/(CTAN 硬性要求:README.md 必须在顶层,不能只放在doc/下) - 包含所有必需文件、无中文文件名残留
(新增示例需在
build.lua的translation_map补映射)
- 解包后顶层是唯一目录
- 从 main 切出
release/vX.Y.Z分支,提交以上改动,push 并创建发布准备 PR。 此时先不要合并——等 Wiki PDF(第 4 步)加入后一起合并
3. 更新 Wiki (Wiki Update)
- 使用
/update_wiki技能更新项目 Wiki(Wiki 是独立的.wiki.git仓库, 可直接推送,不经 PR) - 以发布准备 PR 已合并后的状态为准编写内容:新版本号、CHANGELOG 条目、 新功能文档都按 PR 中的定稿写,不要写「未发布」字样
4. 生成 Wiki PDF 并加入 PR (Wiki PDF into the PR)
-
在发布准备分支上生成:
python3 文档/build_wiki_pdf.py生成的文件(连同
文档/wiki-pdf-stamp.json一并提交):文档/luatex-cn-wiki-zh.pdf(中文文档)文档/luatex-cn-wiki-en.pdf(英文文档)
-
提交到发布准备分支并 push,使 PDF 进入同一个发布准备 PR
-
本地缺 weasyprint 等依赖时,可在 Actions 页手动触发
wiki-pdf.ymlworkflow,把它产出的 PDF 更新合入发布准备分支(不要单独合入 main)
平时(非发布期)Wiki 有零散修订时,才用
wiki-pdf.yml的独立 PR 路径。
5. 合并发布准备 PR (Merge)
- 确认 PR 上的 CI(unit + regression)全绿后合并到 main
6. 打标签并由 CI 发布 (Tag & CI Release)
git checkout main
git pull origin main
git tag vX.Y.Z
git push origin vX.Y.Z
- GitHub Release 会由 GitHub Actions(
build.yml,tag 触发)自动创建, 不要手动创建 Release。CI 会:- 构建 CTAN 包(此时已含新 Wiki PDF)并推送 ctan 分支
- 基于标签创建 Release 页面、附带 CHANGELOG 内容、上传构建产物
- 确认 Actions 运行成功即可
7. 发布后 (Post-release)
- 若仓库仍维护 dev 分支,把 main 同步回 dev:
git checkout dev && git merge main && git push origin dev - 可用
/prepare-next-version开启下一个补丁版本的[未发布]段
Signals
- GitHub stars
- 105
- Forks
- 10
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
release-process-open-guji- Source
- github.com/open-guji/luatex-cn